Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py

changeset 2845
7e55c6268c35
parent 2616
954b4069325b
child 2847
1843ef6e2656
child 2963
745d38097b7f
equal deleted inserted replaced
2844:a61ee61b1c2c 2845:7e55c6268c35
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 pysvn.svn_version >= (1, 5, 0) and pysvn.version >= (1, 6, 0): 97 if pysvn.svn_version >= (1, 5, 0) and pysvn.version >= (1, 6, 0):
262 act.setEnabled(False) 264 act.setEnabled(False)
263 265
264 self.addButton.setEnabled(False) 266 self.addButton.setEnabled(False)
265 self.commitButton.setEnabled(False) 267 self.commitButton.setEnabled(False)
266 self.diffButton.setEnabled(False) 268 self.diffButton.setEnabled(False)
269 self.sbsDiffButton.setEnabled(False)
267 self.revertButton.setEnabled(False) 270 self.revertButton.setEnabled(False)
268 self.restoreButton.setEnabled(False) 271 self.restoreButton.setEnabled(False)
269 272
270 self.statusFilterCombo.clear() 273 self.statusFilterCombo.clear()
271 self.__statusFilters = [] 274 self.__statusFilters = []
482 unversioned = len(self.__getUnversionedItems()) 485 unversioned = len(self.__getUnversionedItems())
483 missing = len(self.__getMissingItems()) 486 missing = len(self.__getMissingItems())
484 487
485 self.addButton.setEnabled(unversioned) 488 self.addButton.setEnabled(unversioned)
486 self.diffButton.setEnabled(modified) 489 self.diffButton.setEnabled(modified)
490 self.sbsDiffButton.setEnabled(modified == 1)
487 self.revertButton.setEnabled(modified) 491 self.revertButton.setEnabled(modified)
488 self.restoreButton.setEnabled(missing) 492 self.restoreButton.setEnabled(missing)
489 493
490 def __updateCommitButton(self): 494 def __updateCommitButton(self):
491 """ 495 """
548 Private slot to handle the press of the Differences button. 552 Private slot to handle the press of the Differences button.
549 """ 553 """
550 self.__diff() 554 self.__diff()
551 555
552 @pyqtSlot() 556 @pyqtSlot()
557 def on_sbsDiffButton_clicked(self):
558 """
559 Private slot to handle the press of the Side-by-Side Diff button.
560 """
561 self.__sbsDiff()
562
563 @pyqtSlot()
553 def on_revertButton_clicked(self): 564 def on_revertButton_clicked(self):
554 """ 565 """
555 Private slot to handle the press of the Revert button. 566 Private slot to handle the press of the Revert button.
556 """ 567 """
557 self.__revert() 568 self.__revert()
692 from .SvnDiffDialog import SvnDiffDialog 703 from .SvnDiffDialog import SvnDiffDialog
693 self.diff = SvnDiffDialog(self.vcs) 704 self.diff = SvnDiffDialog(self.vcs)
694 self.diff.show() 705 self.diff.show()
695 QApplication.processEvents() 706 QApplication.processEvents()
696 self.diff.start(names) 707 self.diff.start(names)
697 708
709 def __sbsDiff(self):
710 """
711 Private slot to handle the Side-by-Side Diff context menu entry.
712 """
713 names = [os.path.join(self.dname, itm.text(self.__pathColumn))
714 for itm in self.__getModifiedItems()]
715 if not names:
716 E5MessageBox.information(self,
717 self.trUtf8("Side-by-Side Diff"),
718 self.trUtf8("""There are no uncommitted changes"""
719 """ available/selected."""))
720 return
721 elif len(names) > 1:
722 E5MessageBox.information(self,
723 self.trUtf8("Side-by-Side Diff"),
724 self.trUtf8("""Only one file with uncommitted changes"""
725 """ must be selected."""))
726 return
727
728 self.vcs.svnSbsDiff(names[0])
729
698 def __lock(self): 730 def __lock(self):
699 """ 731 """
700 Private slot to handle the Lock context menu entry. 732 Private slot to handle the Lock context menu entry.
701 """ 733 """
702 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \ 734 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) \

eric ide

mercurial