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. |