[953] | 1 | #!/usr/bin/env python
|
---|
| 2 | # -*- coding: utf-8 -*-
|
---|
| 3 | #
|
---|
| 4 | # $Id: dassmodus.py 11167 2010-10-06 15:01:40Z pstorz $
|
---|
| 5 |
|
---|
| 6 |
|
---|
| 7 | from PyQt4.QtCore import *
|
---|
| 8 | from PyQt4.QtGui import *
|
---|
| 9 |
|
---|
| 10 |
|
---|
| 11 |
|
---|
| 12 | class DnDListWidget(QListWidget):
|
---|
| 13 |
|
---|
| 14 | def __init__(self, parent=None):
|
---|
| 15 | super(DnDListWidget, self).__init__(parent)
|
---|
| 16 | self.setAcceptDrops(True)
|
---|
| 17 | self.setDragEnabled(True)
|
---|
| 18 |
|
---|
| 19 |
|
---|
| 20 | def dragEnterEvent(self, event):
|
---|
| 21 | if event.mimeData().hasText():
|
---|
| 22 | event.accept()
|
---|
| 23 | else:
|
---|
| 24 | event.ignore()
|
---|
| 25 |
|
---|
| 26 |
|
---|
| 27 | def dragMoveEvent(self, event):
|
---|
| 28 | if event.mimeData().hasText:
|
---|
| 29 | event.setDropAction(Qt.MoveAction)
|
---|
| 30 | event.accept()
|
---|
| 31 | else:
|
---|
| 32 | event.ignore()
|
---|
| 33 |
|
---|
| 34 |
|
---|
| 35 | def dropEvent(self, event):
|
---|
| 36 | if event.mimeData().hasText():
|
---|
| 37 | text = event.mimeData().text()
|
---|
| 38 | item = QListWidgetItem(text, self)
|
---|
| 39 | event.setDropAction(Qt.MoveAction)
|
---|
| 40 | event.accept()
|
---|
| 41 | else:
|
---|
| 42 | event.ignore()
|
---|
| 43 |
|
---|
| 44 | def startDrag(self, supportedActions):
|
---|
| 45 | #print self.currentItem().text(0)
|
---|
| 46 | currentItemName = self.currentItem().data
|
---|
| 47 | #currentItemName = self.currentItem().text(0)
|
---|
| 48 | mimeData = QMimeData()
|
---|
| 49 | mimeData.setText(currentItemName)
|
---|
| 50 | drag = QDrag(self)
|
---|
| 51 | drag.setMimeData(mimeData)
|
---|
| 52 | dropAction = drag.start(Qt.CopyAction)
|
---|
| 53 |
|
---|
| 54 |
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 | class DnDTreeWidget(QTreeWidget):
|
---|
| 58 |
|
---|
| 59 | def __init__(self, parent=None):
|
---|
| 60 | super(DnDTreeWidget, self).__init__(parent)
|
---|
| 61 | #self.setAcceptDrops(True)
|
---|
| 62 | self.setDragEnabled(True)
|
---|
| 63 |
|
---|
| 64 | def startDrag(self, supportedActions):
|
---|
| 65 | #print self.currentItem().text(0)
|
---|
| 66 | currentItemName = self.currentItem().data
|
---|
| 67 | #currentItemName = self.currentItem().text(0)
|
---|
| 68 | mimeData = QMimeData()
|
---|
| 69 | mimeData.setText(currentItemName)
|
---|
| 70 | drag = QDrag(self)
|
---|
| 71 | drag.setMimeData(mimeData)
|
---|
| 72 | dropAction = drag.start(Qt.CopyAction)
|
---|