eric7/Plugins/VcsPlugins/vcsPySvn/SvnRevisionSelectionDialog.py

branch
eric7
changeset 8312
800c432b34c8
parent 8218
7c09585bd960
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to enter the revisions for the svn diff command.
8 """
9
10 from PyQt5.QtCore import QDate, QDateTime, Qt
11 from PyQt5.QtWidgets import QDialog
12
13 from .Ui_SvnRevisionSelectionDialog import Ui_SvnRevisionSelectionDialog
14
15
16 class SvnRevisionSelectionDialog(QDialog, Ui_SvnRevisionSelectionDialog):
17 """
18 Class implementing a dialog to enter the revisions for the svn diff
19 command.
20 """
21 def __init__(self, parent=None):
22 """
23 Constructor
24
25 @param parent parent widget of the dialog (QWidget)
26 """
27 super().__init__(parent)
28 self.setupUi(self)
29
30 self.date1Edit.setDate(QDate.currentDate())
31 self.date2Edit.setDate(QDate.currentDate())
32
33 msh = self.minimumSizeHint()
34 self.resize(max(self.width(), msh.width()), msh.height())
35
36 def __getRevision(self, no):
37 """
38 Private method to generate the revision.
39
40 @param no revision number to generate (1 or 2)
41 @return revision (integer or string)
42 """
43 if no == 1:
44 numberButton = self.number1Button
45 numberSpinBox = self.number1SpinBox
46 dateButton = self.date1Button
47 dateEdit = self.date1Edit
48 timeEdit = self.time1Edit
49 headButton = self.head1Button
50 workingButton = self.working1Button
51 baseButton = self.base1Button
52 committedButton = self.committed1Button
53 prevButton = self.prev1Button
54 else:
55 numberButton = self.number2Button
56 numberSpinBox = self.number2SpinBox
57 dateButton = self.date2Button
58 dateEdit = self.date2Edit
59 timeEdit = self.time2Edit
60 headButton = self.head2Button
61 workingButton = self.working2Button
62 baseButton = self.base2Button
63 committedButton = self.committed2Button
64 prevButton = self.prev2Button
65
66 if numberButton.isChecked():
67 return numberSpinBox.value()
68 elif dateButton.isChecked():
69 return "{{{0}}}".format(
70 QDateTime(dateEdit.date(), timeEdit.time())
71 .toString(Qt.DateFormat.ISODate))
72 elif headButton.isChecked():
73 return "HEAD"
74 elif workingButton.isChecked():
75 return "WORKING"
76 elif baseButton.isChecked():
77 return "BASE"
78 elif committedButton.isChecked():
79 return "COMMITTED"
80 elif prevButton.isChecked():
81 return "PREV"
82
83 return ""
84
85 def getRevisions(self):
86 """
87 Public method to get the revisions.
88
89 @return list two integers or strings
90 """
91 rev1 = self.__getRevision(1)
92 rev2 = self.__getRevision(2)
93
94 return [rev1, rev2]

eric ide

mercurial