11 |
11 |
12 from PyQt4.QtCore import pyqtSlot, Qt, QEvent |
12 from PyQt4.QtCore import pyqtSlot, Qt, QEvent |
13 from PyQt4.QtGui import QDialog, QInputDialog, QLineEdit, QItemSelectionModel |
13 from PyQt4.QtGui import QDialog, QInputDialog, QLineEdit, QItemSelectionModel |
14 |
14 |
15 from E5Gui import E5MessageBox |
15 from E5Gui import E5MessageBox |
16 ##from E5Gui.E5Application import e5App |
|
17 |
16 |
18 from .Ui_IrcIdentitiesEditDialog import Ui_IrcIdentitiesEditDialog |
17 from .Ui_IrcIdentitiesEditDialog import Ui_IrcIdentitiesEditDialog |
19 |
18 |
20 from .IrcNetworkManager import IrcIdentity |
19 from .IrcNetworkManager import IrcIdentity |
21 |
20 |
22 import Utilities |
21 import Utilities |
23 import UI.PixmapCache |
22 import UI.PixmapCache |
24 |
23 |
25 |
24 |
26 # TODO: implement "Away" page |
|
27 class IrcIdentitiesEditDialog(QDialog, Ui_IrcIdentitiesEditDialog): |
25 class IrcIdentitiesEditDialog(QDialog, Ui_IrcIdentitiesEditDialog): |
28 """ |
26 """ |
29 Class implementing the identities management dialog. |
27 Class implementing the identities management dialog. |
30 """ |
28 """ |
31 def __init__(self, manager, identityName, parent=None): |
29 def __init__(self, manager, identityName, parent=None): |
106 |
104 |
107 self.__refreshCurrentIdentity() |
105 self.__refreshCurrentIdentity() |
108 |
106 |
109 self.__currentIdentity = self.__identities[identity] |
107 self.__currentIdentity = self.__identities[identity] |
110 |
108 |
111 # TODO: update of tab widget not implemented yet |
109 # General Tab |
112 self.realnameEdit.setText(self.__currentIdentity.getRealName()) |
110 self.realnameEdit.setText(self.__currentIdentity.getRealName()) |
113 self.nicknamesList.clear() |
111 self.nicknamesList.clear() |
114 self.nicknamesList.addItems(self.__currentIdentity.getNickNames()) |
112 self.nicknamesList.addItems(self.__currentIdentity.getNickNames()) |
115 self.serviceEdit.setText(self.__currentIdentity.getServiceName()) |
113 self.serviceEdit.setText(self.__currentIdentity.getServiceName()) |
116 self.passwordEdit.setText(self.__currentIdentity.getPassword()) |
114 self.passwordEdit.setText(self.__currentIdentity.getPassword()) |
117 |
115 |
|
116 # Away Tab |
|
117 self.rememberPosOnAwayCheckBox.setChecked( |
|
118 self.__currentIdentity.rememberAwayPosition()) |
|
119 self.awayEdit.setText(self.__currentIdentity.getAwayMessage()) |
|
120 self.autoAwayGroup.setChecked(self.__currentIdentity.autoAway()) |
|
121 self.inactivitySpinBox.setValue(self.__currentIdentity.getAutoAwayTimeout()) |
|
122 self.autoReturnCheckBox.setChecked(self.__currentIdentity.autoReturn()) |
|
123 |
|
124 # Advanced Tab |
118 self.identEdit.setText(self.__currentIdentity.getIdent()) |
125 self.identEdit.setText(self.__currentIdentity.getIdent()) |
119 self.quitEdit.setText(self.__currentIdentity.getQuitMessage()) |
126 self.quitEdit.setText(self.__currentIdentity.getQuitMessage()) |
120 self.partEdit.setText(self.__currentIdentity.getPartMessage()) |
127 self.partEdit.setText(self.__currentIdentity.getPartMessage()) |
121 |
128 |
122 self.__updateIdentitiesButtons() |
129 self.__updateIdentitiesButtons() |
123 self.__updateNicknameUpDownButtons() |
130 self.__updateNicknameUpDownButtons() |
124 self.__updateNicknameButtons() |
131 self.__updateNicknameButtons() |
125 |
132 |
126 self.identityTabWidget.setCurrentIndex(0) |
133 self.identityTabWidget.setCurrentIndex(0) |
127 ## void IdentityDialog::updateIdentity(int index) |
|
128 ## { |
|
129 ## m_insertRememberLineOnAwayChBox->setChecked(m_currentIdentity->getInsertRememberLineOnAway()); |
|
130 ## m_awayMessageEdit->setText(m_currentIdentity->getAwayMessage()); |
|
131 ## m_awayNickEdit->setText(m_currentIdentity->getAwayNickname()); |
|
132 ## awayCommandsGroup->setChecked(m_currentIdentity->getRunAwayCommands()); |
|
133 ## m_awayEdit->setText(m_currentIdentity->getAwayCommand()); |
|
134 ## m_unAwayEdit->setText(m_currentIdentity->getReturnCommand()); |
|
135 ## automaticAwayGroup->setChecked(m_currentIdentity->getAutomaticAway()); |
|
136 ## m_awayInactivitySpin->setValue(m_currentIdentity->getAwayInactivity()); |
|
137 ## m_automaticUnawayChBox->setChecked(m_currentIdentity->getAutomaticUnaway()); |
|
138 ## } |
|
139 |
134 |
140 def __refreshCurrentIdentity(self): |
135 def __refreshCurrentIdentity(self): |
141 """ |
136 """ |
142 Private method to read back the data for the current identity. |
137 Private method to read back the data for the current identity. |
143 """ |
138 """ |
144 if self.__currentIdentity is None: |
139 if self.__currentIdentity is None: |
145 return |
140 return |
146 |
141 |
|
142 # General Tab |
147 self.__currentIdentity.setRealName(self.realnameEdit.text()) |
143 self.__currentIdentity.setRealName(self.realnameEdit.text()) |
148 self.__currentIdentity.setNickNames([self.nicknamesList.item(row).text() |
144 self.__currentIdentity.setNickNames([self.nicknamesList.item(row).text() |
149 for row in range(self.nicknamesList.count())]) |
145 for row in range(self.nicknamesList.count())]) |
150 self.__currentIdentity.setServiceName(self.serviceEdit.text()) |
146 self.__currentIdentity.setServiceName(self.serviceEdit.text()) |
151 self.__currentIdentity.setPassword(self.passwordEdit.text()) |
147 self.__currentIdentity.setPassword(self.passwordEdit.text()) |
152 |
148 |
|
149 # Away Tab |
|
150 self.__currentIdentity.setRememberAwayPosition( |
|
151 self.rememberPosOnAwayCheckBox.isChecked()) |
|
152 self.__currentIdentity.setAwayMessage(self.awayEdit.text()) |
|
153 self.__currentIdentity.setAutoAway(self.autoAwayGroup.isChecked()) |
|
154 self.__currentIdentity.setAutoAwayTimeout(self.inactivitySpinBox.value()) |
|
155 self.__currentIdentity.setAutoReturn(self.autoReturnCheckBox.isChecked()) |
|
156 |
|
157 # Advanced Tab |
153 self.__currentIdentity.setIdent(self.identEdit.text()) |
158 self.__currentIdentity.setIdent(self.identEdit.text()) |
154 self.__currentIdentity.setQuitMessage(self.quitEdit.text()) |
159 self.__currentIdentity.setQuitMessage(self.quitEdit.text()) |
155 self.__currentIdentity.setPartMessage(self.partEdit.text()) |
160 self.__currentIdentity.setPartMessage(self.partEdit.text()) |
156 ## |
|
157 ## void IdentityDialog::refreshCurrentIdentity() |
|
158 ## { |
|
159 ## m_currentIdentity->setInsertRememberLineOnAway(m_insertRememberLineOnAwayChBox->isChecked()); |
|
160 ## m_currentIdentity->setAwayMessage(m_awayMessageEdit->text()); |
|
161 ## m_currentIdentity->setAwayNickname(m_awayNickEdit->text()); |
|
162 ## m_currentIdentity->setRunAwayCommands(awayCommandsGroup->isChecked()); |
|
163 ## m_currentIdentity->setAwayCommand(m_awayEdit->text()); |
|
164 ## m_currentIdentity->setReturnCommand(m_unAwayEdit->text()); |
|
165 ## m_currentIdentity->setAutomaticAway(automaticAwayGroup->isChecked()); |
|
166 ## m_currentIdentity->setAwayInactivity(m_awayInactivitySpin->value()); |
|
167 ## m_currentIdentity->setAutomaticUnaway(m_automaticUnawayChBox->isChecked()); |
|
168 ## } |
|
169 ## |
|
170 |
161 |
171 def __checkCurrentIdentity(self): |
162 def __checkCurrentIdentity(self): |
172 """ |
163 """ |
173 Private method to check the data for the current identity. |
164 Private method to check the data for the current identity. |
174 |
165 |