60 |
60 |
61 self.menuactions = [] |
61 self.menuactions = [] |
62 self.menu = QMenu() |
62 self.menu = QMenu() |
63 self.menuactions.append(self.menu.addAction( |
63 self.menuactions.append(self.menu.addAction( |
64 self.trUtf8("Commit changes to repository..."), self.__commit)) |
64 self.trUtf8("Commit changes to repository..."), self.__commit)) |
|
65 self.menuactions.append(self.menu.addAction( |
|
66 self.trUtf8("Select all for commit"), self.__commitSelectAll)) |
|
67 self.menuactions.append(self.menu.addAction( |
|
68 self.trUtf8("Deselect all from commit"), self.__commitDeselectAll)) |
65 self.menu.addSeparator() |
69 self.menu.addSeparator() |
66 self.menuactions.append(self.menu.addAction( |
70 self.menuactions.append(self.menu.addAction( |
67 self.trUtf8("Add to repository"), self.__add)) |
71 self.trUtf8("Add to repository"), self.__add)) |
68 self.menuactions.append(self.menu.addAction( |
72 self.menuactions.append(self.menu.addAction( |
69 self.trUtf8("Show differences"), self.__diff)) |
73 self.trUtf8("Show differences"), self.__diff)) |
136 |
140 |
137 itm.setTextAlignment(1, Qt.AlignHCenter) |
141 itm.setTextAlignment(1, Qt.AlignHCenter) |
138 itm.setTextAlignment(2, Qt.AlignLeft) |
142 itm.setTextAlignment(2, Qt.AlignLeft) |
139 |
143 |
140 if status in "AMR": |
144 if status in "AMR": |
|
145 itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) |
141 itm.setCheckState(self.__toBeCommittedColumn, Qt.Checked) |
146 itm.setCheckState(self.__toBeCommittedColumn, Qt.Checked) |
|
147 else: |
|
148 itm.setFlags(itm.flags() & ~Qt.ItemIsUserCheckable) |
142 |
149 |
143 if statusText not in self.__statusFilters: |
150 if statusText not in self.__statusFilters: |
144 self.__statusFilters.append(statusText) |
151 self.__statusFilters.append(statusText) |
145 |
152 |
146 def closeEvent(self, e): |
153 def closeEvent(self, e): |
555 """ |
562 """ |
556 if self.isVisible(): |
563 if self.isVisible(): |
557 self.on_refreshButton_clicked() |
564 self.on_refreshButton_clicked() |
558 self.vcs.checkVCSStatus() |
565 self.vcs.checkVCSStatus() |
559 |
566 |
|
567 def __commitSelectAll(self): |
|
568 """ |
|
569 Private slot to select all entries for commit. |
|
570 """ |
|
571 self.__commitSelect(True) |
|
572 |
|
573 def __commitDeselectAll(self): |
|
574 """ |
|
575 Private slot to deselect all entries from commit. |
|
576 """ |
|
577 self.__commitSelect(False) |
|
578 |
560 def __add(self): |
579 def __add(self): |
561 """ |
580 """ |
562 Private slot to handle the Add context menu entry. |
581 Private slot to handle the Add context menu entry. |
563 """ |
582 """ |
564 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ |
583 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ |
696 missingItems = [] |
715 missingItems = [] |
697 for itm in self.statusList.selectedItems(): |
716 for itm in self.statusList.selectedItems(): |
698 if itm.text(self.__statusColumn) in self.missingIndicators: |
717 if itm.text(self.__statusColumn) in self.missingIndicators: |
699 missingItems.append(itm) |
718 missingItems.append(itm) |
700 return missingItems |
719 return missingItems |
|
720 |
|
721 def __commitSelect(self, selected): |
|
722 """ |
|
723 Private slot to select or deselect all entries. |
|
724 |
|
725 @param selected commit selection state to be set (boolean) |
|
726 """ |
|
727 for index in range(self.statusList.topLevelItemCount()): |
|
728 itm = self.statusList.topLevelItem(index) |
|
729 if itm.flags() & Qt.ItemIsUserCheckable: |
|
730 if selected: |
|
731 itm.setCheckState(self.__toBeCommittedColumn, Qt.Checked) |
|
732 else: |
|
733 itm.setCheckState(self.__toBeCommittedColumn, Qt.Unchecked) |