fixed bug, added new debs and tarball
[comic-widget] / src / usr / lib / hildon-desktop / comicwidget.py
index 905ce16..5838299 100644 (file)
@@ -943,6 +943,7 @@ class ComicHomePlugin(hildondesktop.HomePluginItem):
                comiclist = comics.keys()
                comiclist.sort()
                buttonlist = {}
+               self.connlist = {}
                for comicid in comiclist:
                        buttonlist[comicid] = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
                        print buttonlist[comicid].get_name()
@@ -955,10 +956,10 @@ class ComicHomePlugin(hildondesktop.HomePluginItem):
                                        break
                        if active:
                                buttonlist[comicid].set_text(comics[comicid]['name'] + " *", comicid + ": click to remove")
-                               buttonlist[comicid].connect("clicked", self.remove_comic)
+                               self.connlist[comicid] = buttonlist[comicid].connect("clicked", self.remove_comic)
                        else:
                                buttonlist[comicid].set_text(comics[comicid]['name'], comicid + ": click to add")
-                               buttonlist[comicid].connect("clicked", self.add_comic)
+                               self.connlist[comicid] = buttonlist[comicid].connect("clicked", self.add_comic)
                        dialog.vbox.pack_start(buttonlist[comicid], True, True, 0)
 
                
@@ -981,6 +982,8 @@ class ComicHomePlugin(hildondesktop.HomePluginItem):
                        dbw.writerow(self.active_comics)
                        dbf.close()
                widget.set_text(comics[comicid]['name'] + " *", comicid + ": click to remove")
+               widget.disconnect(self.connlist[comicid])
+               self.connlist[comicid] = widget.connect("clicked", self.remove_comic)
 
        def remove_comic(self, widget):
                print "remove " + widget.get_title()
@@ -999,6 +1002,8 @@ class ComicHomePlugin(hildondesktop.HomePluginItem):
                        dbw.writerow(self.active_comics)
                        dbf.close()
                widget.set_text(comics[comicid]['name'], comicid + ": click to add")
+               widget.disconnect(self.connlist[comicid])
+               self.connlist[comicid] = widget.connect("clicked", self.add_comic)
                
 hd_plugin_type = ComicHomePlugin