ExtensionIrc/IrcNetworkListDialog.py

Sat, 03 May 2025 16:23:18 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 03 May 2025 16:23:18 +0200
changeset 10
f98d019645f9
parent 2
5b635dc8895f
permissions
-rw-r--r--

Created global tag <release-10.0.1>.

2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2012 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to list the configured IRC networks.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import pyqtSlot
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtWidgets import QDialog, QTreeWidgetItem
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from eric7.EricWidgets import EricMessageBox
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_IrcNetworkListDialog import Ui_IrcNetworkListDialog
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class IrcNetworkListDialog(QDialog, Ui_IrcNetworkListDialog):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a dialog to list the configured IRC networks.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def __init__(self, manager, parent=None):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @param manager reference to the IRC network manager
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @type IrcNetworkManager
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @param parent reference to the parent widget
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @type QWidget
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 super().__init__(parent)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.__manager = manager
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.__ircWidget = parent
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.__refreshNetworksList()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 def __resizeColumns(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 Private slot to resize all columns to their contents.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 for col in range(self.networksList.columnCount()):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.networksList.resizeColumnToContents(col)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 def __checkButtons(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 Private slot to set the enabled state of the buttons.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 enable = True
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 selectedItems = self.networksList.selectedItems()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 if len(selectedItems) == 0:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 enable = False
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 else:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 for itm in selectedItems:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 enable &= itm.parent() is None
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.editButton.setEnabled(enable)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.deleteButton.setEnabled(enable)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 self.autoConnectButton.setEnabled(enable)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 if enable:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 itm = self.networksList.selectedItems()[0]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 check = self.__manager.getNetwork(itm.text(0)).autoConnect()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.autoConnectButton.setChecked(check)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 def __refreshNetworkEntry(self, itm):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 Private method to (re-)set the data of a network entry.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 @param itm reference to the network entry
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 @type QTreeWidgetItem
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 from .IrcNetworkManager import IrcIdentity
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 # step 1: delete all child entries
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 children = itm.takeChildren()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 for child in children:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 del child
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 # step 2: (re-)add the child entries
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 networkName = itm.text(0)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 network = self.__manager.getNetwork(networkName)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 server = network.getServer()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 identityName = network.getIdentityName()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 if identityName == IrcIdentity.DefaultIdentityName:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 identityName = IrcIdentity.DefaultIdentityDisplay
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 autoConnect = self.tr("Yes") if network.autoConnect() else self.tr("No")
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 QTreeWidgetItem(itm, [self.tr("Identity"), identityName])
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 QTreeWidgetItem(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 itm,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 [self.tr("Server"), "{0}:{1}".format(server.getName(), server.getPort())],
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 QTreeWidgetItem(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 itm, [self.tr("Channels"), ", ".join(network.getChannelNames())]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 QTreeWidgetItem(itm, [self.tr("Auto-Connect"), autoConnect])
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 self.__resizeColumns()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 def __refreshNetworksList(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 Private method to refresh the complete networks list.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 self.networksList.clear()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 networkNames = self.__manager.getNetworkNames()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 for networkName in networkNames:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 topitm = QTreeWidgetItem(self.networksList, [networkName])
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 self.__refreshNetworkEntry(topitm)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 topitm.setExpanded(True)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 self.__resizeColumns()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 self.__checkButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 @pyqtSlot()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 def on_networksList_itemSelectionChanged(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 Private slot to handle changes of the selection of networks.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 self.__checkButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 @pyqtSlot()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 def on_newButton_clicked(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 Private slot to add a new network entry.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 from .IrcNetworkEditDialog import IrcNetworkEditDialog
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 dlg = IrcNetworkEditDialog(manager=self.__manager, networkName="", parent=self)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 if dlg.exec() == QDialog.DialogCode.Accepted:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 network = dlg.getNetwork()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 self.__manager.addNetwork(network)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 self.__refreshNetworksList()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @pyqtSlot()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 def on_editButton_clicked(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 Private slot to edit the selected network.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 from .IrcNetworkEditDialog import IrcNetworkEditDialog
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 itm = self.networksList.selectedItems()[0]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 if itm:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 networkName = itm.text(0)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 dlg = IrcNetworkEditDialog(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 manager=self.__manager, networkName=networkName, parent=self
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 if dlg.exec() == QDialog.DialogCode.Accepted:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 network = dlg.getNetwork()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 self.__manager.setNetwork(network, networkName)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 if network.getName() != networkName:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 itm.setText(0, network.getName())
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 self.__refreshNetworkEntry(itm)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 @pyqtSlot()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 def on_deleteButton_clicked(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 Private slot to delete the selected entry.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 itm = self.networksList.selectedItems()[0]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 if itm.parent() is None:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 networkName = itm.text(0)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 res = EricMessageBox.yesNo(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 self,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 self.tr("Delete Irc Network"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.tr(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 """Do you really want to delete IRC network <b>{0}</b>?"""
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 ).format(networkName),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 if res:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 index = self.networksList.indexOfTopLevelItem(itm)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.networksList.takeTopLevelItem(index)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 del itm
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 self.__manager.deleteNetwork(networkName)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 @pyqtSlot(QTreeWidgetItem)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 def on_networksList_itemExpanded(self, _item):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 Private slot handling the expansion of a top level item.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 @param _item reference to the expanded item (unused)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 @type QTreeWidgetItem
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 self.__resizeColumns()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 @pyqtSlot(QTreeWidgetItem)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 def on_networksList_itemCollapsed(self, _item):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 Private slot handling the collapse of a top level item.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 @param _item reference to the collapsed item (unused)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 @type QTreeWidgetItem
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 self.__resizeColumns()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 @pyqtSlot(bool)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 def on_autoConnectButton_clicked(self, checked):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 Private slot handling the auto-connect selection.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 @param checked flag indicating the state of the button
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 @type bool
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 itm = self.networksList.selectedItems()[0]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 if itm.parent() is None:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 networkName = itm.text(0)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 if checked:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 # enable the selected network, disable all others
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 # step 1: update network objects
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 for name in self.__manager.getNetworkNames():
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 network = self.__manager.getNetwork(networkName)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 if name == networkName:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 network.setAutoConnect(True)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 else:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 network.setAutoConnect(False)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 self.__manager.networkChanged()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 # step 2: update list entries
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 for index in range(self.networksList.topLevelItemCount()):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 titm = self.networksList.topLevelItem(index)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 if titm.text(0) == networkName:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 self.__setAutoConnectEntry(titm, True)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 else:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 self.__setAutoConnectEntry(titm, False)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 else:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 # step 1: update network object
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 network = self.__manager.getNetwork(networkName)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 network.setAutoConnect(False)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 self.__manager.networkChanged()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 # step 2: update list entry
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 self.__setAutoConnectEntry(itm, False)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 def __setAutoConnectEntry(self, itm, on):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 Private method to set the auto-connect entry of a network item.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 @param itm reference to the network item
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 @type QTreeWidgetItem
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 @param on flag indicating the auto-connect state
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 @type bool
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 autoConnect = self.tr("Yes") if on else self.tr("No")
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 for index in range(itm.childCount()):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 citm = itm.child(index)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 if citm.text(0) == self.tr("Auto-Connect"):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 citm.setText(1, autoConnect)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 @pyqtSlot()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 def on_editIdentitiesButton_clicked(self):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 Private slot to edit the identities.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 from .IrcIdentitiesEditDialog import IrcIdentitiesEditDialog
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 dlg = IrcIdentitiesEditDialog(self.__manager, "", parent=self)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 dlg.exec()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 selectedNetwork = self.networksList.selectedItems()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 selectedNetworkName = selectedNetwork[0].text(0) if selectedNetwork else ""
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 self.__refreshNetworksList()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 if selectedNetworkName:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 for index in range(self.networksList.topLevelItemCount()):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 itm = self.networksList.topLevelItem(index)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 if itm.text(0) == selectedNetworkName:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 itm.setSelected(True)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 break

eric ide

mercurial