86 self.menu.addSeparator() |
86 self.menu.addSeparator() |
87 self.menuactions.append(self.menu.addAction( |
87 self.menuactions.append(self.menu.addAction( |
88 self.trUtf8("Add to repository"), self.__add)) |
88 self.trUtf8("Add to repository"), self.__add)) |
89 self.menuactions.append(self.menu.addAction( |
89 self.menuactions.append(self.menu.addAction( |
90 self.trUtf8("Show differences"), self.__diff)) |
90 self.trUtf8("Show differences"), self.__diff)) |
|
91 self.menuactions.append(self.menu.addAction( |
|
92 self.trUtf8("Show differences side-by-side"), self.__sbsDiff)) |
91 self.menuactions.append(self.menu.addAction( |
93 self.menuactions.append(self.menu.addAction( |
92 self.trUtf8("Revert changes"), self.__revert)) |
94 self.trUtf8("Revert changes"), self.__revert)) |
93 self.menuactions.append(self.menu.addAction( |
95 self.menuactions.append(self.menu.addAction( |
94 self.trUtf8("Restore missing"), self.__restoreMissing)) |
96 self.trUtf8("Restore missing"), self.__restoreMissing)) |
95 if self.vcs.version >= (1, 5, 0): |
97 if self.vcs.version >= (1, 5, 0): |
337 act.setEnabled(False) |
339 act.setEnabled(False) |
338 |
340 |
339 self.addButton.setEnabled(False) |
341 self.addButton.setEnabled(False) |
340 self.commitButton.setEnabled(False) |
342 self.commitButton.setEnabled(False) |
341 self.diffButton.setEnabled(False) |
343 self.diffButton.setEnabled(False) |
|
344 self.sbsDiffButton.setEnabled(False) |
342 self.revertButton.setEnabled(False) |
345 self.revertButton.setEnabled(False) |
343 self.restoreButton.setEnabled(False) |
346 self.restoreButton.setEnabled(False) |
344 |
347 |
345 self.statusFilterCombo.clear() |
348 self.statusFilterCombo.clear() |
346 self.__statusFilters = [] |
349 self.__statusFilters = [] |
599 unversioned = len(self.__getUnversionedItems()) |
602 unversioned = len(self.__getUnversionedItems()) |
600 missing = len(self.__getMissingItems()) |
603 missing = len(self.__getMissingItems()) |
601 |
604 |
602 self.addButton.setEnabled(unversioned) |
605 self.addButton.setEnabled(unversioned) |
603 self.diffButton.setEnabled(modified) |
606 self.diffButton.setEnabled(modified) |
|
607 self.sbsDiffButton.setEnabled(modified == 1) |
604 self.revertButton.setEnabled(modified) |
608 self.revertButton.setEnabled(modified) |
605 self.restoreButton.setEnabled(missing) |
609 self.restoreButton.setEnabled(missing) |
606 |
610 |
607 def __updateCommitButton(self): |
611 def __updateCommitButton(self): |
608 """ |
612 """ |
809 from .SvnDiffDialog import SvnDiffDialog |
820 from .SvnDiffDialog import SvnDiffDialog |
810 self.diff = SvnDiffDialog(self.vcs) |
821 self.diff = SvnDiffDialog(self.vcs) |
811 self.diff.show() |
822 self.diff.show() |
812 QApplication.processEvents() |
823 QApplication.processEvents() |
813 self.diff.start(names) |
824 self.diff.start(names) |
814 |
825 |
|
826 def __sbsDiff(self): |
|
827 """ |
|
828 Private slot to handle the Side-by-Side Diff context menu entry. |
|
829 """ |
|
830 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
|
831 for itm in self.__getModifiedItems()] |
|
832 if not names: |
|
833 E5MessageBox.information(self, |
|
834 self.trUtf8("Side-by-Side Diff"), |
|
835 self.trUtf8("""There are no uncommitted changes""" |
|
836 """ available/selected.""")) |
|
837 return |
|
838 elif len(names) > 1: |
|
839 E5MessageBox.information(self, |
|
840 self.trUtf8("Side-by-Side Diff"), |
|
841 self.trUtf8("""Only one file with uncommitted changes""" |
|
842 """ must be selected.""")) |
|
843 return |
|
844 |
|
845 self.vcs.svnSbsDiff(names[0]) |
|
846 |
815 def __lock(self): |
847 def __lock(self): |
816 """ |
848 """ |
817 Private slot to handle the Lock context menu entry. |
849 Private slot to handle the Lock context menu entry. |
818 """ |
850 """ |
819 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
851 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |