altosui: Display block number while downloading flights. Track #51
[fw/altos] / altosui / AltosUI.java
index dcc0de600817aab22666705581ffe42afa8de996..a6742f2f360d04e47b3de019a18602fead237d19 100644 (file)
@@ -22,9 +22,10 @@ import java.awt.event.*;
 import javax.swing.*;
 import java.io.*;
 import java.util.concurrent.*;
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_1.*;
+import org.altusmetrum.altosuilib_1.*;
 
-public class AltosUI extends AltosFrame {
+public class AltosUI extends AltosUIFrame {
        public AltosVoice voice = new AltosVoice();
 
        public static boolean load_library(Frame frame) {
@@ -47,7 +48,7 @@ public class AltosUI extends AltosFrame {
                } catch (FileNotFoundException ee) {
                        JOptionPane.showMessageDialog(AltosUI.this,
                                                      ee.getMessage(),
-                                                     "Cannot open target device",
+                                                     String.format ("Cannot open %s", device.toShortString()),
                                                      JOptionPane.ERROR_MESSAGE);
                } catch (AltosSerialInUseException si) {
                        JOptionPane.showMessageDialog(AltosUI.this,
@@ -57,17 +58,17 @@ public class AltosUI extends AltosFrame {
                                                      JOptionPane.ERROR_MESSAGE);
                } catch (IOException ee) {
                        JOptionPane.showMessageDialog(AltosUI.this,
-                                                     device.toShortString(),
-                                                     "Unkonwn I/O error",
+                                                     String.format ("Unknown I/O error on %s", device.toShortString()),
+                                                     "Unknown I/O error",
                                                      JOptionPane.ERROR_MESSAGE);
                } catch (TimeoutException te) {
                        JOptionPane.showMessageDialog(this,
-                                                     device.toShortString(),
+                                                     String.format ("Timeout on %s", device.toShortString()),
                                                      "Timeout error",
                                                      JOptionPane.ERROR_MESSAGE);
                } catch (InterruptedException ie) {
                        JOptionPane.showMessageDialog(this,
-                                                     device.toShortString(),
+                                                     String.format("Interrupted %s", device.toShortString()),
                                                      "Interrupted exception",
                                                      JOptionPane.ERROR_MESSAGE);
                }
@@ -223,14 +224,6 @@ public class AltosUI extends AltosFrame {
                doLayout();
                validate();
 
-               setVisible(true);
-
-               Insets i = getInsets();
-               Dimension ps = rootPane.getPreferredSize();
-               ps.width += i.left + i.right;
-               ps.height += i.top + i.bottom;
-               setPreferredSize(ps);
-               setSize(ps);
                setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
                addWindowListener(new WindowAdapter() {
                        @Override
@@ -238,10 +231,15 @@ public class AltosUI extends AltosFrame {
                                System.exit(0);
                        }
                });
+
+               setLocationByPlatform(false);
+               
+               /* Insets aren't set before the window is visible */
+               setVisible(true);
        }
 
        private void ConnectToDevice() {
-               AltosDevice     device = AltosDeviceDialog.show(AltosUI.this,
+               AltosDevice     device = AltosDeviceUIDialog.show(AltosUI.this,
                                                                Altos.product_basestation);
 
                if (device != null)
@@ -551,7 +549,6 @@ public class AltosUI extends AltosFrame {
                /* Handle batch-mode */
                if (args.length == 0) {
                        AltosUI altosui = new AltosUI();
-                       altosui.setVisible(true);
 
                        java.util.List<AltosDevice> devices = AltosUSBDevice.list(Altos.product_basestation);
                        for (AltosDevice device : devices)