Network/IRC/IrcServerEditDialog.py

changeset 2238
9977d3081ab6
child 2241
030924019d88
equal deleted inserted replaced
2237:baddb671c326 2238:9977d3081ab6
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog for editing the IRC server configuration.
8 """
9
10 from PyQt4.QtCore import pyqtSlot
11 from PyQt4.QtGui import QDialog, QDialogButtonBox
12
13 from .Ui_IrcServerEditDialog import Ui_IrcServerEditDialog
14
15 from .IrcNetworkManager import IrcServer
16
17
18 class IrcServerEditDialog(QDialog, Ui_IrcServerEditDialog):
19 """
20 Class implementing a dialog for editing the IRC server configuration.
21 """
22 def __init__(self, server, parent=None):
23 """
24 Constructor
25
26 @param server reference to the IRC server object (IrcServer)
27 @param parent reference to the parent widget (QWidget)
28 """
29 super().__init__(parent)
30 self.setupUi(self)
31
32 self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok)
33
34 self.serverEdit.setText(server.getName())
35 self.portSpinBox.setValue(server.getPort())
36 self.passwordEdit.setText(server.getPassword())
37 self.sslCheckBox.setChecked(server.useSSL())
38
39 self.__updateOkButton()
40
41 def __updateOkButton(self):
42 """
43 Private method to update the OK button state.
44 """
45 self.__okButton.setEnabled(self.serverEdit.text() != "")
46
47 @pyqtSlot(str)
48 def on_serverEdit_textChanged(self, name):
49 """
50 Private slot handling changes of the server name.
51
52 @param name current name of the server (string)
53 """
54 self.__updateOkButton()
55
56 def getServer(self):
57 """
58 Public method to create a server object from the data entered into
59 the dialog.
60
61 @return server object (IrcServer)
62 """
63 server = IrcServer(self.serverEdit.text())
64 server.setPort(self.portSpinBox.value())
65 server.setPassword(self.passwordEdit.text())
66 server.setUseSSL(self.sslCheckBox.isChecked())
67
68 return server

eric ide

mercurial