Changeset 733

Show
Ignore:
Timestamp:
07/22/08 06:03:11 (4 months ago)
Author:
sylvain
Message:

started to add support to remove an item

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • oss/jlib/examples/basic/client.py

    r732 r733  
    142142        if model: 
    143143            for item in message.items: 
    144                 model.setNodeItem(item) 
     144                if item.event == 'retract': 
     145                    model.removeNodeItem(item) 
     146                else: 
     147                    model.setNodeItem(item) 
    145148 
    146149    def messageReceived(self, message): 
  • oss/jlib/jlib/core/pubsub.py

    r732 r733  
    517517                self.send(p, "publish-item") 
    518518 
     519            if self.dataReady('request-delete-item'): 
     520                node_id, item_id = self.recv('request-delete-item') 
     521                i = Item(id=item_id) 
     522                p = Node(unicode(self.from_jid), self.pubsub_service,  
     523                         node_name=node_id, item=i) 
     524                self.send(p, "delete-item") 
     525 
    519526            if self.dataReady('request-create-collection-node'): 
    520527                nodeid = self.recv('request-create-collection-node').strip() 
     
    622629        return item 
    623630 
    624  
    625  
    626  
     631    def removeNodeItem(self, node_item): 
     632        rootItem = self.invisibleRootItem() 
     633        item_id = str(node_item.name) 
     634        index = self.getNodeItemIndex(node_item) 
     635        if index.isValid(): 
     636            item = self.items[item_id] 
     637            del self.items[item_id] 
     638            rootItem.removeRow(item.row(), item.parent()) 
     639 
     640 
     641 
  • oss/jlib/jlib/gui/pubsub/node.py

    r732 r733  
    4848                             self.node, unicode(dialog.form.atomID.text()), dialog.form.entry) 
    4949 
     50    def deleteItem(self): 
     51        model = self.nodes.model() 
     52        index = self.nodes.currentIndex() 
     53        item = model.getNodeItem(index) 
     54        self.pubsub.emit(QtCore.SIGNAL("deleteItem(PyQt_PyObject, PyQt_PyObject)"), 
     55                         item.node_item.node, item.node_item.name) 
     56 
    5057    def clicked(self, index): 
    5158        model = self.nodes.model() 
     
    6673 
    6774        menu.addAction(publishMenu.menuAction()) 
     75 
     76        actionDeleteItem = QtGui.QAction(QtCore.QString("Delete item"), self.parent()) 
     77        QtCore.QObject.connect(actionDeleteItem, QtCore.SIGNAL("triggered()"), 
     78                               self.deleteItem) 
     79        menu.addAction(actionDeleteItem) 
     80 
    6881        menu.exec_(event.globalPos())