Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py

branch
Py2 comp.
changeset 2847
1843ef6e2656
parent 2791
a9577f248f04
parent 2845
7e55c6268c35
child 3057
10516539f238
equal deleted inserted replaced
2846:b852fe4d153a 2847:1843ef6e2656
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 """
665 Private slot to handle the press of the Differences button. 669 Private slot to handle the press of the Differences button.
666 """ 670 """
667 self.__diff() 671 self.__diff()
668 672
669 @pyqtSlot() 673 @pyqtSlot()
674 def on_sbsDiffButton_clicked(self):
675 """
676 Private slot to handle the press of the Side-by-Side Diff button.
677 """
678 self.__sbsDiff()
679
680 @pyqtSlot()
670 def on_revertButton_clicked(self): 681 def on_revertButton_clicked(self):
671 """ 682 """
672 Private slot to handle the press of the Revert button. 683 Private slot to handle the press of the Revert button.
673 """ 684 """
674 self.__revert() 685 self.__revert()
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))

eric ide

mercurial