Network/IRC/IrcNetworkListDialog.py

changeset 2238
9977d3081ab6
parent 2237
baddb671c326
child 2239
a47b50e80a20
equal deleted inserted replaced
2237:baddb671c326 2238:9977d3081ab6
35 self.__manager = manager 35 self.__manager = manager
36 36
37 networkNames = self.__manager.getNetworkNames() 37 networkNames = self.__manager.getNetworkNames()
38 for networkName in networkNames: 38 for networkName in networkNames:
39 topitm = QTreeWidgetItem(self.networksList, [networkName]) 39 topitm = QTreeWidgetItem(self.networksList, [networkName])
40 network = self.__manager.getNetwork(networkName) 40 self.__refreshNetworkEntry(topitm)
41 server = network.getServer()
42 identityName = network.getIdentityName()
43 if identityName == IrcIdentity.DefaultIdentityName:
44 identityName = IrcIdentity.DefaultIdentityDisplay
45 autoConnect = self.trUtf8("Yes") if network.autoConnect() \
46 else self.trUtf8("No")
47
48 QTreeWidgetItem(topitm,
49 [self.trUtf8("Identity"), identityName])
50 QTreeWidgetItem(topitm,
51 [self.trUtf8("Server"), "{0}:{1}".format(
52 server.getName(), server.getPort())])
53 QTreeWidgetItem(topitm,
54 [self.trUtf8("Channels"), ", ".join(network.getChannelNames())])
55 QTreeWidgetItem(topitm,
56 [self.trUtf8("Auto-Connect"), autoConnect])
57 topitm.setExpanded(True) 41 topitm.setExpanded(True)
58 self.__resizeColumns() 42 self.__resizeColumns()
59 43
60 self.__checkButtons() 44 self.__checkButtons()
61 45
85 if enable: 69 if enable:
86 itm = self.networksList.selectedItems()[0] 70 itm = self.networksList.selectedItems()[0]
87 check = self.__manager.getNetwork(itm.text(0)).autoConnect() 71 check = self.__manager.getNetwork(itm.text(0)).autoConnect()
88 self.autoConnectButton.setChecked(check) 72 self.autoConnectButton.setChecked(check)
89 73
74 def __refreshNetworkEntry(self, itm):
75 """
76 Private method to (re-)set the data of a network entry.
77
78 @oaram itm reference to the network entry (QTreeWidgetItem)
79 """
80 # step 1: delete all child entries
81 children = itm.takeChildren()
82 for child in children:
83 del child
84
85 # step 2: (re-)add the child entries
86 networkName = itm.text(0)
87 network = self.__manager.getNetwork(networkName)
88 server = network.getServer()
89 identityName = network.getIdentityName()
90 if identityName == IrcIdentity.DefaultIdentityName:
91 identityName = IrcIdentity.DefaultIdentityDisplay
92 autoConnect = self.trUtf8("Yes") if network.autoConnect() \
93 else self.trUtf8("No")
94
95 QTreeWidgetItem(itm,
96 [self.trUtf8("Identity"), identityName])
97 QTreeWidgetItem(itm,
98 [self.trUtf8("Server"), "{0}:{1}".format(
99 server.getName(), server.getPort())])
100 QTreeWidgetItem(itm,
101 [self.trUtf8("Channels"), ", ".join(network.getChannelNames())])
102 QTreeWidgetItem(itm,
103 [self.trUtf8("Auto-Connect"), autoConnect])
104
105 self.__resizeColumns()
106
90 @pyqtSlot() 107 @pyqtSlot()
91 def on_networksList_itemSelectionChanged(self): 108 def on_networksList_itemSelectionChanged(self):
92 """ 109 """
93 Privat slot to handle changes of the selection of networks. 110 Privat slot to handle changes of the selection of networks.
94 """ 111 """
110 itm = self.networksList.selectedItems()[0] 127 itm = self.networksList.selectedItems()[0]
111 if itm: 128 if itm:
112 networkName = itm.text(0) 129 networkName = itm.text(0)
113 dlg = IrcNetworkEditDialog(self.__manager, networkName, self) 130 dlg = IrcNetworkEditDialog(self.__manager, networkName, self)
114 if dlg.exec_() == QDialog.Accepted: 131 if dlg.exec_() == QDialog.Accepted:
115 self.__manager.setNetwork(dlg.getNetwork()) 132 network = dlg.getNetwork()
133 self.__manager.setNetwork(network, networkName)
134 if network.getName() != networkName:
135 itm.setText(0, network.getName())
136 self.__refreshNetworkEntry(itm)
116 137
117 @pyqtSlot() 138 @pyqtSlot()
118 def on_deleteButton_clicked(self): 139 def on_deleteButton_clicked(self):
119 """ 140 """
120 Private slot to delete the selected entry. 141 Private slot to delete the selected entry.

eric ide

mercurial