+ # ********** Event handlers *************
+
+
+ # Most events happen on release, so I moved all of them into the same event handler.
+ def button_release(self, widget, event):
+ if event.type == gtk.gdk.BUTTON_RELEASE:
+ func = widget.get_name()
+ print "pressed: " + func
+ if func == 'up':
+ self.e_open.remove(self.comic_image)
+ self.imgvpos = self.imgvpos - 80
+ if self.imgvpos < 0:
+ self.imgvpos = 0
+ self.comic_image = self.get_resized_pixmap(self.db.get_comic(), self.imgvpos)
+ self.e_open.add(self.comic_image)
+ self.e_open.show_all()
+
+ elif func == 'down':
+ self.e_open.remove(self.comic_image)
+ self.imgvpos = self.imgvpos + 80
+ self.comic_image = self.get_resized_pixmap(self.db.get_comic(), self.imgvpos)
+ self.e_open.add(self.comic_image)
+ self.e_open.show_all()
+
+ elif func == 'next':
+ self.db.currentcomic -= 1
+ self.imgvpos = 0
+ self.e_open.remove(self.comic_image)
+ self.comic_image = self.get_resized_pixmap(self.db.get_comic(), self.imgvpos)
+ self.e_open.add(self.comic_image)
+ self.e_open.show_all()
+ self.e_goweb.remove(self.label)
+ titl = str(self.db.db[self.db.currentcomic]['title'])
+ if len(titl) > 18:
+ titl = titl[:15] + "..."
+ self.label.set_markup('<span size="12000" face="monospace"> <b>' + self.comicname + '</b> ' + str(self.db.db[self.db.currentcomic]['id']) + '\n ' + titl + '</span>')
+ self.e_goweb.add(self.label)
+ self.e_goweb.show_all()
+
+ elif func == 'prev':
+ self.db.currentcomic += 1
+ self.imgvpos = 0
+ self.e_open.remove(self.comic_image)
+ self.comic_image = self.get_resized_pixmap(self.db.get_comic(), self.imgvpos)
+ self.e_open.add(self.comic_image)
+ self.e_open.show_all()
+ self.e_goweb.remove(self.label)
+ titl = str(self.db.db[self.db.currentcomic]['title'])
+ if len(titl) > 18:
+ titl = titl[:15] + "..."
+ self.label.set_markup('<span size="12000" face="monospace"> <b>' + self.comicname + '</b> ' + str(self.db.db[self.db.currentcomic]['id']) + '\n ' + titl + '</span>')
+ self.e_goweb.add(self.label)
+ self.e_goweb.show_all()
+
+ elif func == 'switch':
+ self.keypointer = (self.keypointer + 1) % 2
+ self.imgvpos = 0
+ self.db = []
+ print "switching to " + self.keys[self.keypointer]
+ self.comicname = comics[self.keys[self.keypointer]]['name']
+ self.db = ComicDb(self.keys[self.keypointer])
+ self.e_goweb.remove(self.label)
+ titl = str(self.db.db[self.db.currentcomic]['title'])
+ if len(titl) > 18:
+ titl = titl[:15] + "..."
+ self.label.set_markup('<span size="12000" face="monospace"> <b>' + self.comicname + '</b> ' + str(self.db.db[self.db.currentcomic]['id']) + '\n ' + titl + '</span>')
+ self.e_goweb.add(self.label)
+ self.e_goweb.show_all()
+ self.e_open.remove(self.comic_image)
+ self.comic_image = self.get_resized_pixmap(self.db.get_comic(), self.imgvpos)
+ self.e_open.add(self.comic_image)
+ self.e_open.show_all()
+
+ else:
+ return False
+ self.draw(widget, "0")