Hi there,

I encountered the problem that QDropEvent.action() always returns 0, regardless what the drag op was started with or how. I'm using Qt 3.1.2 and PyQt 3.7 and it can't be a bug of Qt because in the Qt example FileIconView, the application is able to distinguish between copy and move event.
I added a small sample application demonstrating the problem (the messagebox saying "the item has been copied" keeps popping up)

--- snip here ---
from qt import *

class TestListView(QListView):
    def __init__(self, *args):
        apply(QListView.__init__, (self,)+args)
        self.setAcceptDrops(True)
        self.viewport().setAcceptDrops(True)
        self.addColumn("first column")
        for i in range(1,10):
            item = QListViewItem(self, "item %i" % i)
            item.setDragEnabled(True)
            item.setDropEnabled(True)


def dragObject(self): return QDragObject(self)

    def contentsDropEvent(self, e):
        if e.action() == QDropEvent.Move:
            QMessageBox.information(self, "info", "Item has been moved")
        elif e.action() == QDropEvent.Copy:
            QMessageBox.information(self, "info", "Item has been copied")

a = QApplication([''])
mw = TestListView()
a.setMainWidget(mw)
mw.show()
a.exec_loop()
--- snip here ---

greetings

Torsten

--
Torsten Marek <[EMAIL PROTECTED]>
ID: A244C858 -- fingerprint 1902 0002 5DFC 856B F146 894C 7CC5 451E A244 C858
www.keyserver.net -- wwwkeys.eu.pgp.net

< information must flow >



Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to