X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidget.py;h=878c063e2c6993992139266ea99d18ea5804f9fb;hb=0fbb9ce4e10bb20ffc0078d666b8f0f58e9bfba2;hp=53bf2dfe05c569a91b2a1fb7b5baf1f2baa186e9;hpb=c759f5bae6f5f0486bf0226ea243cdb0b706877a;p=drlaunch diff --git a/src/widget.py b/src/widget.py index 53bf2df..878c063 100755 --- a/src/widget.py +++ b/src/widget.py @@ -65,16 +65,31 @@ class DrlaunchPlugin(IconGrid, HomePluginItem, FremantleRotation): HomePluginItem.__init__(self) FremantleRotation.__init__(self, 'DrlaunchPlugin') - launcher.init() - config.load() - self.setSize(config.getSize()) - self.reloadIcons() + self.winConfig=None self.set_settings(True) self.connect('show-settings', self.slot_show_settings) self.connect('long-press', self.signalLongpress) + self.connect('click', self.signalClick) + + def get_id(self): + """If this is called from the constructor then the program + core dumps """ + aid=self.get_applet_id() + + ret="%s" % aid + + return(ret) def do_realize(self): + #print "realize" + + launcher.init() + config.init(self.get_id()) + config.load() + self.setSize(config.getSize()) + self.reloadIcons() + screen=self.get_screen() self.set_colormap(screen.get_rgba_colormap()) self.set_app_paintable(True) @@ -82,7 +97,6 @@ class DrlaunchPlugin(IconGrid, HomePluginItem, FremantleRotation): HomePluginItem.do_realize(self) def on_orientation_changed(self, orientation): - print "orch:", orientation o=orientation[0] self.setMode(o) # self.queue_draw() @@ -91,37 +105,52 @@ class DrlaunchPlugin(IconGrid, HomePluginItem, FremantleRotation): IconGrid.do_expose_event(self, event) HomePluginItem.do_expose_event(self, event) - def do_buttonn_press_event(self, event): - print "press0" - def slot_show_settings(self, dt): - print "settings", dt + if self.winConfig!=None: + # Doesn't work + # self.winConfig.show_all() + return + s=WinConfig() s.show_all() s.connect('destroy', self.slotConfigDestroy) + self.winConfig=s def slotConfigDestroy(self, sender): - print "destroy", sender + self.winConfig=None + dt=sender.getData() - print "dt:", dt config.setSize(dt['size']) config.setApps(dt['apps']) + config.setIndiv(dt['indiv']) + config.setLongpress(dt['longpress']) config.save() # Resize widget self.setSize(dt['size']) self.reloadIcons() -# self.queue_draw() + self.queue_draw() + + def handle_click(self, sender, icon): + """ common handler for longpress and click """ + if icon.name!=None and icon.name!='': + launcher.launch(icon.name) def signalLongpress(self, sender, icon): - print "launch:", icon.name - launcher.launch(icon.name) + if config.getLongpress(): + self.handle_click(sender, icon) + + def signalClick(self, sender, icon): + if not config.getLongpress(): + self.handle_click(sender, icon) def resize(self): - w=(self.size * config.iconsize) + \ - (self.size * config.iconspace) - self.set_size_request(w, w) + w=(self.size[0] * config.iconsize) + \ + (self.size[0] * config.iconspace) + h=(self.size[1] * config.iconsize) + \ + (self.size[1] * config.iconspace) + self.set_size_request(w, h) def setSize(self, size): IconGrid.setSize(self, size)