aboutsummaryrefslogtreecommitdiff
path: root/src/ui/pluginitem.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-31 21:57:58 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-31 21:57:58 +0000
commitdbe1c2bb4eda63205b744411ddcaf12d5d6436fb (patch)
tree986598558d89414f71920585be3d6ddea50d8f3a /src/ui/pluginitem.cpp
parent9f419df28c3ccc492add0c3d7355c3451c008491 (diff)
downloadqmmp-dbe1c2bb4eda63205b744411ddcaf12d5d6436fb.tar.gz
qmmp-dbe1c2bb4eda63205b744411ddcaf12d5d6436fb.tar.bz2
qmmp-dbe1c2bb4eda63205b744411ddcaf12d5d6436fb.zip
optimized settings dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1533 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/pluginitem.cpp')
-rw-r--r--src/ui/pluginitem.cpp270
1 files changed, 131 insertions, 139 deletions
diff --git a/src/ui/pluginitem.cpp b/src/ui/pluginitem.cpp
index a4dafba4f..bddcf1892 100644
--- a/src/ui/pluginitem.cpp
+++ b/src/ui/pluginitem.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2007-2008 by Ilya Kotov *
+ * Copyright (C) 2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,7 @@
#include <QSettings>
#include <QDir>
+#include <qmmp/inputsourcefactory.h>
#include <qmmp/decoderfactory.h>
#include <qmmp/outputfactory.h>
#include <qmmp/visualfactory.h>
@@ -35,152 +36,143 @@
#include "pluginitem.h"
-/*Input*/
-InputPluginItem::InputPluginItem(QObject *parent, DecoderFactory *fact)
- : QObject(parent)
+PluginItem::PluginItem(QTreeWidgetItem *parent, DecoderFactory *factory, const QString &path)
+ : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), DECODER)
{
- m_factory = fact;
+ setCheckState(0, Decoder::isEnabled(factory) ? Qt::Checked : Qt::Unchecked);
+ m_has_about = factory->properties().hasAbout;
+ m_has_config = factory->properties().hasSettings;
+ m_factory = factory;
}
-InputPluginItem::~InputPluginItem()
-{}
-
-bool InputPluginItem::isSelected()
-{
- return Decoder::isEnabled(m_factory);
-}
-
-DecoderFactory* InputPluginItem::factory()
-{
- return m_factory;
-}
-
-void InputPluginItem::setSelected(bool select)
-{
- Decoder::setEnabled(m_factory, select);
-}
-
-/*Engines*/
-EnginePluginItem::EnginePluginItem(QObject *parent, EngineFactory *fact)
- : QObject(parent)
-{
- m_factory = fact;
-}
-
-EnginePluginItem::~EnginePluginItem()
-{}
-
-bool EnginePluginItem::isSelected()
-{
- return AbstractEngine::isEnabled(m_factory);
-}
-
-EngineFactory* EnginePluginItem::factory()
-{
- return m_factory;
-}
-
-void EnginePluginItem::setSelected(bool select)
-{
- AbstractEngine::setEnabled(m_factory, select);
-}
-
-/*Output*/
-OutputPluginItem::OutputPluginItem(QObject *parent, OutputFactory *fact): QObject(parent)
-{
- m_factory = fact;
-}
-
-
-OutputPluginItem::~OutputPluginItem()
-{}
-
-void OutputPluginItem::select()
-{
- Output::setCurrentFactory(m_factory);
-}
-
-bool OutputPluginItem::isSelected()
-{
- return Output::currentFactory() == m_factory;
-}
-
-OutputFactory *OutputPluginItem::factory()
-{
- return m_factory;
-}
-
-/*Visual*/
-VisualPluginItem::VisualPluginItem(QObject *parent, VisualFactory *fact): QObject(parent)
-{
- m_factory = fact;
-}
-
-
-VisualPluginItem::~VisualPluginItem()
-{}
-
-void VisualPluginItem::select(bool on)
-{
- Visual::setEnabled(m_factory, on);
-}
-
-bool VisualPluginItem::isSelected()
+PluginItem::PluginItem(QTreeWidgetItem *parent, EngineFactory *factory, const QString &path)
+ : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), ENGINE)
{
- return Visual::isEnabled(m_factory);
+ setCheckState(0, AbstractEngine::isEnabled(factory) ? Qt::Checked : Qt::Unchecked);
+ m_has_about = factory->properties().hasAbout;
+ m_has_config = factory->properties().hasSettings;
+ m_factory = factory;
}
-VisualFactory *VisualPluginItem::factory()
-{
- return m_factory;
-}
-
-/*Effect*/
-EffectPluginItem::EffectPluginItem(QObject *parent, EffectFactory *fact): QObject(parent)
-{
- m_factory = fact;
-}
-
-
-EffectPluginItem::~EffectPluginItem()
-{}
-
-void EffectPluginItem::select(bool on)
+PluginItem::PluginItem(QTreeWidgetItem *parent, EffectFactory *factory, const QString &path)
+ : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), EFFECT)
{
- Effect::setEnabled(m_factory, on);
+ setCheckState(0, Effect::isEnabled(factory) ? Qt::Checked : Qt::Unchecked);
+ m_has_about = factory->properties().hasAbout;
+ m_has_config = factory->properties().hasSettings;
+ m_factory = factory;
}
-bool EffectPluginItem::isSelected()
+PluginItem::PluginItem(QTreeWidgetItem *parent, VisualFactory *factory, const QString &path)
+ : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), VISUAL)
{
- return Effect::isEnabled(m_factory);
+ setCheckState(0, Visual::isEnabled(factory) ? Qt::Checked : Qt::Unchecked);
+ m_has_about = factory->properties().hasAbout;
+ m_has_config = factory->properties().hasSettings;
+ m_factory = factory;
+}
+
+PluginItem::PluginItem(QTreeWidgetItem *parent, GeneralFactory *factory, const QString &path)
+ : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), GENERAL)
+{
+ setCheckState(0, General::isEnabled(factory) ? Qt::Checked : Qt::Unchecked);
+ m_has_about = factory->properties().hasAbout;
+ m_has_config = factory->properties().hasSettings;
+ m_factory = factory;
+}
+
+PluginItem::~PluginItem()
+{
+
+}
+
+bool PluginItem::hasAbout() const
+{
+ return m_has_about;
+}
+bool PluginItem::hasSettings() const
+{
+ return m_has_config;
+}
+
+void PluginItem::showAbout(QWidget *parent)
+{
+ switch(type())
+ {
+ case PluginItem::TRANSPORT:
+ //dynamic_cast<InputSourceFactory *>(m_factory)
+ break;
+ case PluginItem::DECODER:
+ static_cast<DecoderFactory *>(m_factory)->showAbout(parent);
+ break;
+ case PluginItem::ENGINE:
+ static_cast<EngineFactory *>(m_factory)->showAbout(parent);
+ break;
+ case PluginItem::EFFECT:
+ static_cast<EffectFactory *>(m_factory)->showAbout(parent);
+ break;
+ case PluginItem::VISUAL:
+ static_cast<VisualFactory *>(m_factory)->showAbout(parent);
+ break;
+ case PluginItem::GENERAL:
+ static_cast<GeneralFactory *>(m_factory)->showAbout(parent);
+ break;
+ default:
+ ;
+ }
+
+}
+
+void PluginItem::showSettings(QWidget *parent)
+{
+ switch(type())
+ {
+ case PluginItem::TRANSPORT:
+ //dynamic_cast<InputSourceFactory *>(m_factory)
+ break;
+ case PluginItem::DECODER:
+ static_cast<DecoderFactory *>(m_factory)->showSettings (parent);
+ break;
+ case PluginItem::ENGINE:
+ static_cast<EngineFactory *>(m_factory)->showSettings (parent);
+ break;
+ case PluginItem::EFFECT:
+ static_cast<EffectFactory *>(m_factory)->showSettings (parent);
+ break;
+ case PluginItem::VISUAL:
+ Visual::showSettings(static_cast<VisualFactory *>(m_factory), parent);
+ break;
+ case PluginItem::GENERAL:
+ GeneralHandler::instance()->showSettings(static_cast<GeneralFactory *>(m_factory), parent);
+ break;
+ default:
+ ;
+ }
+}
+
+void PluginItem::setEnabled(bool enabled)
+{
+ switch(type())
+ {
+ case PluginItem::TRANSPORT:
+ //dynamic_cast<InputSourceFactory *>(m_factory)
+ break;
+ case PluginItem::DECODER:
+ Decoder::setEnabled(static_cast<DecoderFactory *>(m_factory), enabled);
+ break;
+ case PluginItem::ENGINE:
+ AbstractEngine::setEnabled(static_cast<EngineFactory *>(m_factory), enabled);
+ break;
+ case PluginItem::EFFECT:
+ Effect::setEnabled(static_cast<EffectFactory *>(m_factory), enabled);
+ break;
+ case PluginItem::VISUAL:
+ Visual::setEnabled(static_cast<VisualFactory *>(m_factory), enabled);
+ break;
+ case PluginItem::GENERAL:
+ GeneralHandler::instance()->setEnabled(static_cast<GeneralFactory *>(m_factory), enabled);
+ break;
+ default:
+ ;
+ }
}
-
-EffectFactory *EffectPluginItem::factory()
-{
- return m_factory;
-}
-
-/*General*/
-GeneralPluginItem::GeneralPluginItem(QObject *parent, GeneralFactory *fact): QObject(parent)
-{
- m_factory = fact;
-}
-
-GeneralPluginItem::~GeneralPluginItem()
-{}
-
-void GeneralPluginItem::select(bool on)
-{
- GeneralHandler::instance()->setEnabled(m_factory, on);
-}
-
-bool GeneralPluginItem::isSelected()
-{
- return General::isEnabled(m_factory);
-}
-
-GeneralFactory *GeneralPluginItem::factory()
-{
- return m_factory;
-}
-