Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.1, 2.1.1, and 2.1.2

reporegistry: allow groups to be moved (closes #52)

Changeset 0cd6bea9499a

Parent 05c5894c290f

by Phil Currier

Changes to 2 files · Browse files at 0cd6bea9499a Showing diff from parent 05c5894c290f Diff from another changeset...

 
240
241
242
243
 
244
245
246
 
261
262
263
 
264
265
266
 
270
271
272
273
 
274
275
276
 
280
281
282
283
 
 
284
285
286
 
240
241
242
 
243
244
245
246
 
261
262
263
264
265
266
267
 
271
272
273
 
274
275
276
277
 
281
282
283
 
284
285
286
287
288
@@ -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
21
22
 
23
24
25
 
106
107
108
109
 
110
111
112
 
159
160
161
162
 
163
164
165
 
167
168
169
170
171
 
 
 
 
 
 
172
173
174
175
 
 
 
 
 
 
176
177
178
 
20
21
22
23
24
25
26
 
107
108
109
 
110
111
112
113
 
160
161
162
 
163
164
165
166
 
168
169
170
 
 
171
172
173
174
175
176
177
178
179
 
180
181
182
183
184
185
186
187
188
@@ -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: