diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-03-04 16:30:35 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-03-04 16:30:35 +0000 |
| commit | b5989a764f73a0885303be38c3acd54d2f275946 (patch) | |
| tree | 298c772c9f6abeba5e67188e8d57a64671e0580f /src/qmmpui/uiloader.cpp | |
| parent | d47d83591c0056d2e6236393e9d34577982459e0 (diff) | |
| download | qmmp-b5989a764f73a0885303be38c3acd54d2f275946.tar.gz qmmp-b5989a764f73a0885303be38c3acd54d2f275946.tar.bz2 qmmp-b5989a764f73a0885303be38c3acd54d2f275946.zip | |
improved ui loader
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7065 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/uiloader.cpp')
| -rw-r--r-- | src/qmmpui/uiloader.cpp | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src/qmmpui/uiloader.cpp b/src/qmmpui/uiloader.cpp index f009927e7..51b1c6456 100644 --- a/src/qmmpui/uiloader.cpp +++ b/src/qmmpui/uiloader.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2011-2014 by Ilya Kotov * + * Copyright (C) 2011-2017 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -60,6 +60,17 @@ QList<UiFactory *> UiLoader::factories() return list; } +QStringList UiLoader::names() const +{ + QStringList out; + loadPlugins(); + foreach(QmmpUiPluginCache *item, *m_cache) + { + out << item->shortName(); + } + return out; +} + QString UiLoader::file(UiFactory *factory) { loadPlugins(); @@ -73,11 +84,21 @@ QString UiLoader::file(UiFactory *factory) void UiLoader::select(UiFactory* factory) { + select(factory->properties().shortName); +} + +void UiLoader::select(const QString &name) +{ loadPlugins(); - if (!factories().contains(factory)) - return; - QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - settings.setValue ("Ui/current_plugin", factory->properties().shortName); + foreach(QmmpUiPluginCache *item, *m_cache) + { + if(item->shortName() == name) + { + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); + settings.setValue ("Ui/current_plugin", name); + break; + } + } } UiFactory *UiLoader::selected() |
