diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-08-29 20:39:30 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-08-29 20:39:30 +0000 |
| commit | 471b1754f75e462cb6e5dc52d66bdec5745c92e0 (patch) | |
| tree | 9dbc1541bb9221077cc953991e3b485def9717c6 /src/qmmpui/pluginitem.cpp | |
| parent | 1abba773217ac19dbcc7f413bfaf8376caf8ba42 (diff) | |
| download | qmmp-471b1754f75e462cb6e5dc52d66bdec5745c92e0.tar.gz qmmp-471b1754f75e462cb6e5dc52d66bdec5745c92e0.tar.bz2 qmmp-471b1754f75e462cb6e5dc52d66bdec5745c92e0.zip | |
changed configuration dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2908 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/pluginitem.cpp')
| -rw-r--r-- | src/qmmpui/pluginitem.cpp | 70 |
1 files changed, 66 insertions, 4 deletions
diff --git a/src/qmmpui/pluginitem.cpp b/src/qmmpui/pluginitem.cpp index 330b1a9d6..fb97a2df7 100644 --- a/src/qmmpui/pluginitem.cpp +++ b/src/qmmpui/pluginitem.cpp @@ -32,6 +32,10 @@ #include <qmmpui/generalfactory.h> #include <qmmpui/general.h> #include <qmmpui/uihelper.h> +#include <qmmpui/filedialogfactory.h> +#include <qmmpui/filedialog.h> +#include <qmmpui/uiloader.h> +#include "radioitemdelegate_p.h" #include "pluginitem_p.h" PluginItem::PluginItem(QTreeWidgetItem *parent, InputSourceFactory *factory, const QString &path) @@ -88,11 +92,39 @@ PluginItem::PluginItem(QTreeWidgetItem *parent, GeneralFactory *factory, const Q m_factory = factory; } -PluginItem::~PluginItem() +PluginItem::PluginItem(QTreeWidgetItem *parent, OutputFactory *factory, const QString &path) + : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), OUTPUT) +{ + setCheckState(0, (Output::currentFactory() == factory) ? Qt::Checked : Qt::Unchecked); + m_has_about = factory->properties().hasAbout; + m_has_config = factory->properties().hasSettings; + m_factory = factory; + setData(0, RadioButtonRole, true); +} + +PluginItem::PluginItem(QTreeWidgetItem *parent, FileDialogFactory *factory, const QString &path) + : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path, FILE_DIALOG) { + setCheckState(0, FileDialog::isEnabled(factory) ? Qt::Checked : Qt::Unchecked); + m_has_about = factory->properties().hasAbout; + m_has_config = false; + m_factory = factory; + setData(0, RadioButtonRole, true); +} +PluginItem::PluginItem(QTreeWidgetItem *parent, UiFactory *factory, const QString &path) + : QTreeWidgetItem(parent, QStringList() << factory->properties().name << path.section('/',-1), USER_INTERFACE) +{ + setCheckState(0, (UiLoader::selected() == factory) ? Qt::Checked : Qt::Unchecked); + m_has_about = factory->properties().hasAbout; + m_has_config = false; + m_factory = factory; + setData(0, RadioButtonRole, true); } +PluginItem::~PluginItem() +{} + bool PluginItem::hasAbout() const { return m_has_about; @@ -124,6 +156,15 @@ void PluginItem::showAbout(QWidget *parent) case PluginItem::GENERAL: static_cast<GeneralFactory *>(m_factory)->showAbout(parent); break; + case PluginItem::OUTPUT: + static_cast<OutputFactory *>(m_factory)->showAbout(parent); + break; + case PluginItem::FILE_DIALOG: + static_cast<FileDialogFactory *>(m_factory)->showAbout(parent); + break; + case PluginItem::USER_INTERFACE: + static_cast<UiFactory *>(m_factory)->showAbout(parent); + break; default: ; } @@ -137,13 +178,13 @@ void PluginItem::showSettings(QWidget *parent) static_cast<InputSourceFactory *>(m_factory)->showSettings(parent); break; case PluginItem::DECODER: - static_cast<DecoderFactory *>(m_factory)->showSettings (parent); + static_cast<DecoderFactory *>(m_factory)->showSettings(parent); break; case PluginItem::ENGINE: - static_cast<EngineFactory *>(m_factory)->showSettings (parent); + static_cast<EngineFactory *>(m_factory)->showSettings(parent); break; case PluginItem::EFFECT: - static_cast<EffectFactory *>(m_factory)->showSettings (parent); + static_cast<EffectFactory *>(m_factory)->showSettings(parent); break; case PluginItem::VISUAL: Visual::showSettings(static_cast<VisualFactory *>(m_factory), parent); @@ -151,6 +192,9 @@ void PluginItem::showSettings(QWidget *parent) case PluginItem::GENERAL: General::showSettings(static_cast<GeneralFactory *>(m_factory), parent); break; + case PluginItem::OUTPUT: + static_cast<OutputFactory *>(m_factory)->showSettings(parent); + break; default: ; } @@ -178,6 +222,24 @@ void PluginItem::setEnabled(bool enabled) case PluginItem::GENERAL: General::setEnabled(static_cast<GeneralFactory *>(m_factory), enabled); break; + case PluginItem::OUTPUT: + if(enabled) + { + Output::setCurrentFactory(static_cast<OutputFactory *>(m_factory)); + } + break; + case PluginItem::FILE_DIALOG: + if(enabled) + { + FileDialog::setEnabled(static_cast<FileDialogFactory *>(m_factory)); + } + break; + case PluginItem::USER_INTERFACE: + if(enabled) + { + UiLoader::select(static_cast<UiFactory *>(m_factory)); + } + break; default: ; } |
