57 self.trUtf8("Commit changes to repository..."), self.__commit)) |
57 self.trUtf8("Commit changes to repository..."), self.__commit)) |
58 self.menu.addSeparator() |
58 self.menu.addSeparator() |
59 self.menuactions.append(self.menu.addAction(\ |
59 self.menuactions.append(self.menu.addAction(\ |
60 self.trUtf8("Add to repository"), self.__add)) |
60 self.trUtf8("Add to repository"), self.__add)) |
61 self.menuactions.append(self.menu.addAction(\ |
61 self.menuactions.append(self.menu.addAction(\ |
|
62 self.trUtf8("Remove from repository"), self.__forget)) |
|
63 self.menuactions.append(self.menu.addAction(\ |
62 self.trUtf8("Revert changes"), self.__revert)) |
64 self.trUtf8("Revert changes"), self.__revert)) |
63 self.menu.addSeparator() |
65 self.menu.addSeparator() |
64 self.menuactions.append(self.menu.addAction(self.trUtf8("Adjust column sizes"), |
66 self.menuactions.append(self.menu.addAction(self.trUtf8("Adjust column sizes"), |
65 self.__resizeColumns)) |
67 self.__resizeColumns)) |
66 for act in self.menuactions: |
68 for act in self.menuactions: |
77 self.trUtf8('removed'), |
79 self.trUtf8('removed'), |
78 ] |
80 ] |
79 |
81 |
80 self.unversionedIndicators = [ |
82 self.unversionedIndicators = [ |
81 self.trUtf8('not tracked'), |
83 self.trUtf8('not tracked'), |
|
84 ] |
|
85 |
|
86 self.missingIndicators = [ |
|
87 self.trUtf8('missing') |
82 ] |
88 ] |
83 |
89 |
84 self.status = { |
90 self.status = { |
85 'A' : self.trUtf8('added'), |
91 'A' : self.trUtf8('added'), |
86 'C' : self.trUtf8('normal'), |
92 'C' : self.trUtf8('normal'), |
402 project = e5App().getObject("Project") |
408 project = e5App().getObject("Project") |
403 for name in names: |
409 for name in names: |
404 project.getModel().updateVCSStatus(name) |
410 project.getModel().updateVCSStatus(name) |
405 self.vcs.checkVCSStatus() |
411 self.vcs.checkVCSStatus() |
406 |
412 |
|
413 def __forget(self): |
|
414 """ |
|
415 Private slot to handle the Remove context menu entry. |
|
416 """ |
|
417 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ |
|
418 for itm in self.__getMissingItems()] |
|
419 if not names: |
|
420 QMessageBox.information(self, |
|
421 self.trUtf8("Remove"), |
|
422 self.trUtf8("""There are no missing entries available/selected.""")) |
|
423 return |
|
424 |
|
425 self.vcs.hgForget(names) |
|
426 self.on_refreshButton_clicked() |
|
427 |
407 def __revert(self): |
428 def __revert(self): |
408 """ |
429 """ |
409 Private slot to handle the Revert context menu entry. |
430 Private slot to handle the Revert context menu entry. |
410 """ |
431 """ |
411 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ |
432 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ |
445 unversionedItems = [] |
466 unversionedItems = [] |
446 for itm in self.statusList.selectedItems(): |
467 for itm in self.statusList.selectedItems(): |
447 if itm.text(self.__statusColumn) in self.unversionedIndicators: |
468 if itm.text(self.__statusColumn) in self.unversionedIndicators: |
448 unversionedItems.append(itm) |
469 unversionedItems.append(itm) |
449 return unversionedItems |
470 return unversionedItems |
|
471 |
|
472 def __getMissingItems(self): |
|
473 """ |
|
474 Private method to retrieve all entries, that have a missing status. |
|
475 |
|
476 @return list of all items with a missing status |
|
477 """ |
|
478 missingItems = [] |
|
479 for itm in self.statusList.selectedItems(): |
|
480 if itm.text(self.__statusColumn) in self.missingIndicators: |
|
481 missingItems.append(itm) |
|
482 return missingItems |