aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/pluginitem.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-08-29 20:39:30 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-08-29 20:39:30 +0000
commit471b1754f75e462cb6e5dc52d66bdec5745c92e0 (patch)
tree9dbc1541bb9221077cc953991e3b485def9717c6 /src/qmmpui/pluginitem.cpp
parent1abba773217ac19dbcc7f413bfaf8376caf8ba42 (diff)
downloadqmmp-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.cpp70
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:
;
}