From c351b5c9f9f93b95cfa57c9bf10a6807e7f1b5f7 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 7 Mar 2009 11:38:26 +0100 Subject: mpclient: use Qt signals/slots for events. --- nephilim/winMain.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'nephilim/winMain.py') diff --git a/nephilim/winMain.py b/nephilim/winMain.py index f48c2e0..6fd5ac2 100644 --- a/nephilim/winMain.py +++ b/nephilim/winMain.py @@ -65,7 +65,7 @@ class winMain(QtGui.QMainWindow): self.mConnect=m.addAction('Connect ...', self.wConnect.monitor) self.mConnect.setIcon(QtGui.QIcon(appIcon)) # disconnect - self.mDisconnect=m.addAction('Disconnect', self.mpclient.disconnect) + self.mDisconnect=m.addAction('Disconnect', self.mpclient.disconnect_mpd) self.mDisconnect.setIcon(QtGui.QIcon('gfx/disconnect.png')) # separator m.addSeparator() @@ -104,14 +104,14 @@ class winMain(QtGui.QMainWindow): self.restoreLayout() " add event handlers" - self.mpclient.add_listener('onReady', self.onReady) - self.mpclient.add_listener('onConnect', self.onConnect) - self.mpclient.add_listener('onDisconnect', self.onDisconnect) - self.mpclient.add_listener('onUpdateDBStart', self.onUpdateDBStart) - self.mpclient.add_listener('onUpdateDBFinish', self.onUpdateDBFinish) - self.mpclient.add_listener('onSongChange', self.on_song_change) - self.mpclient.add_listener('onStateChange', self.update_state_messages) - self.mpclient.add_listener('onTimeChange', self.on_time_change) + self.connect(self.mpclient, QtCore.SIGNAL('ready'), self.onReady) + self.connect(self.mpclient, QtCore.SIGNAL('connected'), self.onConnect) + self.connect(self.mpclient, QtCore.SIGNAL('disconnected'), self.onDisconnect) + self.connect(self.mpclient, QtCore.SIGNAL('update_started'), self.onUpdateDBStart) + self.connect(self.mpclient, QtCore.SIGNAL('update_finished'), self.onUpdateDBFinish) + self.connect(self.mpclient, QtCore.SIGNAL('song_changed'), self.on_song_change) + self.connect(self.mpclient, QtCore.SIGNAL('state_changed'), self.update_state_messages) + self.connect(self.mpclient, QtCore.SIGNAL('time_changed'), self.on_time_change) self.enableAll(True) self.setWindowIcon(QtGui.QIcon(appIcon)) @@ -218,10 +218,10 @@ class winMain(QtGui.QMainWindow): self.wSettings.show() self.wSettings.raise_() - def onReady(self, params): + def onReady(self): self.initialiseData() - def onConnect(self, params): + def onConnect(self): logging.info("Connected to MPD") self.setStatus('Restoring library and playlist ...') self.mDisconnect.setEnabled(True) @@ -240,19 +240,19 @@ class winMain(QtGui.QMainWindow): self.setStatus("") doEvents - def onDisconnect(self, params): + def onDisconnect(self): logging.info("Disconnected from MPD") self.mDisconnect.setEnabled(False) self.mConnect.setEnabled(True) self.enableAll(False) self.setStatus("You are disconnected. Choose File->Connect to reconnect!") - def onUpdateDBFinish(self, params): + def onUpdateDBFinish(self): self.setStatus('') - def onUpdateDBStart(self, params): + def onUpdateDBStart(self): self.setStatus('Updating the database. Please wait ...') - def update_state_messages(self, params = None): + def update_state_messages(self): song = self.mpclient.current_song() if song and self.mpclient.is_playing(): self.setWindowTitle('%s by %s - %s'%(song.getTitle(), song.getArtist(), APPNAME)) @@ -264,17 +264,17 @@ class winMain(QtGui.QMainWindow): def on_time_slider_change(self): self.mpclient.seek(self.time_slider.value()) - def on_song_change(self, params): + def on_song_change(self): status = self.mpclient.status() self.time_slider.setMaximum(status['length']) self.time_slider.setEnabled(True) self.time_label.duration = sec2min(status['length']) - self.update_state_messages(params) + self.update_state_messages() - def on_time_change(self, params): + def on_time_change(self, new_time): if not self.time_slider.isSliderDown(): - self.time_slider.setValue(params['newTime']) - self.time_label.setText(sec2min(params['newTime']) + '/' + self.time_label.duration) + self.time_slider.setValue(new_time) + self.time_label.setText(sec2min(new_time) + '/' + self.time_label.duration) def expand_tags(self, str): # maybe there's a better place for this function -- cgit v1.2.3