eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigHostMinimumProtocolDialog.py

Sat, 21 Sep 2019 22:03:03 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 21 Sep 2019 22:03:03 +0200
changeset 7257
c4d0cac9b5c9
parent 7229
53054eb5b15a
child 7360
9190402e4505
permissions
-rw-r--r--

Continued to resolve code style issue M841.

5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
6645
ad476851d7e0 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
3 # Copyright (c) 2016 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the minimum protocol for a host.
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt5.QtCore import pyqtSlot
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
14 from .Ui_HgUserConfigHostMinimumProtocolDialog import (
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 Ui_HgUserConfigHostMinimumProtocolDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
16 )
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class HgUserConfigHostMinimumProtocolDialog(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 QDialog, Ui_HgUserConfigHostMinimumProtocolDialog):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Class implementing a dialog to enter the minimum protocol for a host.
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 def __init__(self, allowedProtocols, parent=None, host="", protocol=""):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Constructor
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param allowedProtocols dictionary containing the allowed protocols
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 with the value as key and the display string as value
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @type dict
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param parent reference to the parent widget
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 @type QWidget
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param host host name
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type str
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @param protocol name of the minimum protocol for the host
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @type str
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 super(HgUserConfigHostMinimumProtocolDialog, self).__init__(parent)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.setupUi(self)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.minimumProtocolComboBox.addItem("", "")
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 for minimumProtocol in sorted(allowedProtocols.keys()):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.minimumProtocolComboBox.addItem(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 allowedProtocols[minimumProtocol], minimumProtocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.hostEdit.setText(host)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 index = self.minimumProtocolComboBox.findData(protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 if index == -1:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 index = 0
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.minimumProtocolComboBox.setCurrentIndex(index)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 msh = self.minimumSizeHint()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.resize(max(self.width(), msh.width()), msh.height())
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.__updateOkButton()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 def __updateOkButton(self):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 Private method to update the status of the Ok button.
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 enabled = (
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 bool(self.hostEdit.text()) and
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.minimumProtocolComboBox.currentIndex() > 0
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 )
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enabled)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 @pyqtSlot(str)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 def on_hostEdit_textChanged(self, txt):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 Private slot to handle changes of the host edit.
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 @param txt current text
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 @type str
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.__updateOkButton()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 @pyqtSlot(int)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 def on_minimumProtocolComboBox_currentIndexChanged(self, index):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 Private slot to handle the selection of a minimum protocol.
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 @param index index of the selected entry
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 @type int
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.__updateOkButton()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 def getData(self):
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Public method to retrieve the data.
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @return tuple containig the host name and the minimum protocol
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 @rtype tuple of two str
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 """
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 return (
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 self.hostEdit.text().strip(),
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.minimumProtocolComboBox.itemData(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 self.minimumProtocolComboBox.currentIndex())
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 )

eric ide

mercurial