Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py

branch
Py2 comp.
changeset 2847
1843ef6e2656
parent 2677
3d4277929fb3
parent 2845
7e55c6268c35
child 3057
10516539f238
equal deleted inserted replaced
2846:b852fe4d153a 2847:1843ef6e2656
88 self.menu.addSeparator() 88 self.menu.addSeparator()
89 self.menuactions.append(self.menu.addAction( 89 self.menuactions.append(self.menu.addAction(
90 self.trUtf8("Add to repository"), self.__add)) 90 self.trUtf8("Add to repository"), self.__add))
91 self.menuactions.append(self.menu.addAction( 91 self.menuactions.append(self.menu.addAction(
92 self.trUtf8("Show differences"), self.__diff)) 92 self.trUtf8("Show differences"), self.__diff))
93 self.menuactions.append(self.menu.addAction(
94 self.trUtf8("Show differences side-by-side"), self.__sbsDiff))
93 self.menuactions.append(self.menu.addAction( 95 self.menuactions.append(self.menu.addAction(
94 self.trUtf8("Revert changes"), self.__revert)) 96 self.trUtf8("Revert changes"), self.__revert))
95 self.menuactions.append(self.menu.addAction( 97 self.menuactions.append(self.menu.addAction(
96 self.trUtf8("Restore missing"), self.__restoreMissing)) 98 self.trUtf8("Restore missing"), self.__restoreMissing))
97 if pysvn.svn_version >= (1, 5, 0) and pysvn.version >= (1, 6, 0): 99 if pysvn.svn_version >= (1, 5, 0) and pysvn.version >= (1, 6, 0):
264 act.setEnabled(False) 266 act.setEnabled(False)
265 267
266 self.addButton.setEnabled(False) 268 self.addButton.setEnabled(False)
267 self.commitButton.setEnabled(False) 269 self.commitButton.setEnabled(False)
268 self.diffButton.setEnabled(False) 270 self.diffButton.setEnabled(False)
271 self.sbsDiffButton.setEnabled(False)
269 self.revertButton.setEnabled(False) 272 self.revertButton.setEnabled(False)
270 self.restoreButton.setEnabled(False) 273 self.restoreButton.setEnabled(False)
271 274
272 self.statusFilterCombo.clear() 275 self.statusFilterCombo.clear()
273 self.__statusFilters = [] 276 self.__statusFilters = []
484 unversioned = len(self.__getUnversionedItems()) 487 unversioned = len(self.__getUnversionedItems())
485 missing = len(self.__getMissingItems()) 488 missing = len(self.__getMissingItems())
486 489
487 self.addButton.setEnabled(unversioned) 490 self.addButton.setEnabled(unversioned)
488 self.diffButton.setEnabled(modified) 491 self.diffButton.setEnabled(modified)
492 self.sbsDiffButton.setEnabled(modified == 1)
489 self.revertButton.setEnabled(modified) 493 self.revertButton.setEnabled(modified)
490 self.restoreButton.setEnabled(missing) 494 self.restoreButton.setEnabled(missing)
491 495
492 def __updateCommitButton(self): 496 def __updateCommitButton(self):
493 """ 497 """
550 Private slot to handle the press of the Differences button. 554 Private slot to handle the press of the Differences button.
551 """ 555 """
552 self.__diff() 556 self.__diff()
553 557
554 @pyqtSlot() 558 @pyqtSlot()
559 def on_sbsDiffButton_clicked(self):
560 """
561 Private slot to handle the press of the Side-by-Side Diff button.
562 """
563 self.__sbsDiff()
564
565 @pyqtSlot()
555 def on_revertButton_clicked(self): 566 def on_revertButton_clicked(self):
556 """ 567 """
557 Private slot to handle the press of the Revert button. 568 Private slot to handle the press of the Revert button.
558 """ 569 """
559 self.__revert() 570 self.__revert()
694 from .SvnDiffDialog import SvnDiffDialog 705 from .SvnDiffDialog import SvnDiffDialog
695 self.diff = SvnDiffDialog(self.vcs) 706 self.diff = SvnDiffDialog(self.vcs)
696 self.diff.show() 707 self.diff.show()
697 QApplication.processEvents() 708 QApplication.processEvents()
698 self.diff.start(names) 709 self.diff.start(names)
699 710
711 def __sbsDiff(self):
712 """
713 Private slot to handle the Side-by-Side Diff context menu entry.
714 """
715 names = [os.path.join(self.dname, itm.text(self.__pathColumn))
716 for itm in self.__getModifiedItems()]
717 if not names:
718 E5MessageBox.information(self,
719 self.trUtf8("Side-by-Side Diff"),
720 self.trUtf8("""There are no uncommitted changes"""
721 """ available/selected."""))
722 return
723 elif len(names) > 1:
724 E5MessageBox.information(self,
725 self.trUtf8("Side-by-Side Diff"),
726 self.trUtf8("""Only one file with uncommitted changes"""
727 """ must be selected."""))
728 return
729
730 self.vcs.svnSbsDiff(names[0])
731
700 def __lock(self): 732 def __lock(self):
701 """ 733 """
702 Private slot to handle the Lock context menu entry. 734 Private slot to handle the Lock context menu entry.
703 """ 735 """
704 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ 736 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \

eric ide

mercurial