aboutsummaryrefslogtreecommitdiff
path: root/src/ui/pluginitem.h
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.h
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.h')
-rw-r--r--src/ui/pluginitem.h134
1 files changed, 29 insertions, 105 deletions
diff --git a/src/ui/pluginitem.h b/src/ui/pluginitem.h
index 80dfc8887..3931b88c2 100644
--- a/src/ui/pluginitem.h
+++ b/src/ui/pluginitem.h
@@ -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 *
@@ -20,12 +20,13 @@
#ifndef PLUGINITEM_H
#define PLUGINITEM_H
-#include <QObject>
+#include <QTreeWidgetItem>
/**
@author Ilya Kotov <forkotov02@hotmail.ru>
*/
+class QWidget;
class DecoderFactory;
class EngineFactory;
class OutputFactory;
@@ -33,115 +34,38 @@ class VisualFactory;
class EffectFactory;
class GeneralFactory;
-class InputPluginItem : public QObject
+class PluginItem : public QTreeWidgetItem
{
- Q_OBJECT
public:
- InputPluginItem(QObject *parent, DecoderFactory *fact);
- ~InputPluginItem();
+ PluginItem(QTreeWidgetItem *parent, DecoderFactory *factory, const QString &path);
+ PluginItem(QTreeWidgetItem *parent, EngineFactory *factory, const QString &path);
+ PluginItem(QTreeWidgetItem *parent, EffectFactory *factory, const QString &path);
+ PluginItem(QTreeWidgetItem *parent, VisualFactory *factory, const QString &path);
+ PluginItem(QTreeWidgetItem *parent, GeneralFactory *factory, const QString &path);
+ ~PluginItem();
+
+ enum PluginType
+ {
+ TRANSPORT = QTreeWidgetItem::UserType,
+ DECODER,
+ ENGINE,
+ EFFECT,
+ VISUAL,
+ GENERAL
+ };
+
+ bool hasAbout() const;
+ bool hasSettings() const;
+ void showAbout(QWidget *parent);
+ void showSettings(QWidget *parent);
+ void setEnabled(bool enabled);
- bool isSelected();
- DecoderFactory * factory();
-
-public slots:
- void setSelected(bool);
-
-private:
- DecoderFactory *m_factory;
-
-};
-
-class EnginePluginItem : public QObject
-{
- Q_OBJECT
-public:
- EnginePluginItem(QObject *parent, EngineFactory *fact);
-
- ~EnginePluginItem();
-
- bool isSelected();
- EngineFactory *factory();
-
-public slots:
- void setSelected(bool);
-
-private:
- EngineFactory *m_factory;
-
-};
-
-class OutputPluginItem : public QObject
-{
- Q_OBJECT
-public:
- OutputPluginItem(QObject *parent, OutputFactory *fact);
-
- ~OutputPluginItem();
-
- bool isSelected();
- OutputFactory * factory();
-
-public slots:
- void select();
-
-private:
- OutputFactory *m_factory;
-
-};
-
-class VisualPluginItem : public QObject
-{
- Q_OBJECT
-public:
- VisualPluginItem(QObject *parent, VisualFactory *fact);
-
- ~VisualPluginItem();
-
- bool isSelected();
- VisualFactory * factory();
-
-public slots:
- void select(bool);
-
-private:
- VisualFactory *m_factory;
-};
-
-class EffectPluginItem : public QObject
-{
- Q_OBJECT
-public:
- EffectPluginItem(QObject *parent, EffectFactory *fact);
-
- ~EffectPluginItem();
-
- bool isSelected();
- EffectFactory * factory();
-
-public slots:
- void select(bool);
-
-private:
- EffectFactory *m_factory;
-};
-
-class GeneralPluginItem : public QObject
-{
- Q_OBJECT
-public:
- GeneralPluginItem(QObject *parent, GeneralFactory *fact);
-
- ~GeneralPluginItem();
-
- bool isSelected();
- GeneralFactory * factory();
-
-public slots:
- void select(bool);
private:
- GeneralFactory *m_factory;
+ bool m_has_about;
+ bool m_has_config;
+ void *m_factory;
};
#endif