aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/uiloader.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-03-04 16:30:35 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-03-04 16:30:35 +0000
commitb5989a764f73a0885303be38c3acd54d2f275946 (patch)
tree298c772c9f6abeba5e67188e8d57a64671e0580f /src/qmmpui/uiloader.cpp
parentd47d83591c0056d2e6236393e9d34577982459e0 (diff)
downloadqmmp-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.cpp31
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()