eric6/Network/IRC/IrcServerEditDialog.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog for editing the IRC server configuration.
8 """
9
10 from __future__ import unicode_literals
11
12 from PyQt5.QtCore import pyqtSlot
13 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
14
15 from .Ui_IrcServerEditDialog import Ui_IrcServerEditDialog
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(IrcServerEditDialog, self).__init__(parent)
30 self.setupUi(self)
31
32 self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok)
33
34 if server:
35 self.serverEdit.setText(server.getName())
36 self.portSpinBox.setValue(server.getPort())
37 self.passwordEdit.setText(server.getPassword())
38 self.sslCheckBox.setChecked(server.useSSL())
39
40 self.__updateOkButton()
41
42 msh = self.minimumSizeHint()
43 self.resize(max(self.width(), msh.width()), msh.height())
44
45 def __updateOkButton(self):
46 """
47 Private method to update the OK button state.
48 """
49 self.__okButton.setEnabled(self.serverEdit.text() != "")
50
51 @pyqtSlot(str)
52 def on_serverEdit_textChanged(self, name):
53 """
54 Private slot handling changes of the server name.
55
56 @param name current name of the server (string)
57 """
58 self.__updateOkButton()
59
60 def getServer(self):
61 """
62 Public method to create a server object from the data entered into
63 the dialog.
64
65 @return server object (IrcServer)
66 """
67 from .IrcNetworkManager import IrcServer
68 server = IrcServer(self.serverEdit.text())
69 server.setPort(self.portSpinBox.value())
70 server.setPassword(self.passwordEdit.text())
71 server.setUseSSL(self.sslCheckBox.isChecked())
72
73 return server

eric ide

mercurial