src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py
--- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py	Wed Jul 13 14:55:47 2022 +0200
@@ -20,12 +20,8 @@
 import Globals
 
 from .HgUtilities import getConfigPath
-from .HgUserConfigHostFingerprintDialog import (
-    HgUserConfigHostFingerprintDialog
-)
-from .HgUserConfigHostMinimumProtocolDialog import (
-    HgUserConfigHostMinimumProtocolDialog
-)
+from .HgUserConfigHostFingerprintDialog import HgUserConfigHostFingerprintDialog
+from .HgUserConfigHostMinimumProtocolDialog import HgUserConfigHostMinimumProtocolDialog
 
 from .Ui_HgUserConfigDialog import Ui_HgUserConfigDialog
 
@@ -36,10 +32,11 @@
     """
     Class implementing a dialog to enter some user data.
     """
+
     def __init__(self, version=(0, 0, 0), parent=None):
         """
         Constructor
-        
+
         @param version Mercurial version info
         @type tuple of three integers
         @param parent reference to the parent widget
@@ -47,66 +44,70 @@
         """
         super().__init__(parent)
         self.setupUi(self)
-        
+
         self.__version = version
-        
+
         self.__minimumProtocols = {
             "tls1.0": self.tr("TLS 1.0"),
             "tls1.1": self.tr("TLS 1.1"),
             "tls1.2": self.tr("TLS 1.2"),
         }
-        
+
         self.lfUserCachePicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
         if Globals.isLinuxPlatform():
-            self.lfUserCachePicker.setDefaultDirectory(os.path.expanduser(
-                "~/.cache/largefiles"))
+            self.lfUserCachePicker.setDefaultDirectory(
+                os.path.expanduser("~/.cache/largefiles")
+            )
         elif Globals.isMacPlatform():
-            self.lfUserCachePicker.setDefaultDirectory(os.path.expanduser(
-                "~/Library/Caches/largefiles"))
+            self.lfUserCachePicker.setDefaultDirectory(
+                os.path.expanduser("~/Library/Caches/largefiles")
+            )
         else:
-            self.lfUserCachePicker.setDefaultDirectory(os.path.expanduser(
-                "~\\AppData\\Local\\largefiles"))
-        
+            self.lfUserCachePicker.setDefaultDirectory(
+                os.path.expanduser("~\\AppData\\Local\\largefiles")
+            )
+
         self.fpAddButton.setIcon(UI.PixmapCache.getIcon("plus"))
         self.fpDeleteButton.setIcon(UI.PixmapCache.getIcon("minus"))
         self.fpEditButton.setIcon(UI.PixmapCache.getIcon("edit"))
-        
+
         self.protocolAddButton.setIcon(UI.PixmapCache.getIcon("plus"))
         self.protocolDeleteButton.setIcon(UI.PixmapCache.getIcon("minus"))
         self.protocolEditButton.setIcon(UI.PixmapCache.getIcon("edit"))
-        
+
         self.minimumProtocolComboBox.addItem(self.tr("Default"), "")
         for protocol in sorted(self.__minimumProtocols.keys()):
             self.minimumProtocolComboBox.addItem(
-                self.__minimumProtocols[protocol], protocol)
-        
+                self.__minimumProtocols[protocol], protocol
+            )
+
         self.fingerprintsList.headerItem().setText(
-            self.fingerprintsList.columnCount(), "")
-        self.protocolsList.headerItem().setText(
-            self.protocolsList.columnCount(), "")
-        
+            self.fingerprintsList.columnCount(), ""
+        )
+        self.protocolsList.headerItem().setText(self.protocolsList.columnCount(), "")
+
         if self.__version < (3, 9, 0):
             self.disableTls10WarningCheckBox.setEnabled(False)
             self.minimumProtocolComboBox.setEnabled(False)
             self.minimumProtcolGroupBox.setEnabled(False)
-        
+
         self.tabWidget.setCurrentIndex(0)
-        
+
         self.__editor = None
-        
+
         self.__config = None
         self.readUserConfig()
-    
+
         self.__updateFingerprintsButtons()
         self.__updateProtocolsButtons()
-    
+
     def writeUserConfig(self):
         """
         Public method to write the user configuration file.
         """
         if self.__config is None:
             self.__config = ConfigParser()
-        
+
         ###################################################################
         ## ui section
         ###################################################################
@@ -121,56 +122,56 @@
         ###################################################################
         if "extensions" not in self.__config:
             self.__config["extensions"] = {}
-        
+
         if self.gpgCheckBox.isChecked():
             self.__config["extensions"]["gpg"] = ""
         else:
             if "gpg" in self.__config["extensions"]:
                 del self.__config["extensions"]["gpg"]
             self.__config["extensions"]["#gpg"] = ""
-        
+
         if self.purgeCheckBox.isChecked():
             self.__config["extensions"]["purge"] = ""
         else:
             if "purge" in self.__config["extensions"]:
                 del self.__config["extensions"]["purge"]
             self.__config["extensions"]["#purge"] = ""
-        
+
         if self.queuesCheckBox.isChecked():
             self.__config["extensions"]["mq"] = ""
         else:
             if "mq" in self.__config["extensions"]:
                 del self.__config["extensions"]["mq"]
             self.__config["extensions"]["#mq"] = ""
-        
+
         if self.rebaseCheckBox.isChecked():
             self.__config["extensions"]["rebase"] = ""
         else:
             if "rebase" in self.__config["extensions"]:
                 del self.__config["extensions"]["rebase"]
             self.__config["extensions"]["#rebase"] = ""
-        
+
         if self.shelveCheckBox.isChecked():
             self.__config["extensions"]["shelve"] = ""
         else:
             if "shelve" in self.__config["extensions"]:
                 del self.__config["extensions"]["shelve"]
             self.__config["extensions"]["#shelve"] = ""
-        
+
         if self.stripCheckBox.isChecked():
             self.__config["extensions"]["strip"] = ""
         else:
             if "strip" in self.__config["extensions"]:
                 del self.__config["extensions"]["strip"]
             self.__config["extensions"]["#strip"] = ""
-        
+
         if self.histeditCheckBox.isChecked():
             self.__config["extensions"]["histedit"] = ""
         else:
             if "histedit" in self.__config["extensions"]:
                 del self.__config["extensions"]["histedit"]
             self.__config["extensions"]["#histedit"] = ""
-        
+
         if self.largefilesCheckBox.isChecked():
             self.__config["extensions"]["largefiles"] = ""
             ###############################################################
@@ -178,9 +179,7 @@
             ###############################################################
             if "largefiles" not in self.__config:
                 self.__config["largefiles"] = {}
-            self.__config["largefiles"]["minsize"] = (
-                str(self.lfFileSizeSpinBox.value())
-            )
+            self.__config["largefiles"]["minsize"] = str(self.lfFileSizeSpinBox.value())
             lfFilePatterns = self.lfFilePatternsEdit.text()
             if lfFilePatterns:
                 self.__config["largefiles"]["patterns"] = lfFilePatterns
@@ -195,7 +194,7 @@
             if "largefiles" in self.__config["extensions"]:
                 del self.__config["extensions"]["largefiles"]
             self.__config["extensions"]["#largefiles"] = ""
-        
+
         if self.closeheadCheckBox.isChecked() and self.__version >= (4, 8, 0):
             self.__config["extensions"]["closehead"] = ""
         else:
@@ -209,12 +208,10 @@
             self.__config["http_proxy"] = {
                 "host": self.proxyHostEdit.text(),
                 "user": self.proxyUserEdit.text(),
-                "passwd": self.proxyPasswordEdit.text()
+                "passwd": self.proxyPasswordEdit.text(),
             }
             if self.proxyBypassEdit.text():
-                self.__config["http_proxy"]["no"] = (
-                    self.proxyBypassEdit.text()
-                )
+                self.__config["http_proxy"]["no"] = self.proxyBypassEdit.text()
         else:
             if "http_proxy" in self.__config:
                 del self.__config["http_proxy"]
@@ -227,7 +224,7 @@
             #
             if "hostsecurity" in self.__config:
                 del self.__config["hostsecurity"]
-            
+
             #
             # hostfingerprints section
             #
@@ -238,9 +235,7 @@
                     fingerprint = itm.text(1)
                     if fingerprint.startswith("sha1:"):
                         fingerprint = fingerprint[5:]
-                    self.__config["hostfingerprints"][itm.text(0)] = (
-                        fingerprint
-                    )
+                    self.__config["hostfingerprints"][itm.text(0)] = fingerprint
             else:
                 if "hostfingerprints" in self.__config:
                     del self.__config["hostfingerprints"]
@@ -250,41 +245,36 @@
             #
             if "hostfingerprints" in self.__config:
                 del self.__config["hostfingerprints"]
-            
+
             #
             # hostsecurity section
             #
             if "hostsecurity" not in self.__config:
                 self.__config["hostsecurity"] = {}
-            
+
             if self.fingerprintsList.topLevelItemCount() > 0:
                 self.__clearFingerprints()
                 fingerprints = self.__assembleFingerprints()
                 for host in fingerprints:
                     key = "{0}:fingerprints".format(host)
-                    self.__config["hostsecurity"][key] = (
-                        ", ".join(fingerprints[host])
-                    )
+                    self.__config["hostsecurity"][key] = ", ".join(fingerprints[host])
             else:
                 self.__clearFingerprints()
-            
+
             if self.disableTls10WarningCheckBox.isChecked():
                 disabletls10warning = "true"
             else:
                 disabletls10warning = "false"
-            self.__config["hostsecurity"]["disabletls10warning"] = (
-                disabletls10warning
-            )
-            
+            self.__config["hostsecurity"]["disabletls10warning"] = disabletls10warning
+
             if self.minimumProtocolComboBox.currentIndex() == 0:
                 self.__config.remove_option("hostsecurity", "minimumprotocol")
             else:
                 minimumProtocol = self.minimumProtocolComboBox.itemData(
-                    self.minimumProtocolComboBox.currentIndex())
-                self.__config["hostsecurity"]["minimumprotocol"] = (
-                    minimumProtocol
+                    self.minimumProtocolComboBox.currentIndex()
                 )
-            
+                self.__config["hostsecurity"]["minimumprotocol"] = minimumProtocol
+
             if self.protocolsList.topLevelItemCount() > 0:
                 self.__clearMinimumProtocols()
                 minimumProtocols = self.__assembleMinimumProtocols()
@@ -293,21 +283,21 @@
                     self.__config["hostsecurity"][key] = minimumProtocols[host]
             else:
                 self.__clearMinimumProtocols()
-            
+
             if len(self.__config.options("hostsecurity")) == 0:
                 del self.__config["hostsecurity"]
         ###################################################################
-        
+
         cfgFile = getConfigPath()
         with open(cfgFile, "w") as configFile:
             self.__config.write(configFile)
-    
+
     def readUserConfig(self):
         """
         Public method to read the user configuration file.
         """
         cfgFile = getConfigPath()
-        
+
         self.__config = ConfigParser(delimiters=("=",))
         if self.__config.read(cfgFile):
             # step 1: extract user name and email
@@ -320,79 +310,75 @@
                     email = ""
                 self.userNameEdit.setText(name.strip()),
                 self.emailEdit.setText(email.strip()),
-            
+
             # step 2: extract extensions information
             if "extensions" in self.__config:
-                self.gpgCheckBox.setChecked(
-                    "gpg" in self.__config["extensions"])
-                self.purgeCheckBox.setChecked(
-                    "purge" in self.__config["extensions"])
-                self.queuesCheckBox.setChecked(
-                    "mq" in self.__config["extensions"])
-                self.rebaseCheckBox.setChecked(
-                    "rebase" in self.__config["extensions"])
-                self.shelveCheckBox.setChecked(
-                    "shelve" in self.__config["extensions"])
+                self.gpgCheckBox.setChecked("gpg" in self.__config["extensions"])
+                self.purgeCheckBox.setChecked("purge" in self.__config["extensions"])
+                self.queuesCheckBox.setChecked("mq" in self.__config["extensions"])
+                self.rebaseCheckBox.setChecked("rebase" in self.__config["extensions"])
+                self.shelveCheckBox.setChecked("shelve" in self.__config["extensions"])
                 self.largefilesCheckBox.setChecked(
-                    "largefiles" in self.__config["extensions"])
-                self.stripCheckBox.setChecked(
-                    "strip" in self.__config["extensions"])
+                    "largefiles" in self.__config["extensions"]
+                )
+                self.stripCheckBox.setChecked("strip" in self.__config["extensions"])
                 self.histeditCheckBox.setChecked(
-                    "histedit" in self.__config["extensions"])
+                    "histedit" in self.__config["extensions"]
+                )
                 self.closeheadCheckBox.setChecked(
-                    "closehead" in self.__config["extensions"])
+                    "closehead" in self.__config["extensions"]
+                )
             self.closeheadCheckBox.setEnabled(self.__version >= (4, 8, 0))
-            
+
             # step 3: extract large files information
             if "largefiles" in self.__config:
                 if "minsize" in self.__config["largefiles"]:
                     self.lfFileSizeSpinBox.setValue(
-                        self.__config.getint("largefiles", "minsize"))
+                        self.__config.getint("largefiles", "minsize")
+                    )
                 if "patterns" in self.__config["largefiles"]:
                     self.lfFilePatternsEdit.setText(
-                        self.__config["largefiles"]["patterns"])
+                        self.__config["largefiles"]["patterns"]
+                    )
                 if "usercache" in self.__config["largefiles"]:
                     self.lfUserCachePicker.setText(
-                        self.__config["largefiles"]["usercache"])
-            
+                        self.__config["largefiles"]["usercache"]
+                    )
+
             # step 4: extract http proxy information
             if "http_proxy" in self.__config:
                 if "host" in self.__config["http_proxy"]:
-                    self.proxyHostEdit.setText(
-                        self.__config["http_proxy"]["host"])
+                    self.proxyHostEdit.setText(self.__config["http_proxy"]["host"])
                 if "user" in self.__config["http_proxy"]:
-                    self.proxyUserEdit.setText(
-                        self.__config["http_proxy"]["user"])
+                    self.proxyUserEdit.setText(self.__config["http_proxy"]["user"])
                 if "passwd" in self.__config["http_proxy"]:
                     self.proxyPasswordEdit.setText(
-                        self.__config["http_proxy"]["passwd"])
+                        self.__config["http_proxy"]["passwd"]
+                    )
                 if "no" in self.__config["http_proxy"]:
-                    self.proxyBypassEdit.setText(
-                        self.__config["http_proxy"]["no"])
-            
+                    self.proxyBypassEdit.setText(self.__config["http_proxy"]["no"])
+
             # step 5a: extract host fingerprints
             if "hostfingerprints" in self.__config:
                 for host in self.__config.options("hostfingerprints"):
                     if self.__version < (3, 9, 0):
-                        QTreeWidgetItem(self.fingerprintsList, [
-                            host,
-                            self.__config["hostfingerprints"][host]
-                        ])
+                        QTreeWidgetItem(
+                            self.fingerprintsList,
+                            [host, self.__config["hostfingerprints"][host]],
+                        )
                     else:
                         # convert to hostsecurity fingerprint
-                        QTreeWidgetItem(self.fingerprintsList, [
-                            host,
-                            "sha1:" + self.__config["hostfingerprints"][host]
-                        ])
-            
+                        QTreeWidgetItem(
+                            self.fingerprintsList,
+                            [host, "sha1:" + self.__config["hostfingerprints"][host]],
+                        )
+
             # step 5b: extract hostsecurity fingerprints
             if "hostsecurity" in self.__config:
                 for key in self.__config.options("hostsecurity"):
                     if key.endswith(":fingerprints"):
                         host = key.replace(":fingerprints", "")
-                        fingerprints = (
-                            self.__config["hostsecurity"][key].split(",")
-                        )
+                        fingerprints = self.__config["hostsecurity"][key].split(",")
                         for fingerprint in fingerprints:
                             if self.__version < (3, 9, 0):
                                 # downgrade from a newer version
@@ -402,53 +388,54 @@
                                     # Mercurial < 3.9.0 supports sha1
                                     # fingerprints only
                                     continue
-                            QTreeWidgetItem(self.fingerprintsList, [
-                                host,
-                                fingerprint.replace("\\", "").strip()
-                            ])
-                    
+                            QTreeWidgetItem(
+                                self.fingerprintsList,
+                                [host, fingerprint.replace("\\", "").strip()],
+                            )
+
                     elif key == "disabletls10warning":
                         self.disableTls10WarningCheckBox.setChecked(
                             self.__config.getboolean(
-                                "hostsecurity", "disabletls10warning"))
-                    
+                                "hostsecurity", "disabletls10warning"
+                            )
+                        )
+
                     elif key == "minimumprotocol":
                         minimumProtocol = self.__config["hostsecurity"][key]
-                        index = self.minimumProtocolComboBox.findData(
-                            minimumProtocol)
+                        index = self.minimumProtocolComboBox.findData(minimumProtocol)
                         if index == -1:
                             index = 0
                         self.minimumProtocolComboBox.setCurrentIndex(index)
-                    
+
                     elif key.endswith(":minimumprotocol"):
                         host = key.replace(":minimumprotocol", "")
                         protocol = self.__config["hostsecurity"][key].strip()
                         if protocol in self.__minimumProtocols:
-                            itm = QTreeWidgetItem(self.protocolsList, [
-                                host,
-                                self.__minimumProtocols[protocol]
-                            ])
+                            itm = QTreeWidgetItem(
+                                self.protocolsList,
+                                [host, self.__minimumProtocols[protocol]],
+                            )
                             itm.setData(1, Qt.ItemDataRole.UserRole, protocol)
-            
+
             self.__finalizeFingerprintsColumns()
             self.__finalizeProtocolsColumns()
-    
+
     @pyqtSlot()
     def accept(self):
         """
         Public slot to accept the dialog.
         """
         self.writeUserConfig()
-        
+
         super().accept()
-    
+
     def __clearDialog(self):
         """
         Private method to clear the data of the dialog.
         """
         self.userNameEdit.clear()
         self.emailEdit.clear()
-        
+
         self.gpgCheckBox.setChecked(False)
         self.purgeCheckBox.setChecked(False)
         self.queuesCheckBox.setChecked(False)
@@ -459,24 +446,24 @@
         self.lfFileSizeSpinBox.setValue(10)
         self.lfFilePatternsEdit.clear()
         self.lfUserCachePicker.clear()
-        
+
         self.proxyHostEdit.clear()
         self.proxyUserEdit.clear()
         self.proxyPasswordEdit.clear()
         self.proxyBypassEdit.clear()
-        
+
         self.fingerprintsList.clear()
         self.__finalizeFingerprintsColumns()
         self.__updateFingerprintsButtons()
-        
+
         self.protocolsList.clear()
         self.__finalizeProtocolsColumns()
         self.__updateProtocolsButtons()
-    
+
     #######################################################################
     ## Methods and slots for the host fingerprint handling below
     #######################################################################
-    
+
     def __clearFingerprints(self):
         """
         Private method to clear the fingerprints from the hostsecurity section.
@@ -485,11 +472,11 @@
             for key in self.__config.options("hostsecurity"):
                 if key.endswith(":fingerprints"):
                     self.__config.remove_option("hostsecurity", key)
-    
+
     def __assembleFingerprints(self):
         """
         Private method to assemble a list of host fingerprints.
-        
+
         @return dictionary with list of fingerprints per host
         @rtype dict with str as key and list of str as value
         """
@@ -503,19 +490,19 @@
             else:
                 hostFingerprints[host] = [fingerprint]
         return hostFingerprints
-    
+
     @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
     def on_fingerprintsList_currentItemChanged(self, current, previous):
         """
         Private slot handling a change of the current fingerprints item.
-        
+
         @param current reference to the current item
         @type QTreeWidgetItem
         @param previous reference to the previous current item
         @type QTreeWidgetItem
         """
         self.__updateFingerprintsButtons()
-    
+
     @pyqtSlot()
     def on_fpAddButton_clicked(self):
         """
@@ -528,7 +515,7 @@
             self.__finalizeFingerprintsColumns()
             self.fingerprintsList.setCurrentItem(itm)
             self.fingerprintsList.scrollToItem(itm)
-    
+
     @pyqtSlot()
     def on_fpDeleteButton_clicked(self):
         """
@@ -540,14 +527,18 @@
             yes = EricMessageBox.yesNo(
                 self,
                 self.tr("Delete Host Fingerprint"),
-                self.tr("""<p>Shall the fingerprint for host <b>{0}</b>"""
-                        """ really be deleted?</p>""").format(host))
+                self.tr(
+                    """<p>Shall the fingerprint for host <b>{0}</b>"""
+                    """ really be deleted?</p>"""
+                ).format(host),
+            )
             if yes:
                 self.fingerprintsList.takeTopLevelItem(
-                    self.fingerprintsList.indexOfTopLevelItem(itm))
+                    self.fingerprintsList.indexOfTopLevelItem(itm)
+                )
                 del itm
                 self.__finalizeFingerprintsColumns()
-    
+
     @pyqtSlot()
     def on_fpEditButton_clicked(self):
         """
@@ -557,15 +548,16 @@
         if itm is not None:
             host = itm.text(0)
             fingerprint = itm.text(1)
-            dlg = HgUserConfigHostFingerprintDialog(self, host, fingerprint,
-                                                    version=self.__version)
+            dlg = HgUserConfigHostFingerprintDialog(
+                self, host, fingerprint, version=self.__version
+            )
             if dlg.exec() == QDialog.DialogCode.Accepted:
                 host, fingerprint = dlg.getData()
                 itm.setText(0, host)
                 itm.setText(1, fingerprint)
                 self.__finalizeFingerprintsColumns()
                 self.fingerprintsList.scrollToItem(itm)
-    
+
     def __finalizeFingerprintsColumns(self):
         """
         Private method to resize and sort the host fingerprints columns.
@@ -573,7 +565,7 @@
         for col in range(self.fingerprintsList.columnCount()):
             self.fingerprintsList.resizeColumnToContents(col)
         self.fingerprintsList.sortItems(0, Qt.SortOrder.AscendingOrder)
-    
+
     def __updateFingerprintsButtons(self):
         """
         Private slot to update the host fingerprints edit buttons.
@@ -581,11 +573,11 @@
         enable = self.fingerprintsList.currentItem() is not None
         self.fpDeleteButton.setEnabled(enable)
         self.fpEditButton.setEnabled(enable)
-    
+
     #######################################################################
     ## Methods and slots for the host minimum protocol handling below
     #######################################################################
-    
+
     def __clearMinimumProtocols(self):
         """
         Private method to clear the minimum protocols from the hostsecurity
@@ -595,11 +587,11 @@
             for key in self.__config.options("hostsecurity"):
                 if key.endswith(":minimumprotocol"):
                     self.__config.remove_option("hostsecurity", key)
-    
+
     def __assembleMinimumProtocols(self):
         """
         Private method to assemble a list of host minimum protocols.
-        
+
         @return dictionary with list of minimum protocol per host
         @rtype dict with str as key and str as value
         """
@@ -610,37 +602,35 @@
             minimumProtocol = itm.data(1, Qt.ItemDataRole.UserRole)
             minimumProtocols[host] = minimumProtocol
         return minimumProtocols
-    
+
     @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
     def on_protocolsList_currentItemChanged(self, current, previous):
         """
         Private slot handling a change of the current minimum protocol item.
-        
+
         @param current reference to the current item
         @type QTreeWidgetItem
         @param previous reference to the previous current item
         @type QTreeWidgetItem
         """
         self.__updateProtocolsButtons()
-    
+
     @pyqtSlot()
     def on_protocolAddButton_clicked(self):
         """
         Private slot to add a minimum protocol entry.
         """
-        dlg = HgUserConfigHostMinimumProtocolDialog(self.__minimumProtocols,
-                                                    self)
+        dlg = HgUserConfigHostMinimumProtocolDialog(self.__minimumProtocols, self)
         if dlg.exec() == QDialog.DialogCode.Accepted:
             host, protocol = dlg.getData()
-            itm = QTreeWidgetItem(self.protocolsList, [
-                host,
-                self.__minimumProtocols[protocol]
-            ])
+            itm = QTreeWidgetItem(
+                self.protocolsList, [host, self.__minimumProtocols[protocol]]
+            )
             itm.setData(1, Qt.ItemDataRole.UserRole, protocol)
             self.__finalizeProtocolsColumns()
             self.protocolsList.setCurrentItem(itm)
             self.protocolsList.scrollToItem(itm)
-    
+
     @pyqtSlot()
     def on_protocolDeleteButton_clicked(self):
         """
@@ -652,14 +642,18 @@
             yes = EricMessageBox.yesNo(
                 self,
                 self.tr("Delete Host Minimum Protocol"),
-                self.tr("""<p>Shall the minimum protocol entry for host"""
-                        """ <b>{0}</b> really be deleted?</p>""").format(host))
+                self.tr(
+                    """<p>Shall the minimum protocol entry for host"""
+                    """ <b>{0}</b> really be deleted?</p>"""
+                ).format(host),
+            )
             if yes:
                 self.protocolsList.takeTopLevelItem(
-                    self.protocolsList.indexOfTopLevelItem(itm))
+                    self.protocolsList.indexOfTopLevelItem(itm)
+                )
                 del itm
                 self.__finalizeProtocolsColumns()
-    
+
     @pyqtSlot()
     def on_protocolEditButton_clicked(self):
         """
@@ -670,7 +664,8 @@
             host = itm.text(0)
             protocol = itm.data(1, Qt.ItemDataRole.UserRole)
             dlg = HgUserConfigHostMinimumProtocolDialog(
-                self.__minimumProtocols, self, host, protocol)
+                self.__minimumProtocols, self, host, protocol
+            )
             if dlg.exec() == QDialog.DialogCode.Accepted:
                 host, protocol = dlg.getData()
                 itm.setText(0, host)
@@ -678,7 +673,7 @@
                 itm.setData(1, Qt.ItemDataRole.UserRole, protocol)
                 self.__finalizeProtocolsColumns()
                 self.protocolsList.scrollToItem(itm)
-    
+
     def __finalizeProtocolsColumns(self):
         """
         Private method to resize and sort the host fingerprints columns.
@@ -686,7 +681,7 @@
         for col in range(self.protocolsList.columnCount()):
             self.protocolsList.resizeColumnToContents(col)
         self.protocolsList.sortItems(0, Qt.SortOrder.AscendingOrder)
-    
+
     def __updateProtocolsButtons(self):
         """
         Private slot to update the host minimum protocol edit buttons.
@@ -694,38 +689,42 @@
         enable = self.protocolsList.currentItem() is not None
         self.protocolDeleteButton.setEnabled(enable)
         self.protocolEditButton.setEnabled(enable)
-    
+
     #######################################################################
     ## Slot to edit the user configuration in an editor below
     #######################################################################
-    
+
     @pyqtSlot()
     def on_editorButton_clicked(self):
         """
         Private slot to open the user configuration file in a text editor.
         """
         from QScintilla.MiniEditor import MiniEditor
+
         cfgFile = getConfigPath()
-        
+
         yes = EricMessageBox.yesNo(
             self,
             self.tr("Edit User Configuration"),
-            self.tr("""You will loose all changes made in this dialog."""
-                    """ Shall the data be saved first?"""),
+            self.tr(
+                """You will loose all changes made in this dialog."""
+                """ Shall the data be saved first?"""
+            ),
             icon=EricMessageBox.Warning,
-            yesDefault=True)
+            yesDefault=True,
+        )
         if yes:
             self.writeUserConfig()
-        
+
         self.__editor = MiniEditor(cfgFile, "Properties", self)
         self.__editor.setWindowModality(Qt.WindowModality.WindowModal)
         self.__editor.installEventFilter(self)
         self.__editor.show()
-    
+
     def eventFilter(self, watched, event):
         """
         Public method called to filter the event queue.
-        
+
         @param watched reference to the object being watched
         @type QObject
         @param event event to be handled
@@ -739,5 +738,5 @@
                 self.__clearDialog()
                 self.readUserConfig()
                 return True
-        
+
         return False

eric ide

mercurial