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. |