From 9e8127f5fe0b0efe994f29380f65e79f25a694cf Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 24 Sep 2009 08:05:46 +0200 Subject: PlayControl: correctly initialize on load. fixes behavior if it's loaded after we're connected to MPD. --- nephilim/mpclient.py | 1 + nephilim/plugins/PlayControl.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/nephilim/mpclient.py b/nephilim/mpclient.py index 4e9ce34..4d59185 100644 --- a/nephilim/mpclient.py +++ b/nephilim/mpclient.py @@ -351,6 +351,7 @@ class MPClient(QtCore.QObject): ret['random'] = int(ret['random']) ret['single'] = int(ret['single']) ret['consume'] = int(ret['consume']) + ret['volume'] = int(ret['volume']) if 'time' in ret: cur, len = ret['time'].split(':') ret['length'] = int(len) diff --git a/nephilim/plugins/PlayControl.py b/nephilim/plugins/PlayControl.py index 30142c0..983ecd6 100644 --- a/nephilim/plugins/PlayControl.py +++ b/nephilim/plugins/PlayControl.py @@ -68,6 +68,8 @@ class wgPlayControl(QtGui.QToolBar): self.logger = p.logger self.setObjectName(p.name) + status = self.p.mpclient.status() + self.play_icon = QtGui.QIcon(':icons/media-playback-start.svg') self.pause_icon = QtGui.QIcon(':icons/media-playback-pause.svg') @@ -78,33 +80,39 @@ class wgPlayControl(QtGui.QToolBar): self.addSeparator() self.vol_slider = self.VolumeSlider(self) + self.vol_slider.setSliderPosition(status['volume']) self.vol_slider.valueChanged.connect(self.onVolumeSliderChange) self.addWidget(self.vol_slider) self.addSeparator() self.random = self.addAction(QtGui.QIcon(':icons/media-playlist-shuffle.svgz'), 'random') self.random.setCheckable(True) + self.random.setChecked(status['random']) self.random.toggled.connect(self.p.mpclient.random) self.p.mpclient.random_changed.connect(self.random.setChecked) self.repeat = self.addAction(QtGui.QIcon(':icons/media-playlist-repeat.svg'), 'repeat') self.repeat.setCheckable(True) + self.repeat.setChecked(status['repeat']) self.p.mpclient.repeat_changed.connect(self.repeat.setChecked) self.repeat.toggled.connect(self.p.mpclient.repeat) self.single = self.addAction(QtGui.QIcon(':icons/single.png'), 'single mode') self.single.setCheckable(True) + self.single.setChecked(status['single']) self.p.mpclient.single_changed.connect(self.single.setChecked) self.single.toggled.connect(self.p.mpclient.single) self.consume = self.addAction(QtGui.QIcon(':icons/consume.png'), 'consume mode') self.consume.setCheckable(True) + self.consume.setChecked(status['consume']) self.p.mpclient.consume_changed.connect(self.consume.setChecked) self.consume.toggled.connect(self.p.mpclient.consume) self.outputs_menu = QtGui.QMenu('Audio outputs') outputs = self.addAction(QtGui.QIcon(':icons/outputs.png'), 'Audio outputs') outputs.triggered.connect(lambda : self.outputs_menu.popup(QtGui.QCursor.pos())) + self.__update_outputs() self.p.mpclient.connect_changed.connect(self.__update_outputs) self.orientationChanged.connect(self.vol_slider.setOrientation) -- cgit v1.2.3