summaryrefslogtreecommitdiff
path: root/winConnect.py
diff options
context:
space:
mode:
authorjerous <jerous@gmail.com>2008-05-26 14:49:37 +0200
committerjerous <jerous@gmail.com>2008-05-26 14:49:37 +0200
commiteb326fb5ff954b4eba324814693aae57e84c9196 (patch)
treed5ddb943101e41f047c340ddcf305620a142cdea /winConnect.py
parentd27ba8572724563a99cbc3d41708db6d6915ea49 (diff)
events onConnect and onDisconnect
recovery when mpd is killed and restarted fix adding single song to playlist user can enter host and port of mpd
Diffstat (limited to 'winConnect.py')
-rw-r--r--winConnect.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/winConnect.py b/winConnect.py
new file mode 100644
index 0000000..f425097
--- /dev/null
+++ b/winConnect.py
@@ -0,0 +1,86 @@
+from PyQt4 import QtGui, QtCore
+import time
+from clMonty import monty
+
+
+class winConnect(QtGui.QWidget):
+ txtHost=None
+ txtPort=None
+ lblInfo=None
+ quit=False
+ _timerID=None
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+ self.txtHost=QtGui.QLineEdit("localhost")
+ self.txtPort=QtGui.QLineEdit("6600")
+ self.btnConnect=QtGui.QPushButton("connect")
+ self.btnCancel=QtGui.QPushButton("exit")
+ self.lblInfo=QtGui.QLabel("connecting ...")
+
+ frame=QtGui.QVBoxLayout()
+ inputs=QtGui.QHBoxLayout()
+
+ frame.addLayout(inputs)
+ frame.addWidget(self.lblInfo)
+
+ inputs.addWidget(self.txtHost)
+ inputs.addWidget(self.txtPort)
+
+ self.setWindowTitle('Connect to mpd')
+ self.setLayout(frame)
+ self.resize(200,80)
+ self.center()
+
+ self.quit=False
+
+ " event handlers"
+ self.connect(self.btnConnect, QtCore.SIGNAL('clicked(bool)'),
+ self._onBtnConnectClick)
+ self.connect(self.btnCancel, QtCore.SIGNAL('clicked(bool)'),
+ self._onBtnCancelClick)
+
+ monty.addListener('onConnect', self._onConnect)
+ monty.addListener('onDisconnect', self._onDisconnect)
+
+ def center(self):
+ screen = QtGui.QDesktopWidget().screenGeometry()
+ size = self.geometry()
+ self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
+
+ def monitor(self):
+ if self._timerID==None:
+ self._timerID=self.startTimer(500)
+ if self.isVisible()==False:
+ self.show()
+ self.activateWindow()
+ self.raise_()
+
+
+ def _onConnect(self, params):
+ if self._timerID:
+ self.killTimer(self._timerID)
+ self._timerID=None
+ self.hide()
+ def _onDisconnect(self, params):
+ self.monitor()
+
+ def _onBtnCancelClick(self):
+ self.quit=True
+
+ def _onBtnConnectClick(self):
+ self.monitor()
+
+ def timerEvent(self, event):
+ host=str(self.txtHost.text())
+ try:
+ port=int(self.txtPort.text())
+ self.lblInfo.setText('Disconnected.\nTrying to connect to '+host+':'+str(port)+' ...')
+ monty.init(host, port)
+ except:
+ self.lblInfo.setText('Invalid port.')
+
+
+
+
+wConnect=winConnect()