diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/commandlinemanager.cpp | 8 | ||||
| -rw-r--r-- | src/qmmpui/commandlinemanager.h | 5 | ||||
| -rw-r--r-- | src/qmmpui/commandlineoption.h | 2 | ||||
| -rw-r--r-- | src/qmmpui/configdialog.cpp | 42 | ||||
| -rw-r--r-- | src/qmmpui/general.cpp | 16 | ||||
| -rw-r--r-- | src/qmmpui/general.h | 13 | ||||
| -rw-r--r-- | src/qmmpui/uiloader.cpp | 10 | ||||
| -rw-r--r-- | src/qmmpui/uiloader.h | 9 |
8 files changed, 54 insertions, 51 deletions
diff --git a/src/qmmpui/commandlinemanager.cpp b/src/qmmpui/commandlinemanager.cpp index e4e8dfab1..2409a2ce2 100644 --- a/src/qmmpui/commandlinemanager.cpp +++ b/src/qmmpui/commandlinemanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2010 by Ilya Kotov * + * Copyright (C) 2008-2011 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -33,14 +33,14 @@ using namespace std; QList<CommandLineOption *> *CommandLineManager::m_options = 0; -QStringList CommandLineManager::m_files; +QHash<CommandLineOption*, QString> *CommandLineManager::m_files = 0; void CommandLineManager::checkOptions() { if (!m_options) { - m_files.clear(); m_options = new QList<CommandLineOption *>; + m_files = new QHash<CommandLineOption*, QString>; QDir pluginsDir (Qmmp::pluginsPath()); pluginsDir.cd("CommandLineOptions"); @@ -60,7 +60,7 @@ void CommandLineManager::checkOptions() if (option) { m_options->append(option); - m_files << pluginsDir.absoluteFilePath(fileName); + m_files->insert(option, pluginsDir.absoluteFilePath(fileName)); qApp->installTranslator(option->createTranslator(qApp)); } } diff --git a/src/qmmpui/commandlinemanager.h b/src/qmmpui/commandlinemanager.h index eab7c46e1..3e395cccb 100644 --- a/src/qmmpui/commandlinemanager.h +++ b/src/qmmpui/commandlinemanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2010 by Ilya Kotov * + * Copyright (C) 2008-2011 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -20,6 +20,7 @@ #ifndef COMMANDLINEMANAGER_H #define COMMANDLINEMANAGER_H +#include <QHash> #include "general.h" #include "commandlineoption.h" @@ -49,7 +50,7 @@ public: private: static void checkOptions(); static QList<CommandLineOption *> *m_options; - static QStringList m_files; + static QHash<CommandLineOption*, QString> *m_files; }; #endif diff --git a/src/qmmpui/commandlineoption.h b/src/qmmpui/commandlineoption.h index bd06cf0ee..ad99077c5 100644 --- a/src/qmmpui/commandlineoption.h +++ b/src/qmmpui/commandlineoption.h @@ -63,6 +63,6 @@ public: virtual ~CommandLineOption() {} }; -Q_DECLARE_INTERFACE(CommandLineOption,"CommandLineOptionInterface/1.0"); +Q_DECLARE_INTERFACE(CommandLineOption,"CommandLineOptionInterface/1.0") #endif diff --git a/src/qmmpui/configdialog.cpp b/src/qmmpui/configdialog.cpp index 9017f4ee3..0dcb95117 100644 --- a/src/qmmpui/configdialog.cpp +++ b/src/qmmpui/configdialog.cpp @@ -160,10 +160,10 @@ void ConfigDialog::loadPluginsInfo() load transport plugin information */ QTreeWidgetItem *item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("Transports")); - QList <InputSourceFactory *> *transports = InputSource::factories(); - QStringList files = InputSource::files(); - for (int i = 0; i < transports->count (); ++i) - new PluginItem (item, transports->at(i), files.at (i)); + foreach(InputSourceFactory *factory, *InputSource::factories()) + { + new PluginItem (item, factory, InputSource::file(factory)); + } m_ui->treeWidget->addTopLevelItem(item); item->setExpanded(true); /* @@ -172,7 +172,7 @@ void ConfigDialog::loadPluginsInfo() item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("Decoders")); foreach(DecoderFactory *factory, *Decoder::factories()) { - new PluginItem (item, factory, Decoder::filePath(factory)); + new PluginItem (item, factory, Decoder::file(factory)); } m_ui->treeWidget->addTopLevelItem(item); item->setExpanded(true); @@ -180,40 +180,40 @@ void ConfigDialog::loadPluginsInfo() load audio engines information */ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("Engines")); - QList <EngineFactory *> *engines = AbstractEngine::factories(); - files = AbstractEngine::files(); - for (int i = 0; i < engines->count (); ++i) - new PluginItem (item, engines->at(i), files.at (i)); + foreach(EngineFactory *factory, *AbstractEngine::factories()) + { + new PluginItem (item, factory, AbstractEngine::file(factory)); + } m_ui->treeWidget->addTopLevelItem(item); item->setExpanded(true); /* load effect plugin information */ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("Effects")); - QList <EffectFactory *> *effects = Effect::factories(); - files = Effect::files(); - for (int i = 0; i < effects->count (); ++i) - new PluginItem (item, effects->at(i), files.at (i)); + foreach(EffectFactory *factory, *Effect::factories()) + { + new PluginItem (item, factory, Effect::file(factory)); + } m_ui->treeWidget->addTopLevelItem(item); item->setExpanded(true); /* load visual plugin information */ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("Visualization")); - QList <VisualFactory *> *visuals = Visual::factories(); - files = Visual::files(); - for (int i = 0; i < visuals->count (); ++i) - new PluginItem (item, visuals->at(i), files.at (i)); + foreach(VisualFactory *factory, *Visual::factories()) + { + new PluginItem (item, factory, Visual::file(factory)); + } m_ui->treeWidget->addTopLevelItem(item); item->setExpanded(true); /* load general plugin information */ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("General")); - QList <GeneralFactory *> *generals = General::factories(); - files = General::files(); - for (int i = 0; i < generals->count (); ++i) - new PluginItem (item, generals->at(i), files.at (i)); + foreach(GeneralFactory *factory, *General::factories()) + { + new PluginItem (item, factory, General::file(factory)); + } m_ui->treeWidget->addTopLevelItem(item); item->setExpanded(true); diff --git a/src/qmmpui/general.cpp b/src/qmmpui/general.cpp index 2ae7b7199..9fc1a8703 100644 --- a/src/qmmpui/general.cpp +++ b/src/qmmpui/general.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2010 by Ilya Kotov * + * Copyright (C) 2008-2011 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -26,16 +26,16 @@ #include "general.h" QList<GeneralFactory*> *General::m_factories = 0; -QStringList General::m_files; -QMap <GeneralFactory*, QObject*> *General::m_generals = 0; +QHash <GeneralFactory*, QString> *General::m_files = 0; +QHash <GeneralFactory*, QObject*> *General::m_generals = 0; QObject *General::m_parent = 0; void General::checkFactories() { if (!m_factories) { - m_files.clear(); m_factories = new QList<GeneralFactory *>; + m_files = new QHash <GeneralFactory*, QString>; QDir pluginsDir (Qmmp::pluginsPath()); pluginsDir.cd("General"); foreach (QString fileName, pluginsDir.entryList(QDir::Files)) @@ -54,7 +54,7 @@ void General::checkFactories() if (factory) { m_factories->append(factory); - m_files << pluginsDir.absoluteFilePath(fileName); + m_files->insert(factory, pluginsDir.absoluteFilePath(fileName)); qApp->installTranslator(factory->createTranslator(qApp)); } } @@ -65,7 +65,7 @@ void General::create(QObject *parent) { if(m_generals) return; - m_generals = new QMap <GeneralFactory*, QObject*>(); + m_generals = new QHash <GeneralFactory*, QObject*>(); m_parent = parent; checkFactories(); foreach(GeneralFactory* factory, *General::factories()) @@ -84,10 +84,10 @@ QList<GeneralFactory*> *General::factories() return m_factories; } -QStringList General::files() +QString General::file(GeneralFactory *factory) { checkFactories(); - return m_files; + return m_files->value(factory); } void General::setEnabled(GeneralFactory* factory, bool enable) diff --git a/src/qmmpui/general.h b/src/qmmpui/general.h index 502867957..95cf76132 100644 --- a/src/qmmpui/general.h +++ b/src/qmmpui/general.h @@ -22,7 +22,7 @@ #include <QObject> #include <QStringList> -#include <QMap> +#include <QHash> #include "generalfactory.h" /*! @brief The General class provides simple access to general plugins @@ -41,9 +41,10 @@ public: */ static QList<GeneralFactory*> *factories(); /*! - * Returns a list of the loaded general plugin files. + * Returns plugin file path. + * @param factory General plugin factory. */ - static QStringList files(); + static QString file(GeneralFactory *factory); /*! * Sets whether the general plugin is enabled. * @param factory General plugin factory. @@ -63,10 +64,10 @@ public: static bool isEnabled(GeneralFactory* factory); private: - static QList<GeneralFactory*> *m_factories; - static QStringList m_files; static void checkFactories(); - static QMap <GeneralFactory*, QObject*> *m_generals; + static QList<GeneralFactory*> *m_factories; + static QHash <GeneralFactory*, QObject*> *m_generals; + static QHash <GeneralFactory*, QString> *m_files; static QObject *m_parent; }; diff --git a/src/qmmpui/uiloader.cpp b/src/qmmpui/uiloader.cpp index 0209d5682..9eb7cd11b 100644 --- a/src/qmmpui/uiloader.cpp +++ b/src/qmmpui/uiloader.cpp @@ -26,14 +26,14 @@ #include "uiloader.h" QList<UiFactory*> *UiLoader::m_factories = 0; -QStringList UiLoader::m_files; +QHash <UiFactory*, QString> *UiLoader::m_files = 0; void UiLoader::checkFactories() { if (!m_factories) { - m_files.clear(); m_factories = new QList<UiFactory *>; + m_files = new QHash <UiFactory*, QString>; QDir pluginsDir(Qmmp::pluginsPath()); pluginsDir.cd("Ui"); foreach (QString fileName, pluginsDir.entryList(QDir::Files)) @@ -52,7 +52,7 @@ void UiLoader::checkFactories() if (factory) { m_factories->append(factory); - m_files << pluginsDir.absoluteFilePath(fileName); + m_files->insert(factory, pluginsDir.absoluteFilePath(fileName)); qApp->installTranslator(factory->createTranslator(qApp)); } } @@ -65,10 +65,10 @@ QList<UiFactory*> *UiLoader::factories() return m_factories; } -QStringList UiLoader::files() +QString UiLoader::file(UiFactory *factory) { checkFactories(); - return m_files; + return m_files->value(factory); } void UiLoader::select(UiFactory* factory) diff --git a/src/qmmpui/uiloader.h b/src/qmmpui/uiloader.h index 27b766f39..5ea46ccf3 100644 --- a/src/qmmpui/uiloader.h +++ b/src/qmmpui/uiloader.h @@ -21,7 +21,7 @@ #define UI_H #include <QStringList> -#include <QMap> +#include <QHash> #include "uifactory.h" /*! @brief The UiLoader provides user interface plugins access @@ -35,9 +35,10 @@ public: */ static QList<UiFactory*> *factories(); /*! - * Returns a list of the loaded ui plugin files. + * Returns plugin file path. + * @param factory User interface plugin factory. */ - static QStringList files(); + static QString file(UiFactory *factory); /*! * Selects active user interface factory. * @param factory Ui plugin factory. @@ -51,7 +52,7 @@ public: private: static QList<UiFactory*> *m_factories; - static QStringList m_files; + static QHash <UiFactory*, QString> *m_files; static void checkFactories(); }; |
