Implement setting edition for GTK version, moving zoom dialogs into configuration...
[wifihood] / wifiscanner / wifiview
index 4a6f83b..11a02d6 100755 (executable)
@@ -13,69 +13,6 @@ import wifimap.config
 import wifimap.view
 
 
-if hildon :
-
-    class ZoomDialog ( hildon.TouchSelector ) :
-
-        def __init__ ( self , widget ) :
-            hildon.TouchSelector.__init__( self )
-
-            zooms = gtk.ListStore(str)
-
-            active = index = 0
-            for zoom in range(8,19) :
-                iter = zooms.append()
-                zooms.set( iter , 0 , "%2d" % zoom )
-                if zoom == widget.conf.zoom :
-                    active = index
-                index += 1
-
-            column = self.append_text_column( zooms , True )
-            #renderer = gtk.CellRendererText()
-            #column = self.append_column( zooms , renderer )
-            #column.set_property('text-column', 0)
-
-            # NOTE : with text=True, we must use 1 instead of 0
-            self.set_active( 0 , active )
-
-else :
-
-    class ZoomDialog ( gtk.Dialog ) :
-
-        def __init__ ( self , widget ) :
-            gtk.Dialog.__init__( self , "Select zoom level",
-                                 None,
-                                 gtk.DIALOG_MODAL,
-                                 ( gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
-                                   gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT
-                                   )
-                                 )
-
-            zooms = gtk.ListStore(int)
-            combo = gtk.ComboBox( zooms )
-
-            for zoom in range(8,19) :
-                iter = zooms.append()
-                zooms.set( iter , 0 , zoom )
-                if zoom == widget.conf.zoom :
-                    combo.set_active_iter( iter )
-
-            cell = gtk.CellRendererText()
-            combo.pack_start(cell, True)
-            combo.add_attribute(cell, 'text', 0)
-
-            self.vbox.pack_start(combo , True, True, 0)
-
-            self.connect_object( "response", self.response , combo , widget )
-
-        def response ( self , combo , response  , widget ) :
-            if response == gtk.RESPONSE_ACCEPT :
-                item = combo.get_active_iter()
-                model = combo.get_model()
-                widget.SetZoom( model.get(item,0)[0] )
-            self.destroy()
-
-
 class AbstractMapWindow:
 
     def destroy(self, widget, data=None):
@@ -130,10 +67,6 @@ class AbstractMapWindow:
         self.size_x , self.size_y = map_size
         self.click_x , self.click_y = None , None
 
-    def zoomdialog ( self , widget ) :
-        dialog = ZoomDialog( widget )
-        dialog.show_all()
-
     def run(self):
         gtk.main()
 
@@ -156,7 +89,7 @@ if hildon :
             #                          hildon.BUTTON_ARRANGEMENT_VERTICAL,
             #                          "Zoom level", None)
             #zoomlevel.connect_object( "clicked", self.zoomstack, self.map )
-            selector = ZoomDialog( self.map )
+            selector = wifmap.config.ZoomDialog( self.map.conf )
             zoomlevel = hildon.PickerButton(gtk.HILDON_SIZE_AUTO,
                                           hildon.BUTTON_ARRANGEMENT_VERTICAL)
             zoomlevel.set_title( "Zoom" )
@@ -185,11 +118,15 @@ else :
             menubar = gtk.MenuBar()
 
             zoomlevel = gtk.MenuItem( label="Zoom level" )
-            zoomlevel.connect_object( "activate", self.zoomdialog, self.map )
+            zoomlevel.connect_object( "activate", self.zoomdialog, self.map.conf )
             menubar.append( zoomlevel )
 
             vbox.pack_start(menubar,True,True,5)
 
+        def zoomdialog ( self , config ) :
+            dialog = wifimap.config.ZoomDialog( config )
+            dialog.show_all()
+
 window = MapWindow()
 window.run()