summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorjerous <jerous@gmail.com>2008-09-15 20:34:13 +0200
committerjerous <jerous@gmail.com>2008-09-15 20:34:13 +0200
commit6a3859be88453cb981d797e8223cba407471020d (patch)
treeca5ba19d42d9f311113c77d796fac6ed7f6029c6 /plugins
parent3ce4779bf1e51b6ae47ce89f712b630ea536774c (diff)
big speedup of grouping by compiling format
Diffstat (limited to 'plugins')
-rw-r--r--plugins/SongStatus.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/plugins/SongStatus.py b/plugins/SongStatus.py
index a03476e..93d8311 100644
--- a/plugins/SongStatus.py
+++ b/plugins/SongStatus.py
@@ -3,6 +3,8 @@ from clMonty import monty
from clPlugin import *
from traceback import print_exc
+import format
+
SS_DEFAULT_FORMAT='<font size="4">now $state</font>'\
'$if($title,<font size="8" color="blue">$title</font>'\
'<br />by <font size="8" color="green">$artist</font>'\
@@ -13,6 +15,7 @@ class wgSongStatus(QtGui.QWidget):
"""Displays the status of the current song, if playing."""
" label containing the info"
lblInfo=None
+ format=None
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
@@ -23,6 +26,7 @@ class wgSongStatus(QtGui.QWidget):
self.setLayout(layout)
layout.addWidget(self.lblInfo)
+ self.updateFormat()
monty.addListener('onSongChange', self.update)
monty.addListener('onTimeChange', self.update)
@@ -43,9 +47,12 @@ class wgSongStatus(QtGui.QWidget):
except:
pass
- txt=format(settings.get('songstatus.format', SS_DEFAULT_FORMAT), song, values)
- self.lblInfo.setText(txt)
+ if song:
+ self.lblInfo.setText(self.format(format.params(song, values)))
+ def updateFormat(self):
+ self.format=format.compile(settings.get('songstatus.format', SS_DEFAULT_FORMAT))
+
def text(self):
return self.lblInfo.text()
@@ -68,4 +75,5 @@ class pluginSongStatus(Plugin):
['songstatus.format', 'Format', 'Format of the song status. Possible tags: $title, $artist, $album, $track, $time, $length, $state', format]
]
def afterSaveSettings(self):
+ self.o.updateFormat()
self.o.update(None)