3189:9a21c547de5f | 3190:a9a94491c4fd |
---|---|
42 self.__statusColumn = 1 | 42 self.__statusColumn = 1 |
43 self.__pathColumn = 2 | 43 self.__pathColumn = 2 |
44 self.__lastColumn = self.statusList.columnCount() | 44 self.__lastColumn = self.statusList.columnCount() |
45 | 45 |
46 self.refreshButton = self.buttonBox.addButton( | 46 self.refreshButton = self.buttonBox.addButton( |
47 self.trUtf8("Refresh"), QDialogButtonBox.ActionRole) | 47 self.tr("Refresh"), QDialogButtonBox.ActionRole) |
48 self.refreshButton.setToolTip( | 48 self.refreshButton.setToolTip( |
49 self.trUtf8("Press to refresh the status display")) | 49 self.tr("Press to refresh the status display")) |
50 self.refreshButton.setEnabled(False) | 50 self.refreshButton.setEnabled(False) |
51 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) | 51 self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
52 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) | 52 self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
53 | 53 |
54 self.diff = None | 54 self.diff = None |
73 | 73 |
74 self.menuactions = [] | 74 self.menuactions = [] |
75 self.menu = QMenu() | 75 self.menu = QMenu() |
76 if not mq: | 76 if not mq: |
77 self.menuactions.append(self.menu.addAction( | 77 self.menuactions.append(self.menu.addAction( |
78 self.trUtf8("Commit changes to repository..."), self.__commit)) | 78 self.tr("Commit changes to repository..."), self.__commit)) |
79 self.menuactions.append(self.menu.addAction( | 79 self.menuactions.append(self.menu.addAction( |
80 self.trUtf8("Select all for commit"), self.__commitSelectAll)) | 80 self.tr("Select all for commit"), self.__commitSelectAll)) |
81 self.menuactions.append(self.menu.addAction( | 81 self.menuactions.append(self.menu.addAction( |
82 self.trUtf8("Deselect all from commit"), | 82 self.tr("Deselect all from commit"), |
83 self.__commitDeselectAll)) | 83 self.__commitDeselectAll)) |
84 self.menu.addSeparator() | 84 self.menu.addSeparator() |
85 self.menuactions.append(self.menu.addAction( | 85 self.menuactions.append(self.menu.addAction( |
86 self.trUtf8("Add to repository"), self.__add)) | 86 self.tr("Add to repository"), self.__add)) |
87 self.menuactions.append(self.menu.addAction( | 87 self.menuactions.append(self.menu.addAction( |
88 self.trUtf8("Show differences"), self.__diff)) | 88 self.tr("Show differences"), self.__diff)) |
89 self.menuactions.append(self.menu.addAction( | 89 self.menuactions.append(self.menu.addAction( |
90 self.trUtf8("Show differences side-by-side"), self.__sbsDiff)) | 90 self.tr("Show differences side-by-side"), self.__sbsDiff)) |
91 self.menuactions.append(self.menu.addAction( | 91 self.menuactions.append(self.menu.addAction( |
92 self.trUtf8("Remove from repository"), self.__forget)) | 92 self.tr("Remove from repository"), self.__forget)) |
93 self.menuactions.append(self.menu.addAction( | 93 self.menuactions.append(self.menu.addAction( |
94 self.trUtf8("Revert changes"), self.__revert)) | 94 self.tr("Revert changes"), self.__revert)) |
95 self.menuactions.append(self.menu.addAction( | 95 self.menuactions.append(self.menu.addAction( |
96 self.trUtf8("Restore missing"), self.__restoreMissing)) | 96 self.tr("Restore missing"), self.__restoreMissing)) |
97 self.menu.addSeparator() | 97 self.menu.addSeparator() |
98 self.menuactions.append(self.menu.addAction( | 98 self.menuactions.append(self.menu.addAction( |
99 self.trUtf8("Adjust column sizes"), self.__resizeColumns)) | 99 self.tr("Adjust column sizes"), self.__resizeColumns)) |
100 for act in self.menuactions: | 100 for act in self.menuactions: |
101 act.setEnabled(False) | 101 act.setEnabled(False) |
102 | 102 |
103 self.statusList.setContextMenuPolicy(Qt.CustomContextMenu) | 103 self.statusList.setContextMenuPolicy(Qt.CustomContextMenu) |
104 self.statusList.customContextMenuRequested.connect( | 104 self.statusList.customContextMenuRequested.connect( |
105 self.__showContextMenu) | 105 self.__showContextMenu) |
106 | 106 |
107 self.modifiedIndicators = [ | 107 self.modifiedIndicators = [ |
108 self.trUtf8('added'), | 108 self.tr('added'), |
109 self.trUtf8('modified'), | 109 self.tr('modified'), |
110 self.trUtf8('removed'), | 110 self.tr('removed'), |
111 ] | 111 ] |
112 | 112 |
113 self.unversionedIndicators = [ | 113 self.unversionedIndicators = [ |
114 self.trUtf8('not tracked'), | 114 self.tr('not tracked'), |
115 ] | 115 ] |
116 | 116 |
117 self.missingIndicators = [ | 117 self.missingIndicators = [ |
118 self.trUtf8('missing') | 118 self.tr('missing') |
119 ] | 119 ] |
120 | 120 |
121 self.status = { | 121 self.status = { |
122 'A': self.trUtf8('added'), | 122 'A': self.tr('added'), |
123 'C': self.trUtf8('normal'), | 123 'C': self.tr('normal'), |
124 'I': self.trUtf8('ignored'), | 124 'I': self.tr('ignored'), |
125 'M': self.trUtf8('modified'), | 125 'M': self.tr('modified'), |
126 'R': self.trUtf8('removed'), | 126 'R': self.tr('removed'), |
127 '?': self.trUtf8('not tracked'), | 127 '?': self.tr('not tracked'), |
128 '!': self.trUtf8('missing'), | 128 '!': self.tr('missing'), |
129 } | 129 } |
130 | 130 |
131 def __resort(self): | 131 def __resort(self): |
132 """ | 132 """ |
133 Private method to resort the tree. | 133 Private method to resort the tree. |
212 self.statusFilterCombo.clear() | 212 self.statusFilterCombo.clear() |
213 self.__statusFilters = [] | 213 self.__statusFilters = [] |
214 | 214 |
215 if self.__mq: | 215 if self.__mq: |
216 self.setWindowTitle( | 216 self.setWindowTitle( |
217 self.trUtf8("Mercurial Queue Repository Status")) | 217 self.tr("Mercurial Queue Repository Status")) |
218 else: | 218 else: |
219 self.setWindowTitle(self.trUtf8('Mercurial Status')) | 219 self.setWindowTitle(self.tr('Mercurial Status')) |
220 | 220 |
221 args = [] | 221 args = [] |
222 args.append('status') | 222 args.append('status') |
223 self.vcs.addArguments(args, self.vcs.options['global']) | 223 self.vcs.addArguments(args, self.vcs.options['global']) |
224 if self.__mq: | 224 if self.__mq: |
276 if not procStarted: | 276 if not procStarted: |
277 self.inputGroup.setEnabled(False) | 277 self.inputGroup.setEnabled(False) |
278 self.inputGroup.hide() | 278 self.inputGroup.hide() |
279 E5MessageBox.critical( | 279 E5MessageBox.critical( |
280 self, | 280 self, |
281 self.trUtf8('Process Generation Error'), | 281 self.tr('Process Generation Error'), |
282 self.trUtf8( | 282 self.tr( |
283 'The process {0} could not be started. ' | 283 'The process {0} could not be started. ' |
284 'Ensure, that it is in the search path.' | 284 'Ensure, that it is in the search path.' |
285 ).format('hg')) | 285 ).format('hg')) |
286 else: | 286 else: |
287 self.inputGroup.setEnabled(True) | 287 self.inputGroup.setEnabled(True) |
307 self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) | 307 self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
308 self.buttonBox.button(QDialogButtonBox.Close).setFocus( | 308 self.buttonBox.button(QDialogButtonBox.Close).setFocus( |
309 Qt.OtherFocusReason) | 309 Qt.OtherFocusReason) |
310 | 310 |
311 self.__statusFilters.sort() | 311 self.__statusFilters.sort() |
312 self.__statusFilters.insert(0, "<{0}>".format(self.trUtf8("all"))) | 312 self.__statusFilters.insert(0, "<{0}>".format(self.tr("all"))) |
313 self.statusFilterCombo.addItems(self.__statusFilters) | 313 self.statusFilterCombo.addItems(self.__statusFilters) |
314 | 314 |
315 for act in self.menuactions: | 315 for act in self.menuactions: |
316 act.setEnabled(True) | 316 act.setEnabled(True) |
317 | 317 |
492 """ | 492 """ |
493 Private slot to react to the selection of a status filter. | 493 Private slot to react to the selection of a status filter. |
494 | 494 |
495 @param txt selected status filter (string) | 495 @param txt selected status filter (string) |
496 """ | 496 """ |
497 if txt == "<{0}>".format(self.trUtf8("all")): | 497 if txt == "<{0}>".format(self.tr("all")): |
498 for topIndex in range(self.statusList.topLevelItemCount()): | 498 for topIndex in range(self.statusList.topLevelItemCount()): |
499 topItem = self.statusList.topLevelItem(topIndex) | 499 topItem = self.statusList.topLevelItem(topIndex) |
500 topItem.setHidden(False) | 500 topItem.setHidden(False) |
501 else: | 501 else: |
502 for topIndex in range(self.statusList.topLevelItemCount()): | 502 for topIndex in range(self.statusList.topLevelItemCount()): |
592 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 592 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
593 for itm in self.__getCommitableItems()] | 593 for itm in self.__getCommitableItems()] |
594 if not names: | 594 if not names: |
595 E5MessageBox.information( | 595 E5MessageBox.information( |
596 self, | 596 self, |
597 self.trUtf8("Commit"), | 597 self.tr("Commit"), |
598 self.trUtf8("""There are no entries selected to be""" | 598 self.tr("""There are no entries selected to be""" |
599 """ committed.""")) | 599 """ committed.""")) |
600 return | 600 return |
601 | 601 |
602 if Preferences.getVCS("AutoSaveFiles"): | 602 if Preferences.getVCS("AutoSaveFiles"): |
603 vm = e5App().getObject("ViewManager") | 603 vm = e5App().getObject("ViewManager") |
604 for name in names: | 604 for name in names: |
632 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 632 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
633 for itm in self.__getUnversionedItems()] | 633 for itm in self.__getUnversionedItems()] |
634 if not names: | 634 if not names: |
635 E5MessageBox.information( | 635 E5MessageBox.information( |
636 self, | 636 self, |
637 self.trUtf8("Add"), | 637 self.tr("Add"), |
638 self.trUtf8("""There are no unversioned entries""" | 638 self.tr("""There are no unversioned entries""" |
639 """ available/selected.""")) | 639 """ available/selected.""")) |
640 return | 640 return |
641 | 641 |
642 self.vcs.vcsAdd(names) | 642 self.vcs.vcsAdd(names) |
643 self.on_refreshButton_clicked() | 643 self.on_refreshButton_clicked() |
644 | 644 |
654 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 654 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
655 for itm in self.__getMissingItems()] | 655 for itm in self.__getMissingItems()] |
656 if not names: | 656 if not names: |
657 E5MessageBox.information( | 657 E5MessageBox.information( |
658 self, | 658 self, |
659 self.trUtf8("Remove"), | 659 self.tr("Remove"), |
660 self.trUtf8("""There are no missing entries""" | 660 self.tr("""There are no missing entries""" |
661 """ available/selected.""")) | 661 """ available/selected.""")) |
662 return | 662 return |
663 | 663 |
664 self.vcs.hgForget(names) | 664 self.vcs.hgForget(names) |
665 self.on_refreshButton_clicked() | 665 self.on_refreshButton_clicked() |
666 | 666 |
671 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 671 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
672 for itm in self.__getModifiedItems()] | 672 for itm in self.__getModifiedItems()] |
673 if not names: | 673 if not names: |
674 E5MessageBox.information( | 674 E5MessageBox.information( |
675 self, | 675 self, |
676 self.trUtf8("Revert"), | 676 self.tr("Revert"), |
677 self.trUtf8("""There are no uncommitted changes""" | 677 self.tr("""There are no uncommitted changes""" |
678 """ available/selected.""")) | 678 """ available/selected.""")) |
679 return | 679 return |
680 | 680 |
681 self.vcs.hgRevert(names) | 681 self.vcs.hgRevert(names) |
682 self.raise_() | 682 self.raise_() |
683 self.activateWindow() | 683 self.activateWindow() |
695 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 695 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
696 for itm in self.__getMissingItems()] | 696 for itm in self.__getMissingItems()] |
697 if not names: | 697 if not names: |
698 E5MessageBox.information( | 698 E5MessageBox.information( |
699 self, | 699 self, |
700 self.trUtf8("Revert"), | 700 self.tr("Revert"), |
701 self.trUtf8("""There are no missing entries""" | 701 self.tr("""There are no missing entries""" |
702 """ available/selected.""")) | 702 """ available/selected.""")) |
703 return | 703 return |
704 | 704 |
705 self.vcs.hgRevert(names) | 705 self.vcs.hgRevert(names) |
706 self.on_refreshButton_clicked() | 706 self.on_refreshButton_clicked() |
707 self.vcs.checkVCSStatus() | 707 self.vcs.checkVCSStatus() |
713 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 713 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
714 for itm in self.__getModifiedItems()] | 714 for itm in self.__getModifiedItems()] |
715 if not names: | 715 if not names: |
716 E5MessageBox.information( | 716 E5MessageBox.information( |
717 self, | 717 self, |
718 self.trUtf8("Differences"), | 718 self.tr("Differences"), |
719 self.trUtf8("""There are no uncommitted changes""" | 719 self.tr("""There are no uncommitted changes""" |
720 """ available/selected.""")) | 720 """ available/selected.""")) |
721 return | 721 return |
722 | 722 |
723 if self.diff is None: | 723 if self.diff is None: |
724 from .HgDiffDialog import HgDiffDialog | 724 from .HgDiffDialog import HgDiffDialog |
725 self.diff = HgDiffDialog(self.vcs) | 725 self.diff = HgDiffDialog(self.vcs) |
733 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) | 733 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
734 for itm in self.__getModifiedItems()] | 734 for itm in self.__getModifiedItems()] |
735 if not names: | 735 if not names: |
736 E5MessageBox.information( | 736 E5MessageBox.information( |
737 self, | 737 self, |
738 self.trUtf8("Side-by-Side Diff"), | 738 self.tr("Side-by-Side Diff"), |
739 self.trUtf8("""There are no uncommitted changes""" | 739 self.tr("""There are no uncommitted changes""" |
740 """ available/selected.""")) | 740 """ available/selected.""")) |
741 return | 741 return |
742 elif len(names) > 1: | 742 elif len(names) > 1: |
743 E5MessageBox.information( | 743 E5MessageBox.information( |
744 self, | 744 self, |
745 self.trUtf8("Side-by-Side Diff"), | 745 self.tr("Side-by-Side Diff"), |
746 self.trUtf8("""Only one file with uncommitted changes""" | 746 self.tr("""Only one file with uncommitted changes""" |
747 """ must be selected.""")) | 747 """ must be selected.""")) |
748 return | 748 return |
749 | 749 |
750 self.vcs.hgSbsDiff(names[0]) | 750 self.vcs.hgSbsDiff(names[0]) |
751 | 751 |
752 def __getCommitableItems(self): | 752 def __getCommitableItems(self): |