ExtensionIrc/IrcIdentitiesEditDialog.py

Fri, 18 Apr 2025 18:36:48 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 18 Apr 2025 18:36:48 +0200
changeset 2
5b635dc8895f
permissions
-rw-r--r--

Extracted the IRC widgets from eric-ide to provide them as a plug-in.

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 the identities management dialog.
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 import copy
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
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 from PyQt6.QtCore import QEvent, QItemSelectionModel, Qt, 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
13 from PyQt6.QtWidgets import QDialog, QInputDialog, QLineEdit
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 eric7.EricGui import EricPixmapCache
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 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
17 from eric7.SystemUtilities import OSUtilities
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
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 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
20 from .Ui_IrcIdentitiesEditDialog import Ui_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
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 class IrcIdentitiesEditDialog(QDialog, Ui_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
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 Class implementing the identities management dialog.
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
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 def __init__(self, manager, identityName, 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
29 """
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 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
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 @param manager reference to the IRC network manager 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
33 @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
34 @param identityName name of the identity to be selected
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 @type str
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 @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
37 @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
38 """
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 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
40 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
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 self.addButton.setIcon(EricPixmapCache.getIcon("plus"))
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 self.copyButton.setIcon(EricPixmapCache.getIcon("editCopy"))
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 self.renameButton.setIcon(EricPixmapCache.getIcon("editRename"))
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.deleteButton.setIcon(EricPixmapCache.getIcon("minus"))
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 self.nicknameAddButton.setIcon(EricPixmapCache.getIcon("plus"))
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 self.nicknameDeleteButton.setIcon(EricPixmapCache.getIcon("minus"))
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 self.nicknameUpButton.setIcon(EricPixmapCache.getIcon("1uparrow"))
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 self.nicknameDownButton.setIcon(EricPixmapCache.getIcon("1downarrow"))
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 self.showPasswordButton.setIcon(EricPixmapCache.getIcon("showPassword"))
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
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 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
53
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 self.__identities = self.__manager.getIdentities()
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 self.__currentIdentity = 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
56
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 identities = sorted(self.__manager.getIdentityNames())
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 identities[identities.index(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
59 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
60 )
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.identitiesCombo.addItems(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
62 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
63 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
64 index = self.identitiesCombo.findText(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
65 if index == -1:
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 index = 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
67 identityName = self.identitiesCombo.itemText(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
68 self.identitiesCombo.setCurrentIndex(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
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 self.on_identitiesCombo_currentIndexChanged(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
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 self.nicknameEdit.installEventFilter(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
73
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 def eventFilter(self, obj, evt):
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 """
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 Public method to handle events for other 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
77
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 @param obj reference to the 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
79 @type QObject
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 @param evt reference to the event
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 @type QEvent
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 @return flag indicating that the event should be filtered out
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 @rtype 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
84 """
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 if (
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 obj == self.nicknameEdit
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 and evt.type() == QEvent.Type.KeyPress
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 and evt.key() in [Qt.Key.Key_Enter, Qt.Key.Key_Return]
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 ):
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 self.on_nicknameAddButton_clicked()
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 return 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
92
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 return super().eventFilter(obj, evt)
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
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 def __updateIdentitiesButtons(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
96 """
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 Private slot to update the status of the identity related 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
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 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
100 self.identitiesCombo.currentText() != 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
101 )
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 self.renameButton.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
103 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
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 @pyqtSlot(int)
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 def on_identitiesCombo_currentIndexChanged(self, 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
107 """
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 Private slot to handle the selection of an identity.
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
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 @param index index of 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
111 @type int
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 """
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 identity = self.identitiesCombo.itemText(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
114 if identity == 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
115 identity = 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
116 self.__updateIdentitiesButtons()
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 if self.__currentIdentity and not self.__checkCurrentIdentity():
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 return
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 self.__refreshCurrentIdentity()
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.__currentIdentity = self.__identities[identity]
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 # General Tab
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 self.realnameEdit.setText(self.__currentIdentity.getRealName())
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 self.nicknamesList.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
128 self.nicknamesList.addItems(self.__currentIdentity.getNickNames())
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 self.serviceEdit.setText(self.__currentIdentity.getServiceName())
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 self.passwordEdit.setText(self.__currentIdentity.getPassword())
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 # Away Tab
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 self.rememberPosOnAwayCheckBox.setChecked(
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 self.__currentIdentity.rememberAwayPosition()
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 )
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.awayEdit.setText(self.__currentIdentity.getAwayMessage())
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 # Advanced Tab
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 self.identEdit.setText(self.__currentIdentity.getIdent())
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 self.quitEdit.setText(self.__currentIdentity.getQuitMessage())
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 self.partEdit.setText(self.__currentIdentity.getPartMessage())
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 self.__updateIdentitiesButtons()
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 self.__updateNicknameUpDownButtons()
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 self.__updateNicknameButtons()
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
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 self.identityTabWidget.setCurrentIndex(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
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 def __refreshCurrentIdentity(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 Private method to read back the data for the current identity.
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 """
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 if self.__currentIdentity 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
154 return
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
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 # General Tab
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 self.__currentIdentity.setRealName(self.realnameEdit.text())
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 self.__currentIdentity.setNickNames(
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 [
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 self.nicknamesList.item(row).text()
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 for row in range(self.nicknamesList.count())
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 )
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 self.__currentIdentity.setServiceName(self.serviceEdit.text())
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 self.__currentIdentity.setPassword(self.passwordEdit.text())
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
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 # Away Tab
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.__currentIdentity.setRememberAwayPosition(
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.rememberPosOnAwayCheckBox.isChecked()
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 )
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 self.__currentIdentity.setAwayMessage(self.awayEdit.text())
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 # Advanced Tab
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 self.__currentIdentity.setIdent(self.identEdit.text())
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.__currentIdentity.setQuitMessage(self.quitEdit.text())
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 self.__currentIdentity.setPartMessage(self.partEdit.text())
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 def __checkCurrentIdentity(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
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 Private method to check the data for the current identity.
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
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 @return flag indicating a successful 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
183 @rtype 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
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 if self.nicknamesList.count() == 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
186 EricMessageBox.critical(
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 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
188 self.tr("Edit Identity"),
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 self.tr("""The identity must contain at least one nick name."""),
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 )
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 block = self.identitiesCombo.blockSignals(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
192 identity = self.__currentIdentity.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
193 if identity == 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
194 identity = 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
195 self.identitiesCombo.setCurrentIndex(
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 self.identitiesCombo.findText(identity)
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.identitiesCombo.blockSignals(block)
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 self.identityTabWidget.setCurrentIndex(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
200 self.nicknameEdit.setFocus()
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 return 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
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 if not self.realnameEdit.text():
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 EricMessageBox.critical(
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 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
206 self.tr("Edit Identity"),
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 self.tr("""The identity must have a real name."""),
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 )
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 block = self.identitiesCombo.blockSignals(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
210 identity = self.__currentIdentity.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
211 if identity == 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
212 identity = 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
213 self.identitiesCombo.setCurrentIndex(
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 self.identitiesCombo.findText(identity)
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 )
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 self.identitiesCombo.blockSignals(block)
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 self.identityTabWidget.setCurrentIndex(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
218 self.realnameEdit.setFocus()
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 return 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
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 return 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
222
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 @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
224 def on_addButton_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
225 """
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 Private slot to add a new idntity.
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 """
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 name, ok = QInputDialog.getText(
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 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
230 self.tr("Add Identity"),
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 self.tr("Identity Name:"),
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 QLineEdit.EchoMode.Normal,
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 )
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 if ok:
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 if name:
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 if name in self.__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
238 EricMessageBox.critical(
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 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
240 self.tr("Add Identity"),
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 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
242 """An identity named <b>{0}</b> already exists."""
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 """ You must provide a different name."""
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 ).format(name),
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 )
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 self.on_addButton_clicked()
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 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
248 identity = IrcIdentity(name)
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 identity.setIdent(OSUtilities.getUserName())
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 identity.setRealName(OSUtilities.getRealName())
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 self.__identities[name] = identity
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 self.identitiesCombo.addItem(name)
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 self.identitiesCombo.setCurrentIndex(
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 self.identitiesCombo.count() - 1
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 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
257 EricMessageBox.critical(
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 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
259 self.tr("Add Identity"),
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 self.tr("""The identity has to have a name."""),
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 )
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 self.on_addButton_clicked()
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
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 @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
265 def on_copyButton_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
266 """
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 Private slot to copy the selected identity.
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 """
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 currentIdentity = self.identitiesCombo.currentText()
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 name, ok = QInputDialog.getText(
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 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
272 self.tr("Copy Identity"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 self.tr("Identity Name:"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 QLineEdit.EchoMode.Normal,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 currentIdentity,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 if ok:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 if name:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 if name in self.__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
281 EricMessageBox.critical(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 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
283 self.tr("Copy Identity"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 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
285 """An identity named <b>{0}</b> already exists."""
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 """ You must provide a different name."""
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 ).format(name),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 self.on_copyButton_clicked()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 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
291 identity = copy.deepcopy(self.__currentIdentity)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 identity.setName(name)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 self.__identities[name] = identity
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 self.identitiesCombo.addItem(name)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 self.identitiesCombo.setCurrentIndex(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 self.identitiesCombo.count() - 1
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 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
299 EricMessageBox.critical(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 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
301 self.tr("Copy Identity"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 self.tr("""The identity has to have a name."""),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 self.on_copyButton_clicked()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 @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
307 def on_renameButton_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
308 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 Private slot to rename the selected identity.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 currentIdentity = self.identitiesCombo.currentText()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 name, ok = QInputDialog.getText(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 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
314 self.tr("Rename Identity"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 self.tr("Identity Name:"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 QLineEdit.EchoMode.Normal,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 currentIdentity,
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 if ok and name != currentIdentity:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 if name:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 if name in self.__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
323 EricMessageBox.critical(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 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
325 self.tr("Rename Identity"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 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
327 """An identity named <b>{0}</b> already exists."""
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 """ You must provide a different name."""
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 ).format(name),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 self.on_renameButton_clicked()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 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
333 del self.__identities[currentIdentity]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 self.__currentIdentity.setName(name)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 self.__identities[name] = self.__currentIdentity
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 self.identitiesCombo.setItemText(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 self.identitiesCombo.currentIndex(), name
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 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
340 EricMessageBox.critical(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 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
342 self.tr("Copy Identity"),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 self.tr("""The identity has to have a name."""),
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 self.on_renameButton_clicked()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 @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
348 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
349 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 Private slot to rename the selected identity.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 currentIdentity = self.identitiesCombo.currentText()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 if currentIdentity == 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
354 return
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 inUse = 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
357 for networkName 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
358 inUse = (
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 self.__manager.getNetwork(networkName).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
360 == currentIdentity
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 if inUse:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 break
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 msg = (
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 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
367 "This identity is in use. If you remove it, the 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
368 " settings using it will fall back to the default"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 " identity. Should it be deleted anyway?"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 if inUse
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 else 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
373 "Do you really want to delete all information for this identity?"
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 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
377 self, self.tr("Delete Identity"), msg, icon=EricMessageBox.Warning
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 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
380 del self.__identities[currentIdentity]
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 self.identitiesCombo.removeItem(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 self.identitiesCombo.findText(currentIdentity)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 def __updateNicknameUpDownButtons(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
386 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 Private method to set the enabled state of the nick name up and
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 down 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
389 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 if len(self.nicknamesList.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
391 self.nicknameUpButton.setEnabled(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
392 self.nicknameDownButton.setEnabled(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
393 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
394 if self.nicknamesList.currentRow() == 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
395 self.nicknameUpButton.setEnabled(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
396 self.nicknameDownButton.setEnabled(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
397 elif self.nicknamesList.currentRow() == self.nicknamesList.count() - 1:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 self.nicknameUpButton.setEnabled(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
399 self.nicknameDownButton.setEnabled(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
400 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
401 self.nicknameUpButton.setEnabled(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
402 self.nicknameDownButton.setEnabled(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
403
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 def __updateNicknameButtons(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
405 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 Private slot to update the nick name buttons except the up and
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 down 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
408 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 self.nicknameDeleteButton.setEnabled(
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 len(self.nicknamesList.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
411 )
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 self.nicknameAddButton.setEnabled(self.nicknameEdit.text() != "")
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 @pyqtSlot(str)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 def on_nicknameEdit_textEdited(self, nick):
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 Private slot handling a change of the nick name.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 @param nick new nick name
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 @type str
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 sel = self.nicknamesList.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
424 if sel:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 sel[0].setText(nick)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 self.__updateNicknameButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 @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
430 def on_nicknamesList_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
431 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 Private slot handling the selection of a nick name.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 items = self.nicknamesList.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
435 if items:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 self.nicknameEdit.setText(items[0].text())
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 self.__updateNicknameUpDownButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 self.__updateNicknameButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 self.nicknameEdit.setFocus()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 @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
444 def on_nicknameAddButton_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
445 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 Private slot to add a new nickname.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 nick = self.nicknameEdit.text()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 if nick not in [
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 self.nicknamesList.item(row).text()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 for row in range(self.nicknamesList.count())
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 ]:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 self.nicknamesList.insertItem(0, nick)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 self.nicknamesList.setCurrentRow(0, QItemSelectionModel.SelectionFlag.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
455 self.nicknameEdit.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
456 self.__updateNicknameButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458 @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
459 def on_nicknameDeleteButton_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
460 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 Private slot to delete a nick name.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 itm = self.nicknamesList.takeItem(self.nicknamesList.currentRow())
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 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
465 self.__updateNicknameButtons()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467 @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
468 def on_nicknameUpButton_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
469 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 Private slot to move the selected entry up one row.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 row = self.nicknamesList.currentRow()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 if row > 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
474 itm = self.nicknamesList.takeItem(row)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 row -= 1
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 self.nicknamesList.insertItem(row, 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
477 self.nicknamesList.setCurrentItem(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
478
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 @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
480 def on_nicknameDownButton_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
481 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 Private slot to move the selected entry down one row.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
484 row = self.nicknamesList.currentRow()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
485 if row < self.nicknamesList.count() - 1:
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 itm = self.nicknamesList.takeItem(row)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 row += 1
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 self.nicknamesList.insertItem(row, 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
489 self.nicknamesList.setCurrentItem(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
490
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491 @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
492 def on_showPasswordButton_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
493 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 Private slot to show or hide the password.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 @param checked 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
497 @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
498 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 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
500 self.passwordEdit.setEchoMode(QLineEdit.EchoMode.Normal)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 self.showPasswordButton.setIcon(EricPixmapCache.getIcon("hidePassword"))
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502 self.showPasswordButton.setToolTip(self.tr("Press to hide the password"))
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 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
504 self.passwordEdit.setEchoMode(QLineEdit.EchoMode.Password)
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 self.showPasswordButton.setIcon(EricPixmapCache.getIcon("showPassword"))
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
506 self.showPasswordButton.setToolTip(self.tr("Press to show the password"))
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
508 def accept(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
509 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
510 Public slot handling the acceptance of the dialog.
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
511 """
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512 if not self.__checkCurrentIdentity():
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
513 return
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
514
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
515 self.__refreshCurrentIdentity()
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
516 self.__manager.setIdentities(self.__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
517
5b635dc8895f Extracted the IRC widgets from eric-ide to provide them as a plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518 super().accept()

eric ide

mercurial