diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-31 21:57:58 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-31 21:57:58 +0000 |
| commit | dbe1c2bb4eda63205b744411ddcaf12d5d6436fb (patch) | |
| tree | 986598558d89414f71920585be3d6ddea50d8f3a /src/ui/pluginitem.cpp | |
| parent | 9f419df28c3ccc492add0c3d7355c3451c008491 (diff) | |
| download | qmmp-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.cpp | 270 |
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; -} - |
