diff options
-rw-r--r-- | nephilim/mpclient.py | 1 | ||||
-rw-r--r-- | nephilim/plugins/Filebrowser.py | 4 | ||||
-rw-r--r-- | nephilim/winConnect.py | 86 |
3 files changed, 41 insertions, 50 deletions
diff --git a/nephilim/mpclient.py b/nephilim/mpclient.py index 526f85c..16a13df 100644 --- a/nephilim/mpclient.py +++ b/nephilim/mpclient.py @@ -44,6 +44,7 @@ class MPClient(QtCore.QObject): self._client = None return False + self._status = MPClient._status self._update_lib() self._update_playlist() self._update_current_song() diff --git a/nephilim/plugins/Filebrowser.py b/nephilim/plugins/Filebrowser.py index 84b1e9d..65256a8 100644 --- a/nephilim/plugins/Filebrowser.py +++ b/nephilim/plugins/Filebrowser.py @@ -53,13 +53,13 @@ class wgFilebrowser(QtGui.QWidget): self.view.setRootIndex(index) self.path.setText(self.model.filePath(index)) else: - if not 'file://' in self.plugin.mpclient()().urlhandlers(): + if not 'file://' in self.plugin.mpclient().urlhandlers(): self.set_status('file:// handler not available. Connect via unix domain sockets.') return paths = [] for index in self.view.selectedIndexes(): paths.append(u'file://' + unicode(self.model.filePath(index))) - self.plugin.mpclient()().add(paths) + self.plugin.mpclient().add(paths) def path_changed(self): if os.path.isdir(self.path.text()): diff --git a/nephilim/winConnect.py b/nephilim/winConnect.py index 2c1f18b..f7820f2 100644 --- a/nephilim/winConnect.py +++ b/nephilim/winConnect.py @@ -1,75 +1,65 @@ from PyQt4 import QtGui, QtCore from PyQt4.QtCore import QVariant import time -from misc import * -from traceback import print_exc + +from misc import ORGNAME, APPNAME, appIcon class winConnect(QtGui.QWidget): - txtHost=None - txtPort=None - lblInfo=None - _timerID=None - mpclient = None - settings = None + host_txt = None + port_txt = None + info_lbl = None + connect_btn = None + mpclient = None + settings = None def __init__(self, parent): - QtGui.QWidget.__init__(self, parent) - self.settings = QtCore.QSettings(ORGNAME, APPNAME) - self.txtHost = QtGui.QLineEdit(self.settings.value('MPD/host', QVariant('localhost')).toString()) - self.txtPort = QtGui.QLineEdit(self.settings.value('MPD/port', QVariant('6600')).toString()) - self.txtPort.setValidator(QtGui.QIntValidator(1, 65535, self.txtPort)) - self.lblInfo = QtGui.QLabel("connecting ...") + QtGui.QWidget.__init__(self) self.mpclient = parent.mpclient + self.settings = QtCore.QSettings(ORGNAME, APPNAME) - frame=QtGui.QVBoxLayout() - inputs=QtGui.QHBoxLayout() + 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...") - frame.addLayout(inputs) - frame.addWidget(self.lblInfo) + self.connect_btn = QtGui.QPushButton('Connect') + self.connect(self.connect_btn, QtCore.SIGNAL('clicked()'), self.connect_mpd) - inputs.addWidget(self.txtHost) - inputs.addWidget(self.txtPort) + 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.setLayout(frame) - self.resize(200,80) + self.setWindowTitle('Connect to MPD') self.center() - self.connect(self.mpclient, QtCore.SIGNAL('connected'), self.onConnected) + self.connect(self.mpclient, QtCore.SIGNAL('connected'), self.on_connected) def center(self): screen = QtGui.QDesktopWidget().screenGeometry() - size = self.geometry() + size = self.geometry() self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2+100) def monitor(self): - self.txtHost.setEnabled(True) - self.txtPort.setEnabled(True) - if self._timerID==None: - self._timerID=self.startTimer(200) - if self.isVisible()==False: - self.show() + 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 - def onConnected(self): - if self._timerID: - self.killTimer(self._timerID) - self._timerID=None - self.settings.setValue('MPD/host', QVariant(self.txtHost.text())) - self.settings.setValue('MPD/port', QVariant(self.txtPort.text())) - self.hide() - + 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 timerEvent(self, event): - host = str(self.txtHost.text()) - port = int(self.txtPort.text()) if self.txtPort.text() else None - - self.lblInfo.setText('Trying to connect to '+host+':'+str(port)+' ...') - self.mpclient.connect_mpd(host, port) + 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() - def windowActivationChange(self, bool): - self.activateWindow() - self.raise_() |