Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py

changeset 2845
7e55c6268c35
parent 2771
281c9b30dd91
child 2847
1843ef6e2656
child 2963
745d38097b7f
equal deleted inserted replaced
2844:a61ee61b1c2c 2845:7e55c6268c35
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 """
659 Private slot to handle the press of the Differences button. 663 Private slot to handle the press of the Differences button.
660 """ 664 """
661 self.__diff() 665 self.__diff()
662 666
663 @pyqtSlot() 667 @pyqtSlot()
668 def on_sbsDiffButton_clicked(self):
669 """
670 Private slot to handle the press of the Side-by-Side Diff button.
671 """
672 self.__sbsDiff()
673
674 @pyqtSlot()
664 def on_revertButton_clicked(self): 675 def on_revertButton_clicked(self):
665 """ 676 """
666 Private slot to handle the press of the Revert button. 677 Private slot to handle the press of the Revert button.
667 """ 678 """
668 self.__revert() 679 self.__revert()
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))

eric ide

mercurial