eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigHostMinimumProtocolDialog.py

Wed, 30 Dec 2020 11:00:05 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 30 Dec 2020 11:00:05 +0100
changeset 7923
91e843545d9a
parent 7780
41420f82c0ac
child 8143
2c730d5fd177
permissions
-rw-r--r--

Updated copyright for 2021.

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

eric ide

mercurial