diff options
author | Anton Khirnov <wyskas@gmail.com> | 2009-03-13 22:09:09 +0100 |
---|---|---|
committer | Anton Khirnov <wyskas@gmail.com> | 2009-03-13 22:09:09 +0100 |
commit | ac0e8bc718bad34764bdb96243de9555e71100d5 (patch) | |
tree | 45ed9f8bc8b2d4050a2f31579294f97719772b01 /nephilim/plugins/PlayControl.py | |
parent | bb5de2be11ee42e594bddc2cb6d1d5eeb3c7f4d8 (diff) |
PlayControl: proper handling of repeat/random.
Diffstat (limited to 'nephilim/plugins/PlayControl.py')
-rw-r--r-- | nephilim/plugins/PlayControl.py | 40 |
1 files changed, 4 insertions, 36 deletions
diff --git a/nephilim/plugins/PlayControl.py b/nephilim/plugins/PlayControl.py index ca02fe2..eaf56ca 100644 --- a/nephilim/plugins/PlayControl.py +++ b/nephilim/plugins/PlayControl.py @@ -17,11 +17,6 @@ class wgPlayControl(QtGui.QToolBar): random = None p = None - " queued songs: int*" - queuedSongs=[] - # what mode where we in before the queue started? - beforeQueuedMode=None - class VolumeSlider(QtGui.QSlider): def __init__(self, parent): @@ -56,14 +51,16 @@ class wgPlayControl(QtGui.QToolBar): self.btnPrevious=Button("prev", self.onBtnPreviousClick, 'gfx/media-skip-backward.svg', True) self.btnNext=Button("next", self.onBtnNextClick, 'gfx/media-skip-forward.svg', True) - self.random = QtGui.QPushButton(QtGui.QIcon('gfx/random.png'), '', self) + self.random = QtGui.QPushButton(QtGui.QIcon('gfx/media-playlist-shuffle.png'), '', self) self.random.setToolTip('Random') self.random.setCheckable(True) self.connect(self.random, QtCore.SIGNAL('toggled(bool)'), self.p.mpclient().random) + self.connect(self.p.mpclient(), QtCore.SIGNAL('random_changed'), self.random.setChecked) self.repeat = QtGui.QPushButton(QtGui.QIcon('gfx/repeat.png'), '', self) self.repeat.setToolTip('Repeat') self.repeat.setCheckable(True) + self.connect(self.p.mpclient(), QtCore.SIGNAL('repeat_changed'), self.repeat.setChecked) self.connect(self.repeat, QtCore.SIGNAL('toggled(bool)'), self.p.mpclient().repeat) self.addWidget(self.btnPlayPause) @@ -78,15 +75,9 @@ class wgPlayControl(QtGui.QToolBar): self.connect(self, QtCore.SIGNAL('orientationChanged(Qt::Orientation)'), self.slrVolume.setOrientation) - # queue gets loaded in _load of pluginPlayControl - self.queuedSongs=[] - self.connect(self.p.mpclient(), QtCore.SIGNAL('state_changed'), self.onStateChange) self.connect(self.p.mpclient(), QtCore.SIGNAL('volume_changed'), self.onVolumeChange) - def addSongsToQueue(self, songs): - self.queuedSongs.extend(songs) - def onStateChange(self, new_state): status = self.p.mpclient().status() @@ -127,37 +118,14 @@ class wgPlayControl(QtGui.QToolBar): else: mode=('0', 'min', 'med', 'max')[int(3*v/100)] - # save and load the queue - def saveQueue(self): - # save the ids as a list of space-separated numbers - logging.info("saving queue") - self.p.settings().setValue(self.p.name() + '/queue', QVariant(str(self.queuedSongs)[1:-1].replace(',', ''))) - def loadQueue(self): - # just read all the numbers! - logging.info("loading queue") - self.queuedSongs=[] - i=0 - ids=self.p.settings().value(self.p.name() + '/queue').toString().split(' ') - for id in ids: - try: - self.queuedSongs.append(int(id)) - except: - pass - class PlayControl(Plugin): - o=None - DEFAULTS = {'queue' : ''} + o = None def _load(self): self.o = wgPlayControl(self, None) - self.o.loadQueue() self.parent().addToolBar(QtCore.Qt.TopToolBarArea, self.o) def _unload(self): - self.o.saveQueue() self.parent().removeToolBar(self.o) self.o = None def getInfo(self): return "Have total control over the playing!" - - def addSongsToQueue(self, songs): - return self.o.addSongsToQueue(songs) |