80 self.menu.addSeparator() |
80 self.menu.addSeparator() |
81 self.menuactions.append(self.menu.addAction( |
81 self.menuactions.append(self.menu.addAction( |
82 self.trUtf8("Add to repository"), self.__add)) |
82 self.trUtf8("Add to repository"), self.__add)) |
83 self.menuactions.append(self.menu.addAction( |
83 self.menuactions.append(self.menu.addAction( |
84 self.trUtf8("Show differences"), self.__diff)) |
84 self.trUtf8("Show differences"), self.__diff)) |
|
85 self.menuactions.append(self.menu.addAction( |
|
86 self.trUtf8("Show differences side-by-side"), self.__sbsDiff)) |
85 self.menuactions.append(self.menu.addAction( |
87 self.menuactions.append(self.menu.addAction( |
86 self.trUtf8("Revert changes"), self.__revert)) |
88 self.trUtf8("Revert changes"), self.__revert)) |
87 self.menuactions.append(self.menu.addAction( |
89 self.menuactions.append(self.menu.addAction( |
88 self.trUtf8("Restore missing"), self.__restoreMissing)) |
90 self.trUtf8("Restore missing"), self.__restoreMissing)) |
89 if self.vcs.version >= (1, 5, 0): |
91 if self.vcs.version >= (1, 5, 0): |
331 act.setEnabled(False) |
333 act.setEnabled(False) |
332 |
334 |
333 self.addButton.setEnabled(False) |
335 self.addButton.setEnabled(False) |
334 self.commitButton.setEnabled(False) |
336 self.commitButton.setEnabled(False) |
335 self.diffButton.setEnabled(False) |
337 self.diffButton.setEnabled(False) |
|
338 self.sbsDiffButton.setEnabled(False) |
336 self.revertButton.setEnabled(False) |
339 self.revertButton.setEnabled(False) |
337 self.restoreButton.setEnabled(False) |
340 self.restoreButton.setEnabled(False) |
338 |
341 |
339 self.statusFilterCombo.clear() |
342 self.statusFilterCombo.clear() |
340 self.__statusFilters = [] |
343 self.__statusFilters = [] |
593 unversioned = len(self.__getUnversionedItems()) |
596 unversioned = len(self.__getUnversionedItems()) |
594 missing = len(self.__getMissingItems()) |
597 missing = len(self.__getMissingItems()) |
595 |
598 |
596 self.addButton.setEnabled(unversioned) |
599 self.addButton.setEnabled(unversioned) |
597 self.diffButton.setEnabled(modified) |
600 self.diffButton.setEnabled(modified) |
|
601 self.sbsDiffButton.setEnabled(modified == 1) |
598 self.revertButton.setEnabled(modified) |
602 self.revertButton.setEnabled(modified) |
599 self.restoreButton.setEnabled(missing) |
603 self.restoreButton.setEnabled(missing) |
600 |
604 |
601 def __updateCommitButton(self): |
605 def __updateCommitButton(self): |
602 """ |
606 """ |
803 from .SvnDiffDialog import SvnDiffDialog |
814 from .SvnDiffDialog import SvnDiffDialog |
804 self.diff = SvnDiffDialog(self.vcs) |
815 self.diff = SvnDiffDialog(self.vcs) |
805 self.diff.show() |
816 self.diff.show() |
806 QApplication.processEvents() |
817 QApplication.processEvents() |
807 self.diff.start(names) |
818 self.diff.start(names) |
808 |
819 |
|
820 def __sbsDiff(self): |
|
821 """ |
|
822 Private slot to handle the Side-by-Side Diff context menu entry. |
|
823 """ |
|
824 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
|
825 for itm in self.__getModifiedItems()] |
|
826 if not names: |
|
827 E5MessageBox.information(self, |
|
828 self.trUtf8("Side-by-Side Diff"), |
|
829 self.trUtf8("""There are no uncommitted changes""" |
|
830 """ available/selected.""")) |
|
831 return |
|
832 elif len(names) > 1: |
|
833 E5MessageBox.information(self, |
|
834 self.trUtf8("Side-by-Side Diff"), |
|
835 self.trUtf8("""Only one file with uncommitted changes""" |
|
836 """ must be selected.""")) |
|
837 return |
|
838 |
|
839 self.vcs.svnSbsDiff(names[0]) |
|
840 |
809 def __lock(self): |
841 def __lock(self): |
810 """ |
842 """ |
811 Private slot to handle the Lock context menu entry. |
843 Private slot to handle the Lock context menu entry. |
812 """ |
844 """ |
813 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |
845 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) |