[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gpsd-commit-watch
Subject:    [Gpsd-commit-watch] r6885 - trunk
From:       esr at BerliOS <esr () mail ! berlios ! de>
Date:       2009-12-21 13:43:58
Message-ID: 200912211343.nBLDhwIX032349 () sheep ! berlios ! de
[Download RAW message or body]

Author: esr
Date: 2009-12-21 14:43:57 +0100 (Mon, 21 Dec 2009)
New Revision: 6885

Modified:
   trunk/xgps
Log:
Automatically turn on AIS display when we have an AIS source.


Modified: trunk/xgps
===================================================================
--- trunk/xgps	2009-12-21 13:12:51 UTC (rev 6884)
+++ trunk/xgps	2009-12-21 13:43:57 UTC (rev 6885)
@@ -198,7 +198,7 @@
                         if name in self.name_to_mmsi:
                             del self.name_to_mmsi[name]
                         self.store.remove(here)
-            except ValueError:	# Invalid TreeIters throw these
+            except (ValueError, KeyError):	# Invalid TreeIters throw these
                 pass
             return True
 
@@ -270,6 +270,7 @@
         self.deg_type = deg_type
         self.conversions = unit_adjustments()
         self.saved_mode = -1
+        self.ais_latch = False
   
         self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
         self.window.set_title("xgps")
@@ -281,8 +282,8 @@
 
         self.window.connect("destroy", lambda w: gtk.main_quit())
 
-        uimanager = gtk.UIManager()
-        self.accelgroup = uimanager.get_accel_group()
+        self.uimanager = gtk.UIManager()
+        self.accelgroup = self.uimanager.get_accel_group()
         self.window.add_accel_group(self.accelgroup)
         self.actiongroup = gtk.ActionGroup('xgps')
         self.actiongroup.add_actions(
@@ -309,8 +310,8 @@
              ('Metric', None, '_Metric', '<Control>m',
               'Metric Units', 2),
              ], 0, lambda a, v: self.set_units(['i', 'n', 'm'][a.get_current_value()]))
-        uimanager.insert_action_group(self.actiongroup, 0)
-        uimanager.add_ui_from_string('''
+        self.uimanager.insert_action_group(self.actiongroup, 0)
+        self.uimanager.add_ui_from_string('''
 <ui>
     <menubar name="MenuBar">
       <menu action="File">
@@ -330,11 +331,11 @@
     </menubar>
 </ui>
 ''')
-        uimanager.get_widget('/MenuBar/View/Skyview').set_active(True)
-        uimanager.get_widget('/MenuBar/View/Responses').set_active(True)
-        uimanager.get_widget('/MenuBar/View/GPS').set_active(True)
-        uimanager.get_widget('/MenuBar/View/AIS').set_active(True)
-        menubar = uimanager.get_widget('/MenuBar')
+        self.uimanager.get_widget('/MenuBar/View/Skyview').set_active(True)
+        self.uimanager.get_widget('/MenuBar/View/Responses').set_active(True)
+        self.uimanager.get_widget('/MenuBar/View/GPS').set_active(True)
+        self.uimanager.get_widget('/MenuBar/View/AIS').set_active(True)
+        menubar = self.uimanager.get_widget('/MenuBar')
         vbox.pack_start(menubar, False)
 
         self.satbox = gtk.HBox(False, 0)
@@ -398,7 +399,7 @@
 
         self.window.show_all()
         # Hide the AIS window util user selects it.
-        uimanager.get_widget('/MenuBar/View/AIS').set_active(False)
+        self.uimanager.get_widget('/MenuBar/View/AIS').set_active(False)
         self.aisbox.hide()
 
         self.view_name_to_widget = \
@@ -554,6 +555,10 @@
                 self.update_gpsdata(self.daemon.data)
             elif self.daemon.data["class"] == "AIS":
                 self.aisview.update(self.daemon.data)
+                if self.ais_latch == False:
+                    self.ais_latch = True
+                    self.uimanager.get_widget('/MenuBar/View/AIS').set_active(True)
+                    self.aisbox.show()
                     
         return True
 

_______________________________________________
Gpsd-commit-watch mailing list
Gpsd-commit-watch@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/gpsd-commit-watch
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic