summaryrefslogtreecommitdiff
path: root/nephilim/plugins/PlayControl.py
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2009-03-13 22:09:09 +0100
committerAnton Khirnov <wyskas@gmail.com>2009-03-13 22:09:09 +0100
commitac0e8bc718bad34764bdb96243de9555e71100d5 (patch)
tree45ed9f8bc8b2d4050a2f31579294f97719772b01 /nephilim/plugins/PlayControl.py
parentbb5de2be11ee42e594bddc2cb6d1d5eeb3c7f4d8 (diff)
PlayControl: proper handling of repeat/random.
Diffstat (limited to 'nephilim/plugins/PlayControl.py')
-rw-r--r--nephilim/plugins/PlayControl.py40
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)