Thread: SF.net SVN: fclient: [34] trunk/fclient/fclient_widgets/peer_widget.py
Status: Pre-Alpha
Brought to you by:
jurner
From: <jU...@us...> - 2007-11-02 08:28:16
|
Revision: 34 http://fclient.svn.sourceforge.net/fclient/?rev=34&view=rev Author: jUrner Date: 2007-11-02 01:28:13 -0700 (Fri, 02 Nov 2007) Log Message: ----------- continued implementig peers widget Modified Paths: -------------- trunk/fclient/fclient_widgets/peer_widget.py Modified: trunk/fclient/fclient_widgets/peer_widget.py =================================================================== --- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 08:27:25 UTC (rev 33) +++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 08:28:13 UTC (rev 34) @@ -1,4 +1,4 @@ -"""Sketch for a widget handling node peers +"""Sketch for a widget handling peer nodes """ @@ -29,20 +29,28 @@ # #*************************************************************************************************** class PeerWidget(QtGui.QTreeWidget): + """ + """ HeaderIndexStatus = 0 HeaderIndexName = 1 HeaderIndexLastConnected = 2 HeaderIndexNotes = 3 + + ShowPeersOpennet = 1 + ShowPeersDarknet = 2 + ShowPeersAll = ShowPeersOpennet | ShowPeersDarknet def __init__(self, parent, cfg=None): - + """ + """ self._cfg = cfg self._fcpClient = None self._fcpEvents = None self._isCreated = False self._peers = {} # identity --> item + self._showPeersFlags = self.ShowPeersAll QtGui.QWidget.__init__(self, parent) @@ -66,23 +74,49 @@ header.setResizeMode(header.ResizeToContents) header.setStretchLastSection(True) + self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) + self.connect( + self, + QtCore.SIGNAL('customContextMenuRequested(const QPoint&)'), + self.handleContextMenu + ) def showEvent(self, event): + """ + """ if not self._isCreated: self._isCreated = True self._cfg.connectFcpNode(self.handleClientConnected) - + ############################################################# + ## + ## handlers for tree events + ## + ############################################################# + def handleContextMenu(self, pt): + """ + """ + pt = self.viewport().mapToGlobal(pt) + m = QtGui.QMenu() + self.populateMenu(m) + m.exec_(pt) + + ############################################################# + ## + ## handlers for Fcp events + ## + ############################################################# def handleClientConnected(self, event, params): + """ + """ self._fcpEvents = ( - #(self._cfg.fcpClient.EventClientConnected, self.handleClientConnected), - (self._cfg.fcpClient.EventClientDisconnected, self.handleClientDisconnected), + (self._cfg.fcpClient.events.ClientDisconnected, self.handleClientDisconnected), - (self._cfg.fcpClient.EventPeer, self.handlePeer), - (self._cfg.fcpClient.EventEndListPeers, self.handleEndListPeers), - (self._cfg.fcpClient.EventPeerRemoved, self.handlePeerRemoved), - (self._cfg.fcpClient.EventUnknownNodeIdentifier, self.handleUnknownNodeIdentifier), + (self._cfg.fcpClient.events.Peer, self.handlePeer), + (self._cfg.fcpClient.events.EndListPeers, self.handleEndListPeers), + (self._cfg.fcpClient.events.PeerRemoved, self.handlePeerRemoved), + (self._cfg.fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier), ) # take care to not connect twice @@ -95,15 +129,16 @@ self._cfg.fcpClient.listPeers() - def handleClientDisconnected(self, event, params): - pass + """ + """ def handlePeer(self, event, params): - + """ + """ timeLastConnected = params.get('metadata.timeLastConnected', None) - timeLastConnected = self.timeToTimeDelta(timeLastConnected) + timeLastConnected = self.formatTimeDelta(timeLastConnected) identity = params['identity'] item = self._peers.get(identity, None) @@ -117,48 +152,226 @@ ] item = QtGui.QTreeWidgetItem(self, itemStrings) item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(identity)) - self._peers[identity] = item + self._peers[identity] = (item, params) # update item else: item.settext(self.HeaderIndexLastConnected, timeLastConnected) - - + self._peers[identity] = (item, params) + def handleEndListPeers(self, event, params): - pass + """ + """ - def handlePeerRemoved(self, peer): - pass + """ + """ def handleUnknownNodeIdentifier(self, params): - pass + """ + """ - - - def timeToTimeDelta(self, t): + ####################################################### + ## + ## methods + ## + ####################################################### + def close(self): + """Closes the widget + @note: make shure to call close when done with the widget + """ + # disconnect Fcp events + for event, observer in self._fcpEvents: + if not observer in event: + event -= observer + + + def formatTimeDelta(self, t): + """Formats a Fcp time as time delta relative to to now + @param t: (str) time to format + @return: (str) human readably formated time delta (something like 2.5m or 10.2d) or '' + """ + result = '' try: t = self._cfg.fcpClient.pythonTime(t) - except: - t = self.trUtf8('Unknown') + except: pass else: - if t == 0: - t = self.trUtf8('Never') - else: - t = numbers.format_time_delta(t, time.time()) - return t + if t > 0: + result = numbers.format_time_delta(t, time.time()) + return result - - + def identityFromItem(self, item): + """Returns the peer identity an item is associated to + @param item: treeItem + @return: (str) peer identity + """ v = item.data(0, QtCore.Qt.UserRole) return str(v.toString()) + def peers(self): + """Returns all currently known peers + @return: (dict) identity --> (treeItem, peer) + """ + return self._peers + + def populateMenu(self, menu): + """Populates a menu with peer actions + @return: (list) of all actions added to the menu + """ + actions = [] + + actions.append(ShowPeersMenu(menu, self)) + + return actions + + + def showPeers(self): + """Returns the current ShowPeers* flags set + @return: (int) flags + """ + return self._showPeersFlags + + + def setShowPeers(self, flags): + """Shows or hides peers + @param flags: (int) one or more ShowPeers* flags + @return: always None + """ + self.setUpdatesEnabled(False) + + for item, peer in self.peers().values(): + if peer['opennet'] == self._cfg.fcpClient.FcpTrue: + item.setHidden(not flags & self.ShowPeersOpennet) + else: + item.setHidden(not flags & self.ShowPeersDarknet) + + self.setUpdatesEnabled(True) + self._showPeersFlags = flags + +#************************************************************************************* +# menu actions +#************************************************************************************* +class ShowPeersMenu(QtGui.QMenu): + """ + """ + + def __init__(self, menu, tree): + """ + """ + QtGui.QMenu.__init__(self, menu) + self.setTitle(self.trUtf8('Show peers')) + menu.addMenu(self) + + self.tree = tree + + self.group = QtGui.QActionGroup(self) + self.group.setExclusive(True) + showPeers = ( + ('Darknet', self.trUtf8('Darknet'), ShowPeersDarknetAction), + ('Opennet', self.trUtf8('Opennet'), ShowPeersOpennetAction), + ('OpenAndDarknet', self.trUtf8('Open and darknet'), ShowOpenAndDarknetPeersAction), + ) + + for name, menuText, act in showPeers: + act = act(name, menuText, self.group, tree) + act.setCheckable(True) + self.group.addAction(act) + self.addAction(act) + + self.connect( + self, + QtCore.SIGNAL('aboutToShow()'), + self.handleAboutToShow + ) + + + def handleAboutToShow(self): + """ + """ + acts = { # flag --> actionName + self.tree.ShowPeersAll: 'OpenAndDarknet', + self.tree.ShowPeersOpennet: 'Opennet', + self.tree.ShowPeersDarknet:'Darknet', + } + + flags = self.tree.showPeers() + for flag, actionName in acts.items(): + if flags & flag == flags: + + for act in self.group.actions(): + if str(act.objectName()) == actionName: + act.setChecked(True) + break + else: + raise ValueError('No action [name] found ???') + break + else: + raise ValueError('No action [flag] found ???') + + +class ShowPeersDarknetAction(QtGui.QAction): + """ + """ + + def __init__(self, name, text, parent, tree): + """ + """ + QtGui.QAction.__init__(self, text, parent) + self.setObjectName(name) + + #self.setShortcuts( + # [QtGui.QKeySequence(self.trUtf8('Ctrl+A'))] + # ) + self.tree = tree + self.connect( + self, + QtCore.SIGNAL('triggered()'), + self.__call__ + ) + + + def __call__(self): + """ + """ + flags = self.tree.showPeers() + flags |= self.tree.ShowPeersDarknet + flags &= ~self.tree.ShowPeersOpennet + self.tree.setShowPeers(flags) + + +class ShowPeersOpennetAction(ShowPeersDarknetAction): + """ + """ + + def __call__(self): + """ + """ + flags = self.tree.showPeers() + flags &= ~self.tree.ShowPeersDarknet + flags |= self.tree.ShowPeersOpennet + self.tree.setShowPeers(flags) + + +class ShowOpenAndDarknetPeersAction(ShowPeersDarknetAction): + """ + """ + + def __call__(self): + """ + """ + flags = self.tree.showPeers() + flags |= self.tree.ShowPeersDarknet + flags |= self.tree.ShowPeersOpennet + self.tree.setShowPeers(flags) + + + '''######################################################## Sample Peer message >> Peer @@ -203,7 +416,14 @@ import sys app = QtGui.QApplication(sys.argv) - w = PeerWidget(None) + w = QtGui.QMainWindow() + peers = PeerWidget(None) + w.setCentralWidget(peers) + + m = w.menuBar() + m1 = m.addMenu('Peers') + peers.populateMenu(m1) + w.show() res = app.exec_() sys.exit(res) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2007-11-02 16:02:27
|
Revision: 38 http://fclient.svn.sourceforge.net/fclient/?rev=38&view=rev Author: jUrner Date: 2007-11-02 09:02:28 -0700 (Fri, 02 Nov 2007) Log Message: ----------- added peer notes handling Modified Paths: -------------- trunk/fclient/fclient_widgets/peer_widget.py Modified: trunk/fclient/fclient_widgets/peer_widget.py =================================================================== --- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 16:01:29 UTC (rev 37) +++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 16:02:28 UTC (rev 38) @@ -1,5 +1,8 @@ """Sketch for a widget handling peer nodes +Note: super slow currently. Have to experiment with multiple clients +to enable playing around with poll timeouts for individual clients + """ import os, sys @@ -14,7 +17,6 @@ import config -from fclient_lib import fcp from fclient_lib.pyex import numbers @@ -28,6 +30,30 @@ #*************************************************************************************************** # #*************************************************************************************************** +class PeerItem(QtGui.QTreeWidgetItem): + """ + """ + + def __init__(self, *args): + """ + """ + QtGui.QTreeWidgetItem.__init__(self, *args) + + self._peerData = None + + def peerData(self): + """ + """ + return self._peerData + + def setPeerData(self, peerData): + """ + """ + self._peerData = peerData + +#*************************************************************************************************** +# +#*************************************************************************************************** class PeerWidget(QtGui.QTreeWidget): """ """ @@ -117,6 +143,10 @@ (self._cfg.fcpClient.events.EndListPeers, self.handleEndListPeers), (self._cfg.fcpClient.events.PeerRemoved, self.handlePeerRemoved), (self._cfg.fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier), + + (self._cfg.fcpClient.events.PeerNote, self.handlePeerNote), + (self._cfg.fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes), + ) # take care to not connect twice @@ -150,20 +180,24 @@ timeLastConnected, '' ] - item = QtGui.QTreeWidgetItem(self, itemStrings) - item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(identity)) - self._peers[identity] = (item, params) + item = PeerItem(self, itemStrings) + self._peers[identity] = item # update item else: item.settext(self.HeaderIndexLastConnected, timeLastConnected) - self._peers[identity] = (item, params) + item.setPeerData(params) + + # get peer notes if possible + if params['opennet'] == self._cfg.fcpClient.FcpFalse: + self._cfg.fcpClient.listPeerNotes(identity) + def handleEndListPeers(self, event, params): """ """ - + def handlePeerRemoved(self, peer): """ @@ -174,6 +208,25 @@ """ """ + + def handlePeerNote(self, event, params): + """ + """ + identity = params['NodeIdentifier'] + item = self._peers.get(identity, None) + if item is None: + #TODO: shouldn' t happen + return + + if params['PeerNoteType'] == self._cfg.fcpClient.PeerNoteType.Private: + item.setText(self.HeaderIndexNotes, params['NoteText']) + + + def handleEndListPeerNotes(self, event, params): + """ + """ + + ####################################################### ## ## methods @@ -204,18 +257,9 @@ return result - def identityFromItem(self, item): - """Returns the peer identity an item is associated to - @param item: treeItem - @return: (str) peer identity - """ - v = item.data(0, QtCore.Qt.UserRole) - return str(v.toString()) - - def peers(self): """Returns all currently known peers - @return: (dict) identity --> (treeItem, peer) + @return: (dict) identity --> treeItem """ return self._peers @@ -245,8 +289,8 @@ """ self.setUpdatesEnabled(False) - for item, peer in self.peers().values(): - if peer['opennet'] == self._cfg.fcpClient.FcpTrue: + for item in self.peers().values(): + if item.peerData()['opennet'] == self._cfg.fcpClient.FcpTrue: item.setHidden(not flags & self.ShowPeersOpennet) else: item.setHidden(not flags & self.ShowPeersDarknet) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2007-11-04 17:29:46
|
Revision: 42 http://fclient.svn.sourceforge.net/fclient/?rev=42&view=rev Author: jUrner Date: 2007-11-04 09:29:50 -0800 (Sun, 04 Nov 2007) Log Message: ----------- new: FcPClient manager Modified Paths: -------------- trunk/fclient/fclient_widgets/peer_widget.py Modified: trunk/fclient/fclient_widgets/peer_widget.py =================================================================== --- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-04 17:29:34 UTC (rev 41) +++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-04 17:29:50 UTC (rev 42) @@ -1,8 +1,4 @@ """Sketch for a widget handling peer nodes - -Note: super slow currently. Have to experiment with multiple clients -to enable playing around with poll timeouts for individual clients - """ import os, sys @@ -54,6 +50,8 @@ #*************************************************************************************************** # #*************************************************************************************************** +#TODO: user should not be alowed to show / hide peers while we are listing them + class PeerWidget(QtGui.QTreeWidget): """ """ @@ -76,6 +74,7 @@ self._fcpEvents = None self._isCreated = False self._peers = {} # identity --> item + self._requestsPending = 0 self._showPeersFlags = self.ShowPeersAll QtGui.QWidget.__init__(self, parent) @@ -113,7 +112,7 @@ """ if not self._isCreated: self._isCreated = True - self._cfg.connectFcpNode(self.handleClientConnected) + self._fcpClient = self._cfg.fcpClientManager.newFcpClient('MeName', self.handleClientConnected) ############################################################# ## @@ -137,18 +136,17 @@ """ """ self._fcpEvents = ( - (self._cfg.fcpClient.events.ClientDisconnected, self.handleClientDisconnected), + (self._fcpClient.events.ClientDisconnected, self.handleClientDisconnected), - (self._cfg.fcpClient.events.Peer, self.handlePeer), - (self._cfg.fcpClient.events.EndListPeers, self.handleEndListPeers), - (self._cfg.fcpClient.events.PeerRemoved, self.handlePeerRemoved), - (self._cfg.fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier), + (self._fcpClient.events.Peer, self.handlePeer), + (self._fcpClient.events.EndListPeers, self.handleEndListPeers), + (self._fcpClient.events.PeerRemoved, self.handlePeerRemoved), + (self._fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier), - (self._cfg.fcpClient.events.PeerNote, self.handlePeerNote), - (self._cfg.fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes), + (self._fcpClient.events.PeerNote, self.handlePeerNote), + (self._fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes), ) - # take care to not connect twice for event, observer in self._fcpEvents: if not observer in event: @@ -156,8 +154,13 @@ self.clear() self._peers = {} - self._cfg.fcpClient.listPeers() + self._cfg.fcpClientManager.setPriority( + self._fcpClient.connectionName(), + pollPriority=self._cfg.fcpClientManager.priorities['Highest'] + ) + self._fcpClient.listPeers() + def handleClientDisconnected(self, event, params): """ @@ -189,14 +192,20 @@ item.setPeerData(params) # get peer notes if possible - if params['opennet'] == self._cfg.fcpClient.FcpFalse: - self._cfg.fcpClient.listPeerNotes(identity) - - + if params['opennet'] == self._fcpClient.FcpFalse: + self._requestsPending += 1 + self._fcpClient.listPeerNotes(identity) + def handleEndListPeers(self, event, params): """ """ + if self._requestsPending <= 0: + self._cfg.fcpClientManager.setPriority( + self._fcpClient.connectionName(), + pollPriority=self._cfg.fcpClientManager.priorities['Lowest'] + ) + def handlePeerRemoved(self, peer): @@ -218,15 +227,22 @@ #TODO: shouldn' t happen return - if params['PeerNoteType'] == self._cfg.fcpClient.PeerNoteType.Private: + if params['PeerNoteType'] == self._fcpClient.PeerNoteType.Private: item.setText(self.HeaderIndexNotes, params['NoteText']) def handleEndListPeerNotes(self, event, params): """ """ + self._requestsPending -= 1 + if self._requestsPending <= 0: + self._requestsPending = 0 + self._cfg.fcpClientManager.setPriority( + self._fcpClient.connectionName(), + pollPriority=self._cfg.fcpClientManager.priorities['Lowest'] + ) + - ####################################################### ## ## methods @@ -240,6 +256,8 @@ for event, observer in self._fcpEvents: if not observer in event: event -= observer + + self._cfg.fcpClientHandler.closeClient(self._fcpClient.connectionName()) def formatTimeDelta(self, t): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2007-11-05 12:42:26
|
Revision: 45 http://fclient.svn.sourceforge.net/fclient/?rev=45&view=rev Author: jUrner Date: 2007-11-05 04:42:27 -0800 (Mon, 05 Nov 2007) Log Message: ----------- added refresh action an some fixes Modified Paths: -------------- trunk/fclient/fclient_widgets/peer_widget.py Modified: trunk/fclient/fclient_widgets/peer_widget.py =================================================================== --- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-04 17:33:33 UTC (rev 44) +++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-05 12:42:27 UTC (rev 45) @@ -152,16 +152,12 @@ if not observer in event: event += observer - self.clear() - self._peers = {} + ## + self.listPeers() - self._cfg.fcpClientManager.setPriority( - self._fcpClient.connectionName(), - pollPriority=self._cfg.fcpClientManager.priorities['Highest'] - ) - self._fcpClient.listPeers() - + + def handleClientDisconnected(self, event, params): """ """ @@ -175,6 +171,7 @@ identity = params['identity'] item = self._peers.get(identity, None) + # add item if necessary if item is None: itemStrings = [ @@ -191,6 +188,13 @@ item.settext(self.HeaderIndexLastConnected, timeLastConnected) item.setPeerData(params) + # hide item if necessary + flags = self.showPeers() + if params['opennet'] == self._fcpClient.FcpTrue: + item.setHidden(not flags & self.ShowPeersOpennet) + else: + item.setHidden(not flags & self.ShowPeersDarknet) + # get peer notes if possible if params['opennet'] == self._fcpClient.FcpFalse: self._requestsPending += 1 @@ -267,14 +271,26 @@ """ result = '' try: - t = self._cfg.fcpClient.pythonTime(t) - except: pass + t = self._fcpClient.pythonTime(t) + except ValueError: pass else: if t > 0: result = numbers.format_time_delta(t, time.time()) return result + def listPeers(self): + self.clear() + self._peers = {} + + self._cfg.fcpClientManager.setPriority( + self._fcpClient.connectionName(), + pollPriority=self._cfg.fcpClientManager.priorities['Highest'] + ) + self._fcpClient.listPeers() + + + def peers(self): """Returns all currently known peers @return: (dict) identity --> treeItem @@ -290,6 +306,10 @@ actions.append(ShowPeersMenu(menu, self)) + act = RefreshAction('Refresh', self.trUtf8('Refresh'), menu, self) + menu.addAction(act) + actions.append(act) + return actions @@ -308,7 +328,7 @@ self.setUpdatesEnabled(False) for item in self.peers().values(): - if item.peerData()['opennet'] == self._cfg.fcpClient.FcpTrue: + if item.peerData()['opennet'] == self._fcpClient.FcpTrue: item.setHidden(not flags & self.ShowPeersOpennet) else: item.setHidden(not flags & self.ShowPeersDarknet) @@ -434,6 +454,35 @@ +class RefreshAction(QtGui.QAction): + """ + """ + + def __init__(self, name, text, parent, tree): + """ + """ + QtGui.QAction.__init__(self, text, parent) + self.setObjectName(name) + + #self.setShortcuts( + # [QtGui.QKeySequence(self.trUtf8('Ctrl+A'))] + # ) + self.tree = tree + self.connect( + self, + QtCore.SIGNAL('triggered()'), + self.__call__ + ) + + + def __call__(self): + """ + """ + self.tree.listPeers() + + + + '''######################################################## Sample Peer message >> Peer This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2007-11-06 12:38:46
|
Revision: 50 http://fclient.svn.sourceforge.net/fclient/?rev=50&view=rev Author: jUrner Date: 2007-11-06 04:38:50 -0800 (Tue, 06 Nov 2007) Log Message: ----------- added connectionName param Modified Paths: -------------- trunk/fclient/fclient_widgets/peer_widget.py Modified: trunk/fclient/fclient_widgets/peer_widget.py =================================================================== --- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-06 12:35:18 UTC (rev 49) +++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-06 12:38:50 UTC (rev 50) @@ -34,7 +34,6 @@ """ """ QtGui.QTreeWidgetItem.__init__(self, *args) - self._peerData = None def peerData(self): @@ -66,10 +65,15 @@ ShowPeersAll = ShowPeersOpennet | ShowPeersDarknet - def __init__(self, parent, cfg=None): + def __init__(self, + parent, + cfg=None + connectionName='', + ): """ """ - self._cfg = cfg + self._connectionName = connectionName + self._cfg = cfg if cfg is None else config.Config(self) self._fcpClient = None self._fcpEvents = None self._isCreated = False @@ -79,10 +83,6 @@ QtGui.QWidget.__init__(self, parent) - # setup config - if self._cfg is None: - self._cfg = config.Config(self) - # setup tree self.setUniformRowHeights(True) headerLabels = [ @@ -112,7 +112,7 @@ """ if not self._isCreated: self._isCreated = True - self._fcpClient = self._cfg.fcpClientManager.newClient('MeName', self.handleClientConnected) + self._fcpClient = self._cfg.fcpClientManager.newClient(self._connectionName, self.handleClientConnected) ############################################################# ## @@ -147,7 +147,7 @@ (self._fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes), ) - # take care to not connect twice + # take care not to connect twice for event, observer in self._fcpEvents: if not observer in event: event += observer @@ -155,9 +155,7 @@ ## self.listPeers() - - - + def handleClientDisconnected(self, event, params): """ """ @@ -210,8 +208,7 @@ pollPriority=self._cfg.fcpClientManager.priorities['Lowest'] ) - - + def handlePeerRemoved(self, peer): """ """ @@ -258,7 +255,7 @@ """ # disconnect Fcp events for event, observer in self._fcpEvents: - if not observer in event: + if observer in event: event -= observer self._cfg.fcpClientHandler.closeClient(self._fcpClient.connectionName()) @@ -528,7 +525,7 @@ app = QtGui.QApplication(sys.argv) w = QtGui.QMainWindow() - peers = PeerWidget(None) + peers = PeerWidget(None, connectionName='TestPeerWidget') w.setCentralWidget(peers) m = w.menuBar() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2007-11-07 17:35:03
|
Revision: 56 http://fclient.svn.sourceforge.net/fclient/?rev=56&view=rev Author: jUrner Date: 2007-11-07 09:35:00 -0800 (Wed, 07 Nov 2007) Log Message: ----------- config was broken - fixed Modified Paths: -------------- trunk/fclient/fclient_widgets/peer_widget.py Modified: trunk/fclient/fclient_widgets/peer_widget.py =================================================================== --- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-07 17:34:24 UTC (rev 55) +++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-07 17:35:00 UTC (rev 56) @@ -67,13 +67,15 @@ def __init__(self, parent, - cfg=None + cfg=None, connectionName='', ): """ """ + QtGui.QWidget.__init__(self, parent) + self._connectionName = connectionName - self._cfg = cfg if cfg is None else config.Config(self) + self._cfg = cfg if cfg is not None else config.Config(self) self._fcpClient = None self._fcpEvents = None self._isCreated = False @@ -81,8 +83,7 @@ self._requestsPending = 0 self._showPeersFlags = self.ShowPeersAll - QtGui.QWidget.__init__(self, parent) - + # setup tree self.setUniformRowHeights(True) headerLabels = [ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |