src/eric7/RemoteServerInterface/EricServerProfilesDialog.py

branch
eric7
changeset 11033
6b197c3389f7
parent 10597
fbe93720ee9f
child 11090
f5f5f5803935
--- a/src/eric7/RemoteServerInterface/EricServerProfilesDialog.py	Sat Nov 02 19:28:14 2024 +0100
+++ b/src/eric7/RemoteServerInterface/EricServerProfilesDialog.py	Sun Nov 03 12:34:02 2024 +0100
@@ -23,11 +23,11 @@
     Class implementing a dialog to manage server connection profiles.
     """
 
-    def __init__(self, profiles, parent=None):
+    def __init__(self, connectionProfiles, parent=None):
         """
         Constructor
 
-        @param profiles dictionary containing the server connection profiles
+        @param connectionProfiles dictionary containing the server connection profiles
         @type dict
         @param parent reference to the parent widget (defaults to None)
         @type QWidget (optional)
@@ -35,7 +35,15 @@
         super().__init__(parent)
         self.setupUi(self)
 
-        self.__profiles = copy.deepcopy(profiles)
+        self.__connectionProfiles = copy.deepcopy(connectionProfiles)
+        # adapt connection profiles generated by eric-ide < 24.12
+        for (
+            connectionProfile,
+            connectionProfileData,
+        ) in self.__connectionProfiles.items():
+            if len(connectionProfileData) < 4:
+                self.__connectionProfiles[connectionProfile].append("")
+
         self.__populateProfilesList()
 
         self.on_connectionsList_itemSelectionChanged()
@@ -46,9 +54,11 @@
         """
         self.connectionsList.clear()
 
-        for profile in self.__profiles:
-            itm = QListWidgetItem(profile, self.connectionsList)
-            itm.setData(Qt.ItemDataRole.UserRole, self.__profiles[profile])
+        for connectionProfile in self.__connectionProfiles:
+            itm = QListWidgetItem(connectionProfile, self.connectionsList)
+            itm.setData(
+                Qt.ItemDataRole.UserRole, self.__connectionProfiles[connectionProfile]
+            )
 
     def __getProfilesList(self):
         """
@@ -145,6 +155,10 @@
 
         for row in range(self.connectionsList.count()):
             itm = self.connectionsList.item(row)
-            profiles[itm.text()] = itm.data(Qt.ItemDataRole.UserRole)
+            profileData = itm.data(Qt.ItemDataRole.UserRole)
+            if not profileData[3]:
+                # make it backward compatible (eric-ide < 24.12)
+                profileData = profileData[:3]
+            profiles[itm.text()] = profileData
 
         return profiles

eric ide

mercurial