Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py

changeset 235
7cb9905b0cf9
parent 215
e8978dca44af
child 236
d03ae0227f1c
equal deleted inserted replaced
234:caed45a134f8 235:7cb9905b0cf9
709 self.close() 709 self.close()
710 elif button == self.buttonBox.button(QDialogButtonBox.Cancel): 710 elif button == self.buttonBox.button(QDialogButtonBox.Cancel):
711 self.cancelled = True 711 self.cancelled = True
712 self.__finish() 712 self.__finish()
713 713
714 def __updateDiffButtons(self):
715 """
716 Private slot to update the enabled status of the diff buttons.
717 """
718 selectionLength = len(self.logTree.selectedItems())
719 if selectionLength <= 1:
720 current = self.logTree.currentItem()
721 parents = current.data(0, self.__parentsRole)
722 self.diffP1Button.setEnabled(len(parents) > 0)
723 self.diffP2Button.setEnabled(len(parents) > 1)
724
725 self.diffRevisionsButton.setEnabled(False)
726 elif selectionLength == 2:
727 self.diffP1Button.setEnabled(False)
728 self.diffP2Button.setEnabled(False)
729
730 self.diffRevisionsButton.setEnabled(True)
731 else:
732 self.diffP1Button.setEnabled(False)
733 self.diffP2Button.setEnabled(False)
734
735 self.diffRevisionsButton.setEnabled(False)
736
714 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) 737 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
715 def on_logTree_currentItemChanged(self, current, previous): 738 def on_logTree_currentItemChanged(self, current, previous):
716 """ 739 """
717 Private slot called, when the current item of the log tree changes. 740 Private slot called, when the current item of the log tree changes.
718 741
730 self.__generateFileItem( 753 self.__generateFileItem(
731 change["action"], change["path"], change["copyfrom"]) 754 change["action"], change["path"], change["copyfrom"])
732 self.__resizeColumnsFiles() 755 self.__resizeColumnsFiles()
733 self.__resortFiles() 756 self.__resortFiles()
734 757
735 parents = current.data(0, self.__parentsRole) 758 self.__updateDiffButtons()
736 self.diffP1Button.setEnabled(len(parents) > 0) 759 ##
737 self.diffP2Button.setEnabled(len(parents) > 1) 760 ## parents = current.data(0, self.__parentsRole)
761 ## self.diffP1Button.setEnabled(len(parents) > 0)
762 ## self.diffP2Button.setEnabled(len(parents) > 1)
763
764 @pyqtSlot()
765 def on_logTree_itemSelectionChanged(self):
766 """
767 Private slot called, when the selection has changed.
768 """
769 ## self.diffRevisionsButton.setEnabled(len(self.logTree.selectedItems()) == 2)
770 if len(self.logTree.selectedItems()) == 1:
771 self.logTree.setCurrentItem(self.logTree.selectedItems()[0])
772
773 self.__updateDiffButtons()
738 774
739 @pyqtSlot() 775 @pyqtSlot()
740 def on_nextButton_clicked(self): 776 def on_nextButton_clicked(self):
741 """ 777 """
742 Private slot to handle the Next button. 778 Private slot to handle the Next button.
777 if rev1 < 0: 813 if rev1 < 0:
778 self.diffP2Button.setEnabled(False) 814 self.diffP2Button.setEnabled(False)
779 return 815 return
780 816
781 self.__diffRevisions(rev1, rev2) 817 self.__diffRevisions(rev1, rev2)
818
819 @pyqtSlot()
820 def on_diffRevisionsButton_clicked(self):
821 """
822 Private slot to handle the Compare Revisions button.
823 """
824 items = self.logTree.selectedItems()
825
826 rev2 = int(items[0].text(self.RevisionColumn).split(":")[0])
827 rev1 = int(items[1].text(self.RevisionColumn).split(":")[0])
828
829 self.__diffRevisions(min(rev1, rev2), max(rev1, rev2))
782 830
783 @pyqtSlot(QDate) 831 @pyqtSlot(QDate)
784 def on_fromDate_dateChanged(self, date): 832 def on_fromDate_dateChanged(self, date):
785 """ 833 """
786 Private slot called, when the from date changes. 834 Private slot called, when the from date changes.

eric ide

mercurial