00001
00002
00003
00004 #ifndef ODP_OPIE_UI_OPLUGIN_CONFIG_H
00005 #define ODP_OPIE_UI_OPLUGIN_CONFIG_H
00006
00007 #include <qwidget.h>
00008
00009 namespace Opie {
00010 namespace Core {
00011 class OPluginManager;
00012 class OGenericPluginLoader;
00013 }
00014 namespace Ui {
00037 class OPluginConfigWidget : public QWidget {
00038 Q_OBJECT
00039 public:
00040 enum ChangeMode { Queued, Immediate };
00041 OPluginConfigWidget( QWidget* wid = 0, const char* name = 0, WFlags fl = 0);
00042 OPluginConfig( Opie::Core::OPluginManager* manager, QWidget* wid = 0,
00043 const char* name = 0, WFlags fl = 0);
00044 OPluginConfig( Opie::Core::OGenericPluginLoader* loader, QWidget* wid, const char* name,
00045 WFlags fl );
00046
00047 virtual ~OPluginConfig();
00048
00049 void setChangeMode( enum ChangeMode );
00050 ChangeMode mode()const;
00051
00052 void insert( const QString&, const Opie::Core::OPluginManager* );
00053 void insert( const QString&, const Opie::Core::OGenericPluginLoader* );
00054
00055 signals:
00064 void pluginChanged ( const Opie::Core::OPluginItem& item, bool old_state);
00065
00071 void pluginEnabled ( const Opie::Core::OPluginItem& item);
00072
00078 void pluginDisabled( const Opie::Core::OPluginItem& item);
00079
00084 void changed();
00085 public:
00086
00087 void load();
00088 void save();
00089 private:
00090 ChangeMode m_mode;
00091 QMap<Opie::Core::OPluginManager*, bool> m_items;
00092
00093 };
00094 }
00095 }
00096
00097 #endif