diff options
author | Anton Khirnov <wyskas@gmail.com> | 2009-03-07 21:33:02 +0100 |
---|---|---|
committer | Anton Khirnov <wyskas@gmail.com> | 2009-03-07 21:33:02 +0100 |
commit | 21d3cab52dc072fa039e3b49f65f284a4aa8ca41 (patch) | |
tree | 1956a9b223808a3adade0152db44c4fa1ce2e957 /nephilim/connect_wg.py | |
parent | 506745dced53b6b6d661207a766d5d66ee33620d (diff) |
winConnect->connect_wg
Diffstat (limited to 'nephilim/connect_wg.py')
-rw-r--r-- | nephilim/connect_wg.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nephilim/connect_wg.py b/nephilim/connect_wg.py new file mode 100644 index 0000000..3a3f0dd --- /dev/null +++ b/nephilim/connect_wg.py @@ -0,0 +1,65 @@ +from PyQt4 import QtGui, QtCore +from PyQt4.QtCore import QVariant +import time + +from misc import ORGNAME, APPNAME, appIcon + +class ConnectWidget(QtGui.QWidget): + host_txt = None + port_txt = None + info_lbl = None + connect_btn = None + mpclient = None + settings = None + + def __init__(self, parent): + QtGui.QWidget.__init__(self) + self.mpclient = parent.mpclient + self.settings = QtCore.QSettings(ORGNAME, APPNAME) + + self.host_txt = QtGui.QLineEdit(self.settings.value('MPD/host', QVariant('localhost')).toString()) + self.port_txt = QtGui.QLineEdit(self.settings.value('MPD/port', QVariant('6600')).toString()) + self.port_txt.setValidator(QtGui.QIntValidator(1, 65535, self.port_txt)) + self.info_lbl = QtGui.QLabel("connecting...") + + self.connect_btn = QtGui.QPushButton('Connect') + self.connect(self.connect_btn, QtCore.SIGNAL('clicked()'), self.connect_mpd) + + self.setLayout(QtGui.QGridLayout()) + self.layout().addWidget(self.info_lbl, 0, 0, 1, 2) + self.layout().addWidget(self.host_txt, 1, 0) + self.layout().addWidget(self.port_txt, 1, 1) + self.layout().addWidget(self.connect_btn, 2, 0) + + self.setWindowIcon(QtGui.QIcon(appIcon)) + self.setWindowTitle('Connect to MPD') + self.center() + + self.connect(self.mpclient, QtCore.SIGNAL('connected'), self.on_connected) + + def center(self): + screen = QtGui.QDesktopWidget().screenGeometry() + size = self.geometry() + self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2+100) + + def monitor(self): + self.show() + self.activateWindow() + self.raise_() + if self.host_txt: + self.connect_mpd() + + def connect_mpd(self): + host = str(self.host_txt.text()) + port = int(self.port_txt.text()) if self.port_txt.text() else None + + self.info_lbl.setText('Trying to connect to %s' + (':%d'%port if port else '')) + if not self.mpclient.connect_mpd(host, port): + self.info_lbl.setText('Connection failed') + + def on_connected(self): + self.info_lbl.setText('Connected') + self.settings.setValue('MPD/host', QVariant(self.host_txt.text())) + self.settings.setValue('MPD/port', QVariant(self.port_txt.text())) + self.hide() + |