diff -r 9977d3081ab6 -r a47b50e80a20 Network/IRC/IrcNetworkListDialog.py --- a/Network/IRC/IrcNetworkListDialog.py Sat Dec 01 11:48:52 2012 +0100 +++ b/Network/IRC/IrcNetworkListDialog.py Sat Dec 01 19:51:46 2012 +0100 @@ -16,6 +16,7 @@ from .IrcNetworkManager import IrcIdentity from .IrcNetworkEditDialog import IrcNetworkEditDialog +from .IrcIdentitiesEditDialog import IrcIdentitiesEditDialog class IrcNetworkListDialog(QDialog, Ui_IrcNetworkListDialog): @@ -34,14 +35,7 @@ self.__manager = manager - networkNames = self.__manager.getNetworkNames() - for networkName in networkNames: - topitm = QTreeWidgetItem(self.networksList, [networkName]) - self.__refreshNetworkEntry(topitm) - topitm.setExpanded(True) - self.__resizeColumns() - - self.__checkButtons() + self.__refreshNetworksList() def __resizeColumns(self): """ @@ -104,6 +98,21 @@ self.__resizeColumns() + def __refreshNetworksList(self): + """ + Private method to refresh the complete networks list. + """ + self.networksList.clear() + + networkNames = self.__manager.getNetworkNames() + for networkName in networkNames: + topitm = QTreeWidgetItem(self.networksList, [networkName]) + self.__refreshNetworkEntry(topitm) + topitm.setExpanded(True) + self.__resizeColumns() + + self.__checkButtons() + @pyqtSlot() def on_networksList_itemSelectionChanged(self): """ @@ -217,3 +226,24 @@ citm = itm.child(index) if citm.text(0) == self.trUtf8("Auto-Connect"): citm.setText(1, autoConnect) + + @pyqtSlot() + def on_editIdentitiesButton_clicked(self): + """ + Private slot to edit the identities. + """ + dlg = IrcIdentitiesEditDialog(self.__manager, "", self) + dlg.exec_() + + selectedNetwork = self.networksList.selectedItems() + if selectedNetwork: + selectedNetworkName = selectedNetwork[0].text(0) + else: + selectedNetworkName = "" + self.__refreshNetworksList() + if selectedNetworkName: + for index in range(self.networksList.topLevelItemCount()): + itm = self.networksList.topLevelItem(index) + if itm.text(0) == selectedNetworkName: + itm.setSelected(True) + break