summaryrefslogtreecommitdiff
path: root/noncore/styles/theme/plugin.cpp
Side-by-side diff
Diffstat (limited to 'noncore/styles/theme/plugin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/theme/plugin.cpp118
1 files changed, 105 insertions, 13 deletions
diff --git a/noncore/styles/theme/plugin.cpp b/noncore/styles/theme/plugin.cpp
index b334357..4383693 100644
--- a/noncore/styles/theme/plugin.cpp
+++ b/noncore/styles/theme/plugin.cpp
@@ -1,19 +1,111 @@
-//#include <klocale.h>
#include "othemestyle.h"
+#include "themeset.h"
+#include "plugin.h"
-extern "C"
+
+
+ThemeInterface::ThemeInterface ( ) : ref ( 0 )
{
- QStyle * allocate() {
- return new OThemeStyle ( "" );
- }
- int minor_version() {
- return 0;
- }
- int major_version() {
- return 1;
- }
- const char * description() {
- return ( "Theme Style" );
+}
+
+ThemeInterface::~ThemeInterface ( )
+{
+}
+
+QStyle *ThemeInterface::create ( )
+{
+ return new OThemeStyle ( "" );
+}
+
+QString ThemeInterface::name ( )
+{
+ return QObject::tr( "Themed style", "name" );
+}
+
+QString ThemeInterface::description ( )
+{
+ return QObject::tr( "KDE2 theme compatible style engine", "description" );
+}
+
+QCString ThemeInterface::key ( )
+{
+ return QCString ( "theme" );
+}
+
+unsigned int ThemeInterface::version ( )
+{
+ return 100; // 1.0.0 (\d+.\d.\d)
+}
+
+QRESULT ThemeInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
+{
+ static ThemeSettingsInterface *setiface = 0;
+
+ *iface = 0;
+
+ if ( uuid == IID_QUnknown )
+ *iface = this;
+ else if ( uuid == IID_Style )
+ *iface = this;
+ else if ( uuid == IID_StyleSettings ) {
+ if ( !setiface )
+ setiface = new ThemeSettingsInterface ( );
+ *iface = setiface;
}
+
+ if ( *iface )
+ (*iface)-> addRef ( );
+
+ return QS_OK;
+}
+
+Q_EXPORT_INTERFACE()
+{
+ Q_CREATE_INSTANCE( ThemeInterface )
+}
+
+
+ThemeSettingsInterface::ThemeSettingsInterface ( ) : ref ( 0 )
+{
+ m_widget = 0;
+}
+
+ThemeSettingsInterface::~ThemeSettingsInterface ( )
+{
+}
+
+QWidget *ThemeSettingsInterface::create ( QWidget *parent, const char *name )
+{
+ m_widget = new ThemeSettings ( parent, name ? name : "THEME-SETTINGS" );
+
+ return m_widget;
+}
+
+bool ThemeSettingsInterface::accept ( )
+{
+ if ( !m_widget )
+ return false;
+
+ return m_widget-> writeConfig ( );
+}
+
+void ThemeSettingsInterface::reject ( )
+{
+}
+
+QRESULT ThemeSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
+{
+ *iface = 0;
+
+
+ if ( uuid == IID_QUnknown )
+ *iface = this;
+ else if ( uuid == IID_StyleSettings )
+ *iface = this;
+
+ if ( *iface )
+ (*iface)-> addRef ( );
+
+ return QS_OK;
}