Changeset 0cd6bea9499a…
Parent 05c5894c290f…
by
Changes to 2 files · Browse files at 0cd6bea9499a Showing diff from parent 05c5894c290f Diff from another changeset...
@@ -240,7 +240,7 @@
def flags(self):
return (Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled
- | Qt.ItemIsEditable)
+ | Qt.ItemIsDragEnabled | Qt.ItemIsEditable)
def childRoots(self):
return [c._root for c in self.childs]
@@ -261,6 +261,7 @@class AllRepoGroupItem(RepoTreeItem):
def __init__(self, model, parent=None):
RepoTreeItem.__init__(self, model, parent)
+ self.name = _('default')
def data(self, column, role):
if role == Qt.DecorationRole:
@@ -270,7 +271,7 @@ return QVariant(ico)
return QVariant()
if column == 0:
- return QVariant(_('default'))
+ return QVariant(self.name)
return QVariant()
def setData(self, column, value):
@@ -280,7 +281,8 @@ return ['add', 'newGroup']
def flags(self):
- return Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled
+ return (Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled
+ | Qt.ItemIsDragEnabled)
def dump(self, xw):
RepoTreeItem.dump(self, xw)
|
@@ -20,6 +20,7 @@ reporegistryXmlElementName = 'reporegistry'
repoRegMimeType = 'application/thg-reporegistry'
+repoRegGroupMimeType = 'application/thg-reporegistrygroup'
def writeXml(target, item, rootElementName):
@@ -106,7 +107,7 @@ return QModelIndex()
childItem = index.internalPointer()
parentItem = childItem.parent()
- if parentItem is self.rootItem:
+ if parentItem is None:
return QModelIndex()
return self.createIndex(parentItem.row(), 0, parentItem)
@@ -159,7 +160,7 @@ return res
def mimeTypes(self):
- return QStringList(repoRegMimeType)
+ return QStringList([repoRegMimeType, repoRegGroupMimeType])
def mimeData(self, indexes):
i = indexes[0]
@@ -167,12 +168,21 @@ buf = QByteArray()
writeXml(buf, item, extractXmlElementName)
d = QMimeData()
- d.setData(repoRegMimeType, buf)
- d.setUrls([QUrl.fromLocalFile(hglib.tounicode(item.rootpath()))])
+ if isinstance(item, RepoItem):
+ d.setData(repoRegMimeType, buf)
+ d.setUrls([QUrl.fromLocalFile(hglib.tounicode(item.rootpath()))])
+ else:
+ d.setData(repoRegGroupMimeType, buf)
+ d.setText(QString(item.name))
return d
def dropMimeData(self, data, action, row, column, parent):
- d = str(data.data(repoRegMimeType))
+ if data.hasUrls():
+ d = str(data.data(repoRegMimeType))
+ else:
+ row = parent.row()
+ parent = self.parent(parent)
+ d = str(data.data(repoRegGroupMimeType))
itemread = readXml(d, extractXmlElementName, self)
group = parent.internalPointer()
if group is None:
|
Loading...