ExtensionIrc/IrcServerEditDialog.py

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

eric ide

mercurial