diff -r 84a66daa5e34 -r 6b197c3389f7 src/eric7/RemoteServerInterface/EricServerProfilesDialog.py --- 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