Tue, 02 Mar 2021 17:17:09 +0100
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the identities management dialog. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import copy |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
12 | from PyQt5.QtCore import pyqtSlot, Qt, QEvent, QItemSelectionModel |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
13 | from PyQt5.QtWidgets import QDialog, QInputDialog, QLineEdit |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from E5Gui import E5MessageBox |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | from .Ui_IrcIdentitiesEditDialog import Ui_IrcIdentitiesEditDialog |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | from .IrcNetworkManager import IrcIdentity |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | import Utilities |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | import UI.PixmapCache |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | class IrcIdentitiesEditDialog(QDialog, Ui_IrcIdentitiesEditDialog): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | Class implementing the identities management dialog. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | def __init__(self, manager, identityName, parent=None): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | Constructor |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
33 | @param manager reference to the IRC network manager object |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
34 | (IrcNetworkManager) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | @param identityName name of the identity to be selected (string) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | @param parent reference to the parent widget (QWidget) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
38 | super(IrcIdentitiesEditDialog, self).__init__(parent) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | self.setupUi(self) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
41 | self.addButton.setIcon(UI.PixmapCache.getIcon("plus")) |
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
42 | self.copyButton.setIcon(UI.PixmapCache.getIcon("editCopy")) |
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
43 | self.renameButton.setIcon(UI.PixmapCache.getIcon("editRename")) |
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
44 | self.deleteButton.setIcon(UI.PixmapCache.getIcon("minus")) |
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
45 | self.nicknameAddButton.setIcon(UI.PixmapCache.getIcon("plus")) |
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
46 | self.nicknameDeleteButton.setIcon(UI.PixmapCache.getIcon("minus")) |
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
47 | self.nicknameUpButton.setIcon(UI.PixmapCache.getIcon("1uparrow")) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
48 | self.nicknameDownButton.setIcon( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
49 | UI.PixmapCache.getIcon("1downarrow")) |
6471
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
50 | self.showPasswordButton.setIcon( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
51 | UI.PixmapCache.getIcon("showPassword")) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.__manager = manager |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.__identities = self.__manager.getIdentities() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.__currentIdentity = None |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | identities = list(sorted(self.__manager.getIdentityNames())) |
7255
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
59 | identities[identities.index(IrcIdentity.DefaultIdentityName)] = ( |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | IrcIdentity.DefaultIdentityDisplay |
7255
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
61 | ) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.identitiesCombo.addItems(identities) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | if identityName == IrcIdentity.DefaultIdentityName: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | identityName = IrcIdentity.DefaultIdentityDisplay |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | index = self.identitiesCombo.findText(identityName) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | if index == -1: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | index = 0 |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | identityName = self.identitiesCombo.itemText(0) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.identitiesCombo.setCurrentIndex(index) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
71 | self.on_identitiesCombo_currentIndexChanged(index) |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
72 | |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
73 | self.nicknameEdit.installEventFilter(self) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
74 | |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
75 | def eventFilter(self, obj, evt): |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
76 | """ |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
77 | Public method to handle events for other objects. |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
78 | |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
79 | @param obj reference to the object (QObject) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
80 | @param evt reference to the event (QEvent) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
81 | @return flag indicating that the event should be filtered out (boolean) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
82 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
83 | if obj == self.nicknameEdit and evt.type() == QEvent.Type.KeyPress: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
84 | if evt.key() in [Qt.Key.Key_Enter, Qt.Key.Key_Return]: |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
85 | self.on_nicknameAddButton_clicked() |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
86 | return True |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
87 | |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
88 | return super(IrcIdentitiesEditDialog, self).eventFilter(obj, evt) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | def __updateIdentitiesButtons(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | Private slot to update the status of the identity related buttons. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
94 | enable = (self.identitiesCombo.currentText() != |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
95 | IrcIdentity.DefaultIdentityDisplay) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | self.renameButton.setEnabled(enable) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | self.deleteButton.setEnabled(enable) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
99 | @pyqtSlot(int) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
100 | def on_identitiesCombo_currentIndexChanged(self, index): |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | Private slot to handle the selection of an identity. |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
103 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
104 | @param index index of the selected entry |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
105 | @type int |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
107 | identity = self.identitiesCombo.itemText(index) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | if identity == IrcIdentity.DefaultIdentityDisplay: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | identity = IrcIdentity.DefaultIdentityName |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.__updateIdentitiesButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | if self.__currentIdentity and not self.__checkCurrentIdentity(): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | return |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.__refreshCurrentIdentity() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | self.__currentIdentity = self.__identities[identity] |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
2243
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
119 | # General Tab |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | self.realnameEdit.setText(self.__currentIdentity.getRealName()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | self.nicknamesList.clear() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | self.nicknamesList.addItems(self.__currentIdentity.getNickNames()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | self.serviceEdit.setText(self.__currentIdentity.getServiceName()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | self.passwordEdit.setText(self.__currentIdentity.getPassword()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | |
2243
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
126 | # Away Tab |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
127 | self.rememberPosOnAwayCheckBox.setChecked( |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
128 | self.__currentIdentity.rememberAwayPosition()) |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
129 | self.awayEdit.setText(self.__currentIdentity.getAwayMessage()) |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
130 | |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
131 | # Advanced Tab |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
132 | self.identEdit.setText(self.__currentIdentity.getIdent()) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
133 | self.quitEdit.setText(self.__currentIdentity.getQuitMessage()) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
134 | self.partEdit.setText(self.__currentIdentity.getPartMessage()) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
135 | |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | self.__updateIdentitiesButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | self.__updateNicknameUpDownButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | self.__updateNicknameButtons() |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
139 | |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
140 | self.identityTabWidget.setCurrentIndex(0) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | def __refreshCurrentIdentity(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | Private method to read back the data for the current identity. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | if self.__currentIdentity is None: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | return |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
2243
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
149 | # General Tab |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | self.__currentIdentity.setRealName(self.realnameEdit.text()) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
151 | self.__currentIdentity.setNickNames( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
152 | [self.nicknamesList.item(row).text() |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
153 | for row in range(self.nicknamesList.count())]) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.__currentIdentity.setServiceName(self.serviceEdit.text()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | self.__currentIdentity.setPassword(self.passwordEdit.text()) |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
156 | |
2243
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
157 | # Away Tab |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
158 | self.__currentIdentity.setRememberAwayPosition( |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
159 | self.rememberPosOnAwayCheckBox.isChecked()) |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
160 | self.__currentIdentity.setAwayMessage(self.awayEdit.text()) |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
161 | |
c0323a43d966
Continued with the IRC management and added a few more TODOs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2240
diff
changeset
|
162 | # Advanced Tab |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
163 | self.__currentIdentity.setIdent(self.identEdit.text()) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
164 | self.__currentIdentity.setQuitMessage(self.quitEdit.text()) |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
165 | self.__currentIdentity.setPartMessage(self.partEdit.text()) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | def __checkCurrentIdentity(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | Private method to check the data for the current identity. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | @return flag indicating a successful check (boolean) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | if self.nicknamesList.count() == 0: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
174 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
175 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
176 | self.tr("Edit Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
177 | self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
178 | """The identity must contain at least one nick name.""")) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | block = self.identitiesCombo.blockSignals(True) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | identity = self.__currentIdentity.getName() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | if identity == IrcIdentity.DefaultIdentityName: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | identity = IrcIdentity.DefaultIdentityDisplay |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
183 | self.identitiesCombo.setCurrentIndex( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
184 | self.identitiesCombo.findText(identity)) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.identitiesCombo.blockSignals(block) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | self.identityTabWidget.setCurrentIndex(0) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | self.nicknameEdit.setFocus() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | return False |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | if not self.realnameEdit.text(): |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
191 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
192 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
193 | self.tr("Edit Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
194 | self.tr("""The identity must have a real name.""")) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | block = self.identitiesCombo.blockSignals(True) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | identity = self.__currentIdentity.getName() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | if identity == IrcIdentity.DefaultIdentityName: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | identity = IrcIdentity.DefaultIdentityDisplay |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
199 | self.identitiesCombo.setCurrentIndex( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
200 | self.identitiesCombo.findText(identity)) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | self.identitiesCombo.blockSignals(block) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | self.identityTabWidget.setCurrentIndex(0) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | self.realnameEdit.setFocus() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | return False |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | return True |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | def on_addButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | Private slot to add a new idntity. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | name, ok = QInputDialog.getText( |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
215 | self.tr("Add Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
216 | self.tr("Identity Name:"), |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
217 | QLineEdit.EchoMode.Normal) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | if ok: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | if name: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | if name in self.__identities: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
222 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
223 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
224 | self.tr("Add Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
225 | self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
226 | """An identity named <b>{0}</b> already exists.""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
227 | """ You must provide a different name.""").format( |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | name)) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | self.on_addButton_clicked() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | else: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | identity = IrcIdentity(name) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | identity.setIdent(Utilities.getUserName()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | identity.setRealName(Utilities.getRealName()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | self.__identities[name] = identity |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | self.identitiesCombo.addItem(name) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
236 | self.identitiesCombo.setCurrentIndex( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
237 | self.identitiesCombo.count() - 1) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | else: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
239 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
240 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
241 | self.tr("Add Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
242 | self.tr("""The identity has to have a name.""")) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | self.on_addButton_clicked() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | def on_copyButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | Private slot to copy the selected identity. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | currentIdentity = self.identitiesCombo.currentText() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | name, ok = QInputDialog.getText( |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
253 | self.tr("Copy Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
254 | self.tr("Identity Name:"), |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
255 | QLineEdit.EchoMode.Normal, |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | currentIdentity) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | if ok: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | if name: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | if name in self.__identities: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
261 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
262 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
263 | self.tr("Copy Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
264 | self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
265 | """An identity named <b>{0}</b> already exists.""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
266 | """ You must provide a different name.""").format( |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | name)) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | self.on_copyButton_clicked() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | else: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | identity = copy.deepcopy(self.__currentIdentity) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | identity.setName(name) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | self.__identities[name] = identity |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | self.identitiesCombo.addItem(name) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
274 | self.identitiesCombo.setCurrentIndex( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
275 | self.identitiesCombo.count() - 1) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | else: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
277 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
278 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
279 | self.tr("Copy Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
280 | self.tr("""The identity has to have a name.""")) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | self.on_copyButton_clicked() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | def on_renameButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | Private slot to rename the selected identity. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | currentIdentity = self.identitiesCombo.currentText() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | name, ok = QInputDialog.getText( |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
291 | self.tr("Rename Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
292 | self.tr("Identity Name:"), |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
293 | QLineEdit.EchoMode.Normal, |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | currentIdentity) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | if ok and name != currentIdentity: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | if name: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | if name in self.__identities: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
299 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
300 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
301 | self.tr("Rename Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
302 | self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
303 | """An identity named <b>{0}</b> already exists.""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
304 | """ You must provide a different name.""").format( |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | name)) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | self.on_renameButton_clicked() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | else: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | del self.__identities[currentIdentity] |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | self.__currentIdentity.setName(name) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | self.__identities[name] = self.__currentIdentity |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | self.identitiesCombo.setItemText( |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | self.identitiesCombo.currentIndex(), name) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | else: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
314 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
315 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
316 | self.tr("Copy Identity"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
317 | self.tr("""The identity has to have a name.""")) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | self.on_renameButton_clicked() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | def on_deleteButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | Private slot to rename the selected identity. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | currentIdentity = self.identitiesCombo.currentText() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | if currentIdentity == IrcIdentity.DefaultIdentityDisplay: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | return |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | inUse = False |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | for networkName in self.__manager.getNetworkNames(): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | inUse = ( |
2280
8e85ca3fabe7
Fixed a few PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2246
diff
changeset
|
332 | self.__manager.getNetwork(networkName).getIdentityName() == |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
333 | currentIdentity) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | if inUse: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | break |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | if inUse: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
338 | msg = self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
339 | """This identity is in use. If you remove it, the network""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
340 | """ settings using it will fall back to the default""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
341 | """ identity. Should it be deleted anyway?""") |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
343 | msg = self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
344 | """Do you really want to delete all information for""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
345 | """ this identity?""") |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
346 | res = E5MessageBox.yesNo( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
347 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
348 | self.tr("Delete Identity"), |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | msg, |
2280
8e85ca3fabe7
Fixed a few PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2246
diff
changeset
|
350 | icon=E5MessageBox.Warning) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | if res: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | del self.__identities[currentIdentity] |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | self.identitiesCombo.removeItem( |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | self.identitiesCombo.findText(currentIdentity)) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | def __updateNicknameUpDownButtons(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | """ |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
358 | Private method to set the enabled state of the nick name up and |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2960
diff
changeset
|
359 | down buttons. |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | if len(self.nicknamesList.selectedItems()) == 0: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | self.nicknameUpButton.setEnabled(False) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | self.nicknameDownButton.setEnabled(False) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | else: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | if self.nicknamesList.currentRow() == 0: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | self.nicknameUpButton.setEnabled(False) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | self.nicknameDownButton.setEnabled(True) |
7255
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
368 | elif ( |
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
369 | self.nicknamesList.currentRow() == |
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
370 | self.nicknamesList.count() - 1 |
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
371 | ): |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | self.nicknameUpButton.setEnabled(True) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | self.nicknameDownButton.setEnabled(False) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | else: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | self.nicknameUpButton.setEnabled(True) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | self.nicknameDownButton.setEnabled(True) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | def __updateNicknameButtons(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | """ |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
380 | Private slot to update the nick name buttons except the up and |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
381 | down buttons. |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | self.nicknameDeleteButton.setEnabled( |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | len(self.nicknamesList.selectedItems()) != 0) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | self.nicknameAddButton.setEnabled(self.nicknameEdit.text() != "") |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | @pyqtSlot(str) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | def on_nicknameEdit_textEdited(self, nick): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | Private slot handling a change of the nick name. |
2960
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
392 | |
9453efa25fd5
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
393 | @param nick new nick name (string) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | """ |
2240
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
395 | sel = self.nicknamesList.selectedItems() |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
396 | if sel: |
11445430c553
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2239
diff
changeset
|
397 | sel[0].setText(nick) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | self.__updateNicknameButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | def on_nicknamesList_itemSelectionChanged(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | Private slot handling the selection of a nick name. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | items = self.nicknamesList.selectedItems() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | if items: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | self.nicknameEdit.setText(items[0].text()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | self.__updateNicknameUpDownButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | self.__updateNicknameButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | self.nicknameEdit.setFocus() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | def on_nicknameAddButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | Private slot to add a new nickname. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | nick = self.nicknameEdit.text() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | if nick not in [self.nicknamesList.item(row).text() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | for row in range(self.nicknamesList.count())]: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | self.nicknamesList.insertItem(0, nick) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
424 | self.nicknamesList.setCurrentRow( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
425 | 0, QItemSelectionModel.SelectionFlag.Clear) |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | self.nicknameEdit.clear() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | self.__updateNicknameButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | def on_nicknameDeleteButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | Private slot to delete a nick name. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | itm = self.nicknamesList.takeItem(self.nicknamesList.currentRow()) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | del itm |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | self.__updateNicknameButtons() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | def on_nicknameUpButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | Private slot to move the selected entry up one row. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | row = self.nicknamesList.currentRow() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | if row > 0: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | itm = self.nicknamesList.takeItem(row) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | row -= 1 |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | self.nicknamesList.insertItem(row, itm) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | self.nicknamesList.setCurrentItem(itm) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | @pyqtSlot() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | def on_nicknameDownButton_clicked(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | Private slot to move the selected entry down one row. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | row = self.nicknamesList.currentRow() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | if row < self.nicknamesList.count() - 1: |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | itm = self.nicknamesList.takeItem(row) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | row += 1 |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | self.nicknamesList.insertItem(row, itm) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | self.nicknamesList.setCurrentItem(itm) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | |
6471
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
462 | @pyqtSlot(bool) |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
463 | def on_showPasswordButton_clicked(self, checked): |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
464 | """ |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
465 | Private slot to show or hide the password. |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
466 | |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
467 | @param checked state of the button |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
468 | @type bool |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
469 | """ |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
470 | if checked: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
471 | self.passwordEdit.setEchoMode(QLineEdit.EchoMode.Normal) |
6471
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
472 | self.showPasswordButton.setIcon( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
473 | UI.PixmapCache.getIcon("hidePassword")) |
6471
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
474 | self.showPasswordButton.setToolTip( |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
475 | self.tr("Press to hide the password")) |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
476 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
477 | self.passwordEdit.setEchoMode(QLineEdit.EchoMode.Password) |
6471
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
478 | self.showPasswordButton.setIcon( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
479 | UI.PixmapCache.getIcon("showPassword")) |
6471
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
480 | self.showPasswordButton.setToolTip( |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
481 | self.tr("Press to show the password")) |
ecfcfc58385c
IrcIdentitiesEditDialog: added a button to show the password as clear text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
482 | |
2239
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | def accept(self): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | Public slot handling the acceptance of the dialog. |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | """ |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | if not self.__checkCurrentIdentity(): |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | return |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | self.__refreshCurrentIdentity() |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | self.__manager.setIdentities(self.__identities) |
a47b50e80a20
Continued with the IRC management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
493 | super(IrcIdentitiesEditDialog, self).accept() |