]> jfr.im git - irc/weechat/qweechat.git/blob - qweechat/connection.py
739758ad6fe34f47d8f180862c12a47bde7aa393
[irc/weechat/qweechat.git] / qweechat / connection.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 #
4 # connection.py - connection window
5 #
6 # Copyright (C) 2011-2014 Sébastien Helleu <flashcode@flashtux.org>
7 #
8 # This file is part of QWeeChat, a Qt remote GUI for WeeChat.
9 #
10 # QWeeChat is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 3 of the License, or
13 # (at your option) any later version.
14 #
15 # QWeeChat is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with QWeeChat. If not, see <http://www.gnu.org/licenses/>.
22 #
23
24 import qt_compat
25 QtGui = qt_compat.import_module('QtGui')
26
27
28 class ConnectionDialog(QtGui.QDialog):
29 """Connection window."""
30
31 def __init__(self, values, *args):
32 QtGui.QDialog.__init__(*(self,) + args)
33 self.values = values
34 self.setModal(True)
35
36 grid = QtGui.QGridLayout()
37 grid.setSpacing(10)
38
39 self.fields = {}
40 for y, field in enumerate(('server', 'port', 'password', 'lines')):
41 grid.addWidget(QtGui.QLabel(field.capitalize()), y, 0)
42 lineEdit = QtGui.QLineEdit()
43 lineEdit.setFixedWidth(200)
44 if field == 'password':
45 lineEdit.setEchoMode(QtGui.QLineEdit.Password)
46 if field == 'lines':
47 validator = QtGui.QIntValidator(0, 2147483647, self)
48 lineEdit.setValidator(validator)
49 lineEdit.setFixedWidth(80)
50 lineEdit.insert(self.values[field])
51 grid.addWidget(lineEdit, y, 1)
52 self.fields[field] = lineEdit
53 if field == 'port':
54 ssl = QtGui.QCheckBox('SSL')
55 ssl.setChecked(self.values['ssl'] == 'on')
56 grid.addWidget(ssl, y, 2)
57 self.fields['ssl'] = ssl
58
59 self.dialog_buttons = QtGui.QDialogButtonBox()
60 self.dialog_buttons.setStandardButtons(
61 QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel)
62 self.dialog_buttons.rejected.connect(self.close)
63
64 grid.addWidget(self.dialog_buttons, 4, 0, 1, 2)
65 self.setLayout(grid)
66 self.show()