Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py

changeset 3406
b3612f0fbf55
parent 3342
f8cd11fa94ed
child 3484
645c12de6b0c
equal deleted inserted replaced
3404:24459ecb4d41 3406:b3612f0fbf55
73 73
74 self.menuactions = [] 74 self.menuactions = []
75 self.lfActions = [] 75 self.lfActions = []
76 self.menu = QMenu() 76 self.menu = QMenu()
77 if not mq: 77 if not mq:
78 self.menuactions.append(self.menu.addAction( 78 self.__commitAct = self.menu.addAction(
79 self.tr("Commit changes to repository..."), self.__commit)) 79 self.tr("Commit changes to repository..."), self.__commit)
80 self.menuactions.append(self.__commitAct)
80 self.menuactions.append(self.menu.addAction( 81 self.menuactions.append(self.menu.addAction(
81 self.tr("Select all for commit"), self.__commitSelectAll)) 82 self.tr("Select all for commit"), self.__commitSelectAll))
82 self.menuactions.append(self.menu.addAction( 83 self.menuactions.append(self.menu.addAction(
83 self.tr("Deselect all from commit"), 84 self.tr("Deselect all from commit"),
84 self.__commitDeselectAll)) 85 self.__commitDeselectAll))
85 self.menu.addSeparator() 86 self.menu.addSeparator()
86 self.menuactions.append(self.menu.addAction( 87 self.__addAct = self.menu.addAction(
87 self.tr("Add to repository"), self.__add)) 88 self.tr("Add to repository"), self.__add)
89 self.menuactions.append(self.__addAct)
88 if self.vcs.version >= (2, 0): 90 if self.vcs.version >= (2, 0):
89 self.lfActions.append(self.menu.addAction( 91 self.lfActions.append(self.menu.addAction(
90 self.tr("Add as Large File"), 92 self.tr("Add as Large File"),
91 lambda: self.__lfAdd("large"))) 93 lambda: self.__lfAdd("large")))
92 self.lfActions.append(self.menu.addAction( 94 self.lfActions.append(self.menu.addAction(
93 self.tr("Add as Normal File"), 95 self.tr("Add as Normal File"),
94 lambda: self.__lfAdd("normal"))) 96 lambda: self.__lfAdd("normal")))
95 self.menuactions.append(self.menu.addAction( 97 self.__diffAct = self.menu.addAction(
96 self.tr("Show differences"), self.__diff)) 98 self.tr("Show differences"), self.__diff)
97 self.menuactions.append(self.menu.addAction( 99 self.menuactions.append(self.__diffAct)
98 self.tr("Show differences side-by-side"), self.__sbsDiff)) 100 self.__sbsDiffAct = self.menu.addAction(
99 self.menuactions.append(self.menu.addAction( 101 self.tr("Show differences side-by-side"), self.__sbsDiff)
100 self.tr("Remove from repository"), self.__forget)) 102 self.menuactions.append(self.__sbsDiffAct)
101 self.menuactions.append(self.menu.addAction( 103 self.__revertAct = self.menu.addAction(
102 self.tr("Revert changes"), self.__revert)) 104 self.tr("Revert changes"), self.__revert)
103 self.menuactions.append(self.menu.addAction( 105 self.menuactions.append(self.__revertAct)
104 self.tr("Restore missing"), self.__restoreMissing)) 106 self.__forgetAct = self.menu.addAction(
107 self.tr("Forget missing"), self.__forget)
108 self.menuactions.append(self.__forgetAct)
109 self.__restoreAct = self.menu.addAction(
110 self.tr("Restore missing"), self.__restoreMissing)
111 self.menuactions.append(self.__restoreAct)
105 self.menu.addSeparator() 112 self.menu.addSeparator()
106 self.menuactions.append(self.menu.addAction( 113 self.menuactions.append(self.menu.addAction(
107 self.tr("Adjust column sizes"), self.__resizeColumns)) 114 self.tr("Adjust column sizes"), self.__resizeColumns))
108 for act in self.menuactions: 115 for act in self.menuactions:
109 act.setEnabled(False) 116 act.setEnabled(False)
596 """ 603 """
597 Protected slot to show the context menu of the status list. 604 Protected slot to show the context menu of the status list.
598 605
599 @param coord the position of the mouse pointer (QPoint) 606 @param coord the position of the mouse pointer (QPoint)
600 """ 607 """
601 # TODO: set status of menu entries according to their conditions 608 modified = len(self.__getModifiedItems())
609 unversioned = len(self.__getUnversionedItems())
610 missing = len(self.__getMissingItems())
611 commitable = len(self.__getCommitableItems())
612
613 self.__addAct.setEnabled(unversioned)
614 self.__diffAct.setEnabled(modified)
615 self.__sbsDiffAct.setEnabled(modified == 1)
616 self.__revertAct.setEnabled(modified)
617 self.__forgetAct.setEnabled(missing)
618 self.__restoreAct.setEnabled(missing)
619 self.__commitAct.setEnabled(commitable)
620
602 if self.vcs.isExtensionActive("largefiles"): 621 if self.vcs.isExtensionActive("largefiles"):
603 enable = len(self.__getUnversionedItems()) > 0 622 enable = len(self.__getUnversionedItems()) > 0
604 else: 623 else:
605 enable = False 624 enable = False
606 for act in self.lfActions: 625 for act in self.lfActions:

eric ide

mercurial