aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-10-23 17:19:18 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-10-23 17:19:18 +0000
commitcfe1ebf0f2d2a0854582893d68ebbf528786a068 (patch)
treecb770bf975b17af81454e36f2d2872af52730a9b /src/qmmpui
parenta6fdc2749f67e83950da524bc439a21b0b3e6754 (diff)
downloadqmmp-cfe1ebf0f2d2a0854582893d68ebbf528786a068.tar.gz
qmmp-cfe1ebf0f2d2a0854582893d68ebbf528786a068.tar.bz2
qmmp-cfe1ebf0f2d2a0854582893d68ebbf528786a068.zip
fixed api
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2426 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/commandlinemanager.cpp8
-rw-r--r--src/qmmpui/commandlinemanager.h5
-rw-r--r--src/qmmpui/commandlineoption.h2
-rw-r--r--src/qmmpui/configdialog.cpp42
-rw-r--r--src/qmmpui/general.cpp16
-rw-r--r--src/qmmpui/general.h13
-rw-r--r--src/qmmpui/uiloader.cpp10
-rw-r--r--src/qmmpui/uiloader.h9
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();
};