From 471b1754f75e462cb6e5dc52d66bdec5745c92e0 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 29 Aug 2012 20:39:30 +0000 Subject: changed configuration dialog git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2908 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/pluginitem.cpp | 70 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 4 deletions(-) (limited to 'src/qmmpui/pluginitem.cpp') 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 #include #include +#include +#include +#include +#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(m_factory)->showAbout(parent); break; + case PluginItem::OUTPUT: + static_cast(m_factory)->showAbout(parent); + break; + case PluginItem::FILE_DIALOG: + static_cast(m_factory)->showAbout(parent); + break; + case PluginItem::USER_INTERFACE: + static_cast(m_factory)->showAbout(parent); + break; default: ; } @@ -137,13 +178,13 @@ void PluginItem::showSettings(QWidget *parent) static_cast(m_factory)->showSettings(parent); break; case PluginItem::DECODER: - static_cast(m_factory)->showSettings (parent); + static_cast(m_factory)->showSettings(parent); break; case PluginItem::ENGINE: - static_cast(m_factory)->showSettings (parent); + static_cast(m_factory)->showSettings(parent); break; case PluginItem::EFFECT: - static_cast(m_factory)->showSettings (parent); + static_cast(m_factory)->showSettings(parent); break; case PluginItem::VISUAL: Visual::showSettings(static_cast(m_factory), parent); @@ -151,6 +192,9 @@ void PluginItem::showSettings(QWidget *parent) case PluginItem::GENERAL: General::showSettings(static_cast(m_factory), parent); break; + case PluginItem::OUTPUT: + static_cast(m_factory)->showSettings(parent); + break; default: ; } @@ -178,6 +222,24 @@ void PluginItem::setEnabled(bool enabled) case PluginItem::GENERAL: General::setEnabled(static_cast(m_factory), enabled); break; + case PluginItem::OUTPUT: + if(enabled) + { + Output::setCurrentFactory(static_cast(m_factory)); + } + break; + case PluginItem::FILE_DIALOG: + if(enabled) + { + FileDialog::setEnabled(static_cast(m_factory)); + } + break; + case PluginItem::USER_INTERFACE: + if(enabled) + { + UiLoader::select(static_cast(m_factory)); + } + break; default: ; } -- cgit v1.2.3-13-gbd6f