def CreatePanel(self): self.list = SelectableListCtrl(self) self.list.InsertColumn(0, 'Torrent') self.list.setResizeColumn(0) self.list.Bind(wx.EVT_LEFT_DCLICK, self.OnDoubleClick) self.list.SetMinSize((1, 80)) return self.list
class NewTorrentPanel(HomePanel): def __init__(self, parent): HomePanel.__init__(self, parent, 'Newest Torrents', LIST_BLUE) self.Layout() self.torrentdb = TorrentDBHandler.getInstance() session = Session.get_instance() session.add_observer(self.OnNotify, NTFY_TORRENTS, [NTFY_INSERT]) def CreatePanel(self): self.list = SelectableListCtrl(self) self.list.InsertColumn(0, 'Torrent') self.list.setResizeColumn(0) self.list.Bind(wx.EVT_LEFT_DCLICK, self.OnDoubleClick) self.list.SetMinSize((1, 80)) return self.list def OnNotify(self, subject, type, infohash): try: if self.IsShownOnScreen(): self.UpdateStats(infohash) except wx.PyDeadObjectError: pass def UpdateStats(self, infohash): def db_callback(): torrent = self.torrentdb.getTorrent(infohash, include_mypref=False) if torrent: self._UpdateStats(torrent) startWorker(None, db_callback, uId="NewTorrentPanel_UpdateStats") @forceWxThread def _UpdateStats(self, torrent): self.list.InsertStringItem(0, torrent['name']) size = self.list.GetItemCount() if size > 10: self.list.DeleteItem(size - 1) def OnDoubleClick(self, event): selected = self.list.GetFirstSelected() if selected != -1: selected_file = self.list.GetItemText(selected) self.guiutility.dosearch(selected_file)
class NewTorrentPanel(HomePanel): def __init__(self, parent): HomePanel.__init__(self, parent, 'Newest Torrents' , LIST_BLUE) self.Layout() self.torrentdb = TorrentDBHandler.getInstance() session = Session.get_instance() session.add_observer(self.OnNotify, NTFY_TORRENTS, [NTFY_INSERT]) def CreatePanel(self): self.list = SelectableListCtrl(self) self.list.InsertColumn(0, 'Torrent') self.list.setResizeColumn(0) self.list.Bind(wx.EVT_LEFT_DCLICK, self.OnDoubleClick) self.list.SetMinSize((1, 80)) return self.list def OnNotify(self, subject, type, infohash): try: if self.IsShownOnScreen(): self.UpdateStats(infohash) except wx.PyDeadObjectError: pass def UpdateStats(self, infohash): def db_callback(): torrent = self.torrentdb.getTorrent(infohash, include_mypref=False) if torrent: self._UpdateStats(torrent) startWorker(None, db_callback, uId ="NewTorrentPanel_UpdateStats") @forceWxThread def _UpdateStats(self, torrent): self.list.InsertStringItem(0, torrent['name']) size = self.list.GetItemCount() if size > 10: self.list.DeleteItem(size-1) def OnDoubleClick(self, event): selected = self.list.GetFirstSelected() if selected != -1: selected_file = self.list.GetItemText(selected) self.guiutility.dosearch(selected_file)