eric6/Plugins/VcsPlugins/vcsPySvn/SvnRevisionSelectionDialog.py

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

eric ide

mercurial