Plugins/VcsPlugins/vcsMercurial/HgGraftDialog.py

Sun, 31 Dec 2017 16:52:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 31 Dec 2017 16:52:09 +0100
changeset 6048
82ad8ec9548c
parent 5389
9b1c800daff3
child 6458
97480c872ea9
permissions
-rw-r--r--

Updated copyright for 2018.

1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
6048
82ad8ec9548c Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
3 # Copyright (c) 2012 - 2018 Detlev Offenbach <detlev@die-offenbachs.de>
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the data for a graft session.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3145
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3060
diff changeset
10 from __future__ import unicode_literals
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
11
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3178
diff changeset
12 from PyQt5.QtCore import pyqtSlot, QDateTime
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3178
diff changeset
13 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_HgGraftDialog import Ui_HgGraftDialog
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class HgGraftDialog(QDialog, Ui_HgGraftDialog):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a dialog to enter the data for a graft session.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
2543
eb9472947653 Added a 'Copy Changesets' button to the Mercurial log browser dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
22 def __init__(self, vcs, revs=None, parent=None):
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Constructor
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
1990
7fee3661c4f9 Added support for --log and --dry-run to the hg graft operation and added code to disable the (deprecated) transplant menu for Mercurial 2.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1655
diff changeset
26 @param vcs reference to the VCS object (Hg)
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2543
diff changeset
27 @param revs list of revisions to show in the revisions pane (list of
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2543
diff changeset
28 strings)
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @param parent reference to the parent widget (QWidget)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
31 super(HgGraftDialog, self).__init__(parent)
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 self.setupUi(self)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.dateTimeEdit.setDateTime(QDateTime.currentDateTime())
1990
7fee3661c4f9 Added support for --log and --dry-run to the hg graft operation and added code to disable the (deprecated) transplant menu for Mercurial 2.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1655
diff changeset
35
2543
eb9472947653 Added a 'Copy Changesets' button to the Mercurial log browser dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
36 if revs:
eb9472947653 Added a 'Copy Changesets' button to the Mercurial log browser dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
37 self.revisionsEdit.setPlainText("\n".join(sorted(revs)))
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.__updateOk()
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 def __updateOk(self):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 Private slot to update the state of the OK button.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 enable = self.revisionsEdit.toPlainText() != ""
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 if self.userGroup.isChecked():
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 enable = enable and \
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3023
diff changeset
48 (self.currentUserCheckBox.isChecked() or
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.userEdit.text() != "")
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @pyqtSlot()
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 def on_revisionsEdit_textChanged(self):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Private slot to react upon changes of revisions.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__updateOk()
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 @pyqtSlot(bool)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 def on_userGroup_toggled(self, checked):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 Private slot to handle changes of the user group state.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @param checked flag giving the checked state (boolean)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.__updateOk()
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 @pyqtSlot(bool)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 def on_currentUserCheckBox_toggled(self, checked):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 Private slot to handle changes of the currentuser state.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 @param checked flag giving the checked state (boolean)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.__updateOk()
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 @pyqtSlot(str)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 def on_userEdit_textChanged(self, txt):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 Private slot to handle changes of the user name.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 @param txt text of the edit (string)
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.__updateOk()
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 def getData(self):
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Public method to retrieve the entered data.
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @return tuple with list of revisions, a tuple giving a
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 flag indicating to set the user, a flag indicating to use the
1990
7fee3661c4f9 Added support for --log and --dry-run to the hg graft operation and added code to disable the (deprecated) transplant menu for Mercurial 2.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1655
diff changeset
93 current user and the user name, another tuple giving a flag
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 indicating to set the date, a flag indicating to use the
1990
7fee3661c4f9 Added support for --log and --dry-run to the hg graft operation and added code to disable the (deprecated) transplant menu for Mercurial 2.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1655
diff changeset
95 current date and the date, a flag indicating to append graft info
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2543
diff changeset
96 to the log message and a flag indicating a dry-run (list of
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2543
diff changeset
97 strings, (boolean, boolean, string), (boolean, boolean, string),
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2543
diff changeset
98 boolean, boolean)
1655
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 userData = (self.userGroup.isChecked(),
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 self.currentUserCheckBox.isChecked(),
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 self.userEdit.text())
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 dateData = (self.dateGroup.isChecked(),
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.currentDateCheckBox.isChecked(),
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 self.dateTimeEdit.dateTime().toString("yyyy-MM-dd hh:mm"))
d2b583fdde1c Added support for the graft command as of Mercurial 2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 return (self.revisionsEdit.toPlainText().strip().splitlines(),
3023
34ce20603bf7 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
107 userData, dateData,
34ce20603bf7 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
108 self.logCheckBox.isChecked(),
34ce20603bf7 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3008
diff changeset
109 self.dryRunCheckBox.isChecked())

eric ide

mercurial