diff options
Diffstat (limited to 'nephilim/plugins/Library.py')
-rw-r--r-- | nephilim/plugins/Library.py | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/nephilim/plugins/Library.py b/nephilim/plugins/Library.py index ebc49ab..85ad556 100644 --- a/nephilim/plugins/Library.py +++ b/nephilim/plugins/Library.py @@ -6,29 +6,30 @@ from ..misc import ORGNAME, APPNAME class Library(Plugin): o=None - DEFAULTS = {'modes' : 'artist\n'\ - 'artist/album\n'\ - 'artist/date/album\n'\ - 'genre\n'\ - 'genre/artist\n'\ - 'genre/artist/album\n'} - - def __init__(self, winMain): - Plugin.__init__(self, winMain, 'Library') - self.settings = QtCore.QSettings(ORGNAME, APPNAME) + DEFAULTS = {'modes' : 'artist\n'\ + 'artist/album\n'\ + 'artist/date/album\n'\ + 'genre\n'\ + 'genre/artist\n'\ + 'genre/artist/album\n'} + LISTENERS = {'onReady' : 'fill_library', 'onDisconnect' : 'fill_library', + 'onUpdateDBFinish' : 'fill_library'} + def _load(self): self.o = LibraryWidget(self) - self.mpclient.add_listener('onReady', self.o.fill_library) - self.mpclient.add_listener('onDisconnect', self.o.fill_library) - self.mpclient.add_listener('onUpdateDBFinish', self.o.fill_library) def _unload(self): self.o = None def getInfo(self): return "List showing all the songs allowing filtering and grouping." - def _getDockWidget(self): - return self._createDock(self.o) + def _get_dock_widget(self): + return self._create_dock(self.o) + + def fill_library(self, params): + if not self.o: + return + self.o.fill_library() class SettingsWidgetLibrary(Plugin.SettingsWidget): modes = None @@ -37,16 +38,17 @@ class Library(Plugin): self.setLayout(QtGui.QVBoxLayout()) self.modes = QtGui.QTextEdit() - self.modes.insertPlainText(self.settings.value(self.plugin.getName() + '/modes').toString()) + self.modes.insertPlainText(self.settings().value(self.plugin.name() + '/modes').toString()) self.layout().addWidget(self.modes) def save_settings(self): - self.settings.setValue(self.plugin.getName() + '/modes', QVariant(self.modes.toPlainText())) + self.settings().setValue(self.plugin.name() + '/modes', QVariant(self.modes.toPlainText())) self.plugin.o.refresh_modes() def get_settings_widget(self): return self.SettingsWidgetLibrary(self) + class LibraryWidget(QtGui.QWidget): library = None search_txt = None @@ -58,7 +60,7 @@ class LibraryWidget(QtGui.QWidget): QtGui.QWidget.__init__(self) self.plugin = plugin self.settings = QtCore.QSettings(ORGNAME, APPNAME) - self.settings.beginGroup(self.plugin.getName()) + self.settings.beginGroup(self.plugin.name()) self.modes = QtGui.QComboBox() self.refresh_modes() @@ -97,7 +99,7 @@ class LibraryWidget(QtGui.QWidget): #build a tree from library tree = [{},self.library.invisibleRootItem()] - for song in self.plugin.mpclient.library(): + for song in self.plugin.mpclient().library(): cur_item = tree for part in str(self.modes.currentText()).split('/'): tag = song.getTag(part) @@ -141,7 +143,7 @@ class LibraryWidget(QtGui.QWidget): paths = [] for item in self.library.selectedItems(): self.item_to_playlist(item, paths) - self.plugin.mpclient.add(paths) + self.plugin.mpclient().add(paths) def item_to_playlist(self, item, add_queue): if item.type() == 1000: |