summaryrefslogtreecommitdiff
path: root/noncore
authorsandman <sandman>2002-07-06 16:42:29 (UTC)
committer sandman <sandman>2002-07-06 16:42:29 (UTC)
commit3a422983abc7342c9229dccac825d0608fca10f3 (patch) (unidiff)
treefd0d71eab4df0b286b78efe24184525ae4c819a3 /noncore
parent8beb5fcdbca8110dc586a7e620bf8eae892087fb (diff)
downloadopie-3a422983abc7342c9229dccac825d0608fca10f3.zip
opie-3a422983abc7342c9229dccac825d0608fca10f3.tar.gz
opie-3a422983abc7342c9229dccac825d0608fca10f3.tar.bz2
Complete renovation of the external style API:
- created two QCom interfaces in "styleinterface.h" - moved the liquid/theme settings apps into the plugins - modified the plugin interface for all three styles - extended appearance to fully support the new API (replaces the settings apps) Additional work: - made a workaround in appearance for a Qt Bug -- now a QDialog again (this should really be fixed in Qt, but Z won't work that way)
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/styles/liquid/liquid.pro6
-rw-r--r--noncore/styles/liquid/liquidset.cpp (renamed from noncore/styles/liquid/settings/liquidset.cpp)26
-rw-r--r--noncore/styles/liquid/liquidset.h (renamed from noncore/styles/liquid/settings/liquidset.h)7
-rw-r--r--noncore/styles/liquid/opie-liquid.control2
-rw-r--r--noncore/styles/liquid/plugin.cpp106
-rw-r--r--noncore/styles/liquid/plugin.h46
-rw-r--r--noncore/styles/liquid/settings/.cvsignore2
-rw-r--r--noncore/styles/liquid/settings/main.cpp34
-rw-r--r--noncore/styles/liquid/settings/settings.pro24
-rw-r--r--noncore/styles/metal/metal.pro2
-rw-r--r--noncore/styles/metal/plugin.cpp52
-rw-r--r--noncore/styles/metal/plugin.h27
-rw-r--r--noncore/styles/theme/opie-theme.control2
-rw-r--r--noncore/styles/theme/plugin.cpp110
-rw-r--r--noncore/styles/theme/plugin.h46
-rw-r--r--noncore/styles/theme/settings/main.cpp34
-rw-r--r--noncore/styles/theme/settings/settings.pro24
-rw-r--r--noncore/styles/theme/settings/themeset.h20
-rw-r--r--noncore/styles/theme/theme.pro5
-rw-r--r--noncore/styles/theme/themeset.cpp (renamed from noncore/styles/theme/settings/themeset.cpp)11
-rw-r--r--noncore/styles/theme/themeset.h20
21 files changed, 406 insertions, 200 deletions
diff --git a/noncore/styles/liquid/liquid.pro b/noncore/styles/liquid/liquid.pro
index 23dce09..a07eaf2 100644
--- a/noncore/styles/liquid/liquid.pro
+++ b/noncore/styles/liquid/liquid.pro
@@ -1,16 +1,20 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt embedded release warn_on
3SOURCES = liquid.cpp \ 3SOURCES = liquid.cpp \
4 liquiddeco.cpp \ 4 liquiddeco.cpp \
5 effects.cpp \ 5 effects.cpp \
6 liquidset.cpp \
6 plugin.cpp 7 plugin.cpp
7 8
8HEADERS = liquid.h \ 9HEADERS = liquid.h \
9 liquiddeco.h \ 10 liquiddeco.h \
10 effects.h 11 effects.h \
12 liquidset.h \
13 plugin.h
14
11LIBS += -lqpe 15LIBS += -lqpe
12INCLUDEPATH += $(OPIEDIR)/include 16INCLUDEPATH += $(OPIEDIR)/include
13DESTDIR = $(OPIEDIR)/plugins/styles 17DESTDIR = $(OPIEDIR)/plugins/styles
14TARGET = liquid 18TARGET = liquid
15VERSION = 1.0.0 19VERSION = 1.0.0
16 20
diff --git a/noncore/styles/liquid/settings/liquidset.cpp b/noncore/styles/liquid/liquidset.cpp
index 1479ac0..5ae19ba 100644
--- a/noncore/styles/liquid/settings/liquidset.cpp
+++ b/noncore/styles/liquid/liquidset.cpp
@@ -18,13 +18,13 @@
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21 21
22 22
23#include "liquidset.h" 23#include "liquidset.h"
24#include "../liquid.h" 24#include "liquid.h"
25 25
26#include <qpe/qpeapplication.h> 26#include <qpe/qpeapplication.h>
27#include <qpe/global.h> 27#include <qpe/global.h>
28 28
29#include <qslider.h> 29#include <qslider.h>
30#include <qtoolbutton.h> 30#include <qtoolbutton.h>
@@ -54,14 +54,14 @@ static void changeButtonColor ( QWidget *btn, const QColor &col )
54 pal. setColor ( QPalette::Inactive, QColorGroup::Background, col ); 54 pal. setColor ( QPalette::Inactive, QColorGroup::Background, col );
55 55
56 btn-> setPalette ( pal ); 56 btn-> setPalette ( pal );
57} 57}
58 58
59 59
60LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) 60LiquidSettings::LiquidSettings ( QWidget* parent, const char *name, WFlags fl )
61 : QDialog ( parent, name, fl ) 61 : QWidget ( parent, name, fl )
62{ 62{
63 setCaption ( tr( "Liquid Style" ) ); 63 setCaption ( tr( "Liquid Style" ) );
64 64
65 Config config ( "qpe" ); 65 Config config ( "qpe" );
66 config. setGroup ( "Liquid-Style" ); 66 config. setGroup ( "Liquid-Style" );
67 67
@@ -119,22 +119,22 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
119 119
120 m_menubtn = new QToolButton ( this ); 120 m_menubtn = new QToolButton ( this );
121 grid-> addWidget ( m_menubtn, 0, 2 ); 121 grid-> addWidget ( m_menubtn, 0, 2 );
122 122
123 QPopupMenu *popup; 123 QPopupMenu *popup;
124 124
125 popup = new ColorPopupMenu ( m_menucol, this ); 125 popup = new ColorPopupMenu ( m_menucol, 0 );
126 m_menubtn-> setPopup ( popup ); 126 m_menubtn-> setPopup ( popup );
127 m_menubtn-> setPopupDelay ( 0 ); 127 m_menubtn-> setPopupDelay ( 0 );
128 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeMenuColor ( const QColor & ))); 128 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeMenuColor ( const QColor & )));
129 changeMenuColor ( m_menucol ); 129 changeMenuColor ( m_menucol );
130 130
131 m_textbtn = new QToolButton ( this ); 131 m_textbtn = new QToolButton ( this );
132 grid-> addWidget ( m_textbtn, 0, 5 ); 132 grid-> addWidget ( m_textbtn, 0, 5 );
133 133
134 popup = new ColorPopupMenu ( m_textcol, this ); 134 popup = new ColorPopupMenu ( m_textcol, 0 );
135 m_textbtn-> setPopup ( popup ); 135 m_textbtn-> setPopup ( popup );
136 m_textbtn-> setPopupDelay ( 0 ); 136 m_textbtn-> setPopupDelay ( 0 );
137 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeTextColor ( const QColor & ))); 137 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeTextColor ( const QColor & )));
138 changeTextColor ( m_textcol ); 138 changeTextColor ( m_textcol );
139 139
140 m_opacsld = new QSlider ( Horizontal, this ); 140 m_opacsld = new QSlider ( Horizontal, this );
@@ -173,13 +173,13 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
173 173
174 connect ( btngrp, SIGNAL( clicked ( int ) ), this, SLOT( changeType ( int ) ) ); 174 connect ( btngrp, SIGNAL( clicked ( int ) ), this, SLOT( changeType ( int ) ) );
175 connect ( shadow, SIGNAL( toggled ( bool ) ), this, SLOT( changeShadow ( bool ) ) ); 175 connect ( shadow, SIGNAL( toggled ( bool ) ), this, SLOT( changeShadow ( bool ) ) );
176 connect ( windeco, SIGNAL( toggled ( bool ) ), this, SLOT( changeDeco ( bool ) ) ); 176 connect ( windeco, SIGNAL( toggled ( bool ) ), this, SLOT( changeDeco ( bool ) ) );
177} 177}
178 178
179void LiquidSet::changeType ( int t ) 179void LiquidSettings::changeType ( int t )
180{ 180{
181 bool custom = ( t == Custom ); 181 bool custom = ( t == Custom );
182 182
183 m_menulbl-> setEnabled ( custom ); 183 m_menulbl-> setEnabled ( custom );
184 m_textlbl-> setEnabled ( custom ); 184 m_textlbl-> setEnabled ( custom );
185 m_opaclbl-> setEnabled ( custom ); 185 m_opaclbl-> setEnabled ( custom );
@@ -187,36 +187,36 @@ void LiquidSet::changeType ( int t )
187 m_textbtn-> setEnabled ( custom ); 187 m_textbtn-> setEnabled ( custom );
188 m_opacsld-> setEnabled ( custom ); 188 m_opacsld-> setEnabled ( custom );
189 189
190 m_type = t; 190 m_type = t;
191} 191}
192 192
193void LiquidSet::changeMenuColor ( const QColor &col ) 193void LiquidSettings::changeMenuColor ( const QColor &col )
194{ 194{
195 changeButtonColor ( m_menubtn, col ); 195 changeButtonColor ( m_menubtn, col );
196 m_menucol = col; 196 m_menucol = col;
197} 197}
198 198
199void LiquidSet::changeTextColor ( const QColor &col ) 199void LiquidSettings::changeTextColor ( const QColor &col )
200{ 200{
201 changeButtonColor ( m_textbtn, col ); 201 changeButtonColor ( m_textbtn, col );
202 m_textcol = col; 202 m_textcol = col;
203} 203}
204 204
205void LiquidSet::changeShadow ( bool b ) 205void LiquidSettings::changeShadow ( bool b )
206{ 206{
207 m_shadow = b; 207 m_shadow = b;
208} 208}
209 209
210void LiquidSet::changeDeco ( bool b ) 210void LiquidSettings::changeDeco ( bool b )
211{ 211{
212 m_deco = b; 212 m_deco = b;
213} 213}
214 214
215 215
216void LiquidSet::accept ( ) 216bool LiquidSettings::writeConfig ( )
217{ 217{
218 Config config ( "qpe" ); 218 Config config ( "qpe" );
219 config. setGroup ( "Liquid-Style" ); 219 config. setGroup ( "Liquid-Style" );
220 220
221 config. writeEntry ( "Type", m_type ); 221 config. writeEntry ( "Type", m_type );
222 config. writeEntry ( "Color", m_menucol. name ( )); 222 config. writeEntry ( "Color", m_menucol. name ( ));
@@ -224,11 +224,9 @@ void LiquidSet::accept ( )
224 config. writeEntry ( "Opacity", m_opacsld-> value ( )); 224 config. writeEntry ( "Opacity", m_opacsld-> value ( ));
225 config. writeEntry ( "ShadowText", m_shadow ); 225 config. writeEntry ( "ShadowText", m_shadow );
226 config. writeEntry ( "WinDecoration", m_deco ); 226 config. writeEntry ( "WinDecoration", m_deco );
227 config. writeEntry ( "StippleContrast", m_contsld-> value ( )); 227 config. writeEntry ( "StippleContrast", m_contsld-> value ( ));
228 config. write ( ); 228 config. write ( );
229 229
230 Global::applyStyle ( ); 230 return true;
231
232 QDialog::accept ( );
233} 231}
234 232
diff --git a/noncore/styles/liquid/settings/liquidset.h b/noncore/styles/liquid/liquidset.h
index a0f590a..7843513 100644
--- a/noncore/styles/liquid/settings/liquidset.h
+++ b/noncore/styles/liquid/liquidset.h
@@ -5,27 +5,26 @@
5#include <qcolor.h> 5#include <qcolor.h>
6 6
7class QLabel; 7class QLabel;
8class QToolButton; 8class QToolButton;
9class QSlider; 9class QSlider;
10 10
11class LiquidSet : public QDialog { 11class LiquidSettings : public QWidget {
12 Q_OBJECT 12 Q_OBJECT
13 13
14public: 14public:
15 LiquidSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); 15 LiquidSettings ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
16 16
17public slots: 17public slots:
18 void changeType ( int t ); 18 void changeType ( int t );
19 void changeMenuColor ( const QColor &col ); 19 void changeMenuColor ( const QColor &col );
20 void changeTextColor ( const QColor &col ); 20 void changeTextColor ( const QColor &col );
21 void changeShadow ( bool b ); 21 void changeShadow ( bool b );
22 void changeDeco ( bool b ); 22 void changeDeco ( bool b );
23 23
24protected: 24 virtual bool writeConfig ( );
25 virtual void accept ( );
26 25
27private: 26private:
28 QColor m_menucol; 27 QColor m_menucol;
29 QColor m_textcol; 28 QColor m_textcol;
30 int m_type; 29 int m_type;
31 bool m_shadow; 30 bool m_shadow;
diff --git a/noncore/styles/liquid/opie-liquid.control b/noncore/styles/liquid/opie-liquid.control
index 6311dee..7b6ae71 100644
--- a/noncore/styles/liquid/opie-liquid.control
+++ b/noncore/styles/liquid/opie-liquid.control
@@ -1,7 +1,7 @@
1Files: plugins/styles/libliquid.so* bin/liquid-settings apps/Settings/Liquid.desktop pics/liquid/Liquid.png 1Files: plugins/styles/libliquid.so*
2Priority: optional 2Priority: optional
3Section: opie/system 3Section: opie/system
4Maintainer: Robert Griebl <sandman@handhelds.org> 4Maintainer: Robert Griebl <sandman@handhelds.org>
5Architecture: arm 5Architecture: arm
6Version: $QPE_VERSION-$SUB_VERSION.1 6Version: $QPE_VERSION-$SUB_VERSION.1
7Depends: opie-base ($QPE_VERSION) 7Depends: opie-base ($QPE_VERSION)
diff --git a/noncore/styles/liquid/plugin.cpp b/noncore/styles/liquid/plugin.cpp
index d9aa8ef..f149c29 100644
--- a/noncore/styles/liquid/plugin.cpp
+++ b/noncore/styles/liquid/plugin.cpp
@@ -1,29 +1,111 @@
1#include "liquid.h" 1#include "liquid.h"
2#include "liquidset.h"
3#include "plugin.h"
2 4
3 5
4extern "C" { 6
5 QStyle* allocate ( ); 7LiquidInterface::LiquidInterface ( ) : ref ( 0 )
6 int minor_version ( ); 8{
7 int major_version ( ); 9}
8 const char *description ( ); 10
11LiquidInterface::~LiquidInterface ( )
12{
9} 13}
10 14
11QStyle* allocate ( ) 15QStyle *LiquidInterface::create ( )
12{ 16{
13 return new LiquidStyle ( ); 17 return new LiquidStyle ( );
14} 18}
15 19
16int minor_version ( ) 20QString LiquidInterface::name ( )
21{
22 return QObject::tr( "Liquid", "name" );
23}
24
25QString LiquidInterface::description ( )
26{
27 return QObject::tr( "High Performance Liquid style by Mosfet", "description" );
28}
29
30QCString LiquidInterface::key ( )
17{ 31{
18 return 0; 32 return QCString ( "liquid" );
19} 33}
20 34
21int major_version ( ) 35unsigned int LiquidInterface::version ( )
22{ 36{
23 return 1; 37 return 100; // 1.0.0 (\d+.\d.\d)
24} 38}
25 39
26const char *description ( ) 40QRESULT LiquidInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
41{
42 static LiquidSettingsInterface *setiface = 0;
43
44 *iface = 0;
45
46 if ( uuid == IID_QUnknown )
47 *iface = this;
48 else if ( uuid == IID_Style )
49 *iface = this;
50 else if ( uuid == IID_StyleSettings ) {
51 if ( !setiface )
52 setiface = new LiquidSettingsInterface ( );
53 *iface = setiface;
54 }
55
56 if ( *iface )
57 (*iface)-> addRef ( );
58
59 return QS_OK;
60}
61
62Q_EXPORT_INTERFACE()
63{
64 Q_CREATE_INSTANCE( LiquidInterface )
65}
66
67
68LiquidSettingsInterface::LiquidSettingsInterface ( ) : ref ( 0 )
27{ 69{
28 return "High Performance Liquid"; 70 m_widget = 0;
29} 71}
72
73LiquidSettingsInterface::~LiquidSettingsInterface ( )
74{
75}
76
77QWidget *LiquidSettingsInterface::create ( QWidget *parent, const char *name )
78{
79 m_widget = new LiquidSettings ( parent, name ? name : "LIQUID-SETTINGS" );
80
81 return m_widget;
82}
83
84bool LiquidSettingsInterface::accept ( )
85{
86 if ( !m_widget )
87 return false;
88
89 return m_widget-> writeConfig ( );
90}
91
92void LiquidSettingsInterface::reject ( )
93{
94}
95
96QRESULT LiquidSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
97{
98 *iface = 0;
99
100
101 if ( uuid == IID_QUnknown )
102 *iface = this;
103 else if ( uuid == IID_StyleSettings )
104 *iface = this;
105
106 if ( *iface )
107 (*iface)-> addRef ( );
108
109 return QS_OK;
110}
111
diff --git a/noncore/styles/liquid/plugin.h b/noncore/styles/liquid/plugin.h
new file mode 100644
index 0000000..759577f
--- a/dev/null
+++ b/noncore/styles/liquid/plugin.h
@@ -0,0 +1,46 @@
1#ifndef __OPIE_LIQUID_PLUGIN_H__
2#define __OPIE_LIQUID_PLUGIN_H__
3
4#include <qpe/styleinterface.h>
5
6class LiquidSettings;
7
8class LiquidInterface : public StyleInterface {
9public:
10 LiquidInterface ( );
11 virtual ~LiquidInterface ( );
12
13 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
14 Q_REFCOUNT
15
16 virtual QStyle *create ( );
17
18 virtual QString description ( );
19 virtual QString name ( );
20 virtual QCString key ( );
21
22 virtual unsigned int version ( );
23
24private:
25 ulong ref;
26};
27
28class LiquidSettingsInterface : public StyleSettingsInterface {
29public:
30 LiquidSettingsInterface ( );
31 virtual ~LiquidSettingsInterface ( );
32
33 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
34 Q_REFCOUNT
35
36 virtual QWidget *create ( QWidget *parent, const char *name = 0 );
37
38 virtual bool accept ( );
39 virtual void reject ( );
40
41private:
42 LiquidSettings *m_widget;
43 ulong ref;
44};
45
46#endif
diff --git a/noncore/styles/liquid/settings/.cvsignore b/noncore/styles/liquid/settings/.cvsignore
deleted file mode 100644
index c13418b..0000000
--- a/noncore/styles/liquid/settings/.cvsignore
+++ b/dev/null
@@ -1,2 +0,0 @@
1Makefile*
2moc_*
diff --git a/noncore/styles/liquid/settings/main.cpp b/noncore/styles/liquid/settings/main.cpp
deleted file mode 100644
index fd69007..0000000
--- a/noncore/styles/liquid/settings/main.cpp
+++ b/dev/null
@@ -1,34 +0,0 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#include "liquidset.h"
22
23#include <qpe/qpeapplication.h>
24
25
26int main ( int argc, char** argv )
27{
28 QPEApplication a ( argc, argv );
29
30 LiquidSet dlg;
31 a. showMainWidget ( &dlg );
32
33 return a. exec ( );
34}
diff --git a/noncore/styles/liquid/settings/settings.pro b/noncore/styles/liquid/settings/settings.pro
deleted file mode 100644
index bfda7a4..0000000
--- a/noncore/styles/liquid/settings/settings.pro
+++ b/dev/null
@@ -1,24 +0,0 @@
1 TEMPLATE= app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = liquidset.h
5 SOURCES = liquidset.cpp main.cpp
6INCLUDEPATH += $(OPIEDIR)/include
7 DEPENDPATH+= ../$(OPIEDIR)/include
8LIBS += -lqpe -lopie
9 TARGET = liquid-settings
10
11TRANSLATIONS = ../../../../i18n/de/liquid-settings.ts \
12 ../../../../i18n/en/liquid-settings.ts \
13 ../../../../i18n/es/liquid-settings.ts \
14 ../../../../i18n/fr/liquid-settings.ts \
15 ../../../../i18n/hu/liquid-settings.ts \
16 ../../../../i18n/ja/liquid-settings.ts \
17 ../../../../i18n/ko/liquid-settings.ts \
18 ../../../../i18n/no/liquid-settings.ts \
19 ../../../../i18n/pl/liquid-settings.ts \
20 ../../../../i18n/pt/liquid-settings.ts \
21 ../../../../i18n/pt_BR/liquid-settings.ts \
22 ../../../../i18n/sl/liquid-settings.ts \
23 ../../../../i18n/zh_CN/liquid-settings.ts \
24 ../../../../i18n/zh_TW/liquid-settings.ts
diff --git a/noncore/styles/metal/metal.pro b/noncore/styles/metal/metal.pro
index 6e99389..cf15f33 100644
--- a/noncore/styles/metal/metal.pro
+++ b/noncore/styles/metal/metal.pro
@@ -1,11 +1,11 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt embedded release warn_on
3SOURCES = metal.cpp plugin.cpp 3SOURCES = metal.cpp plugin.cpp
4 4
5HEADERS = metal.h 5HEADERS = metal.h plugin.h
6LIBS += -lqpe 6LIBS += -lqpe
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DESTDIR = $(OPIEDIR)/plugins/styles 8DESTDIR = $(OPIEDIR)/plugins/styles
9TARGET = metal 9TARGET = metal
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
diff --git a/noncore/styles/metal/plugin.cpp b/noncore/styles/metal/plugin.cpp
index e5bee10..1db4aac 100644
--- a/noncore/styles/metal/plugin.cpp
+++ b/noncore/styles/metal/plugin.cpp
@@ -1,29 +1,57 @@
1#include "metal.h" 1#include "metal.h"
2#include "plugin.h"
2 3
3 4
4extern "C" { 5MetalInterface::MetalInterface ( ) : ref ( 0 )
5 QStyle* allocate ( ); 6{
6 int minor_version ( );
7 int major_version ( );
8 const char *description ( );
9} 7}
10 8
11QStyle* allocate ( ) 9MetalInterface::~MetalInterface ( )
10{
11}
12
13QStyle *MetalInterface::create ( )
12{ 14{
13 return new MetalStyle ( ); 15 return new MetalStyle ( );
14} 16}
15 17
16int minor_version ( ) 18QString MetalInterface::name ( )
17{ 19{
18 return 0; 20 return QObject::tr( "Metal", "name" );
19} 21}
20 22
21int major_version ( ) 23QString MetalInterface::description ( )
22{ 24{
23 return 1; 25 return QObject::tr( "Metal style", "description" );
24} 26}
25 27
26const char *description ( ) 28QCString MetalInterface::key ( )
27{ 29{
28 return "Metal style plugin"; 30 return QCString ( "metal" );
29} 31}
32
33unsigned int MetalInterface::version ( )
34{
35 return 100; // 1.0.0 (\d+.\d.\d)
36}
37
38QRESULT MetalInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
39{
40 *iface = 0;
41
42 if ( uuid == IID_QUnknown )
43 *iface = this;
44 else if ( uuid == IID_Style )
45 *iface = this;
46
47 if ( *iface )
48 (*iface)-> addRef ( );
49
50 return QS_OK;
51}
52
53Q_EXPORT_INTERFACE()
54{
55 Q_CREATE_INSTANCE( MetalInterface )
56}
57
diff --git a/noncore/styles/metal/plugin.h b/noncore/styles/metal/plugin.h
new file mode 100644
index 0000000..f61c833
--- a/dev/null
+++ b/noncore/styles/metal/plugin.h
@@ -0,0 +1,27 @@
1#ifndef __OPIE_METAL_PLUGIN_H__
2#define __OPIE_METAL_PLUGIN_H__
3
4#include <qpe/styleinterface.h>
5
6
7class MetalInterface : public StyleInterface {
8public:
9 MetalInterface ( );
10 virtual ~MetalInterface ( );
11
12 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
13 Q_REFCOUNT
14
15 virtual QStyle *create ( );
16
17 virtual QString description ( );
18 virtual QString name ( );
19 virtual QCString key ( );
20
21 virtual unsigned int version ( );
22
23private:
24 ulong ref;
25};
26
27#endif
diff --git a/noncore/styles/theme/opie-theme.control b/noncore/styles/theme/opie-theme.control
index 02739fb..adb4f4b 100644
--- a/noncore/styles/theme/opie-theme.control
+++ b/noncore/styles/theme/opie-theme.control
@@ -1,7 +1,7 @@
1Files: plugins/styles/libtheme.so* bin/theme-settings apps/Settings/Theme.desktop pics/theme/Theme.png 1Files: plugins/styles/libtheme.so*
2Priority: optional 2Priority: optional
3Section: opie/system 3Section: opie/system
4Maintainer: Robert Griebl <sandman@handhelds.org> 4Maintainer: Robert Griebl <sandman@handhelds.org>
5Architecture: arm 5Architecture: arm
6Version: $QPE_VERSION-$SUB_VERSION.1 6Version: $QPE_VERSION-$SUB_VERSION.1
7Depends: opie-base ($QPE_VERSION) 7Depends: opie-base ($QPE_VERSION)
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 @@
1//#include <klocale.h>
2#include "othemestyle.h" 1#include "othemestyle.h"
2#include "themeset.h"
3#include "plugin.h"
3 4
4extern "C" 5
6
7ThemeInterface::ThemeInterface ( ) : ref ( 0 )
8{
9}
10
11ThemeInterface::~ThemeInterface ( )
12{
13}
14
15QStyle *ThemeInterface::create ( )
5{ 16{
6 QStyle * allocate() {
7 return new OThemeStyle ( "" ); 17 return new OThemeStyle ( "" );
8 } 18 }
9 int minor_version() { 19
10 return 0; 20QString ThemeInterface::name ( )
21{
22 return QObject::tr( "Themed style", "name" );
23}
24
25QString ThemeInterface::description ( )
26{
27 return QObject::tr( "KDE2 theme compatible style engine", "description" );
28}
29
30QCString ThemeInterface::key ( )
31{
32 return QCString ( "theme" );
33}
34
35unsigned int ThemeInterface::version ( )
36{
37 return 100; // 1.0.0 (\d+.\d.\d)
38}
39
40QRESULT ThemeInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
41{
42 static ThemeSettingsInterface *setiface = 0;
43
44 *iface = 0;
45
46 if ( uuid == IID_QUnknown )
47 *iface = this;
48 else if ( uuid == IID_Style )
49 *iface = this;
50 else if ( uuid == IID_StyleSettings ) {
51 if ( !setiface )
52 setiface = new ThemeSettingsInterface ( );
53 *iface = setiface;
54 }
55
56 if ( *iface )
57 (*iface)-> addRef ( );
58
59 return QS_OK;
60}
61
62Q_EXPORT_INTERFACE()
63{
64 Q_CREATE_INSTANCE( ThemeInterface )
65}
66
67
68ThemeSettingsInterface::ThemeSettingsInterface ( ) : ref ( 0 )
69{
70 m_widget = 0;
71}
72
73ThemeSettingsInterface::~ThemeSettingsInterface ( )
74{
75}
76
77QWidget *ThemeSettingsInterface::create ( QWidget *parent, const char *name )
78{
79 m_widget = new ThemeSettings ( parent, name ? name : "THEME-SETTINGS" );
80
81 return m_widget;
11 } 82 }
12 int major_version() { 83
13 return 1; 84bool ThemeSettingsInterface::accept ( )
85{
86 if ( !m_widget )
87 return false;
88
89 return m_widget-> writeConfig ( );
14 } 90 }
15 const char * description() { 91
16 return ( "Theme Style" ); 92void ThemeSettingsInterface::reject ( )
93{
17 } 94 }
95
96QRESULT ThemeSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
97{
98 *iface = 0;
99
100
101 if ( uuid == IID_QUnknown )
102 *iface = this;
103 else if ( uuid == IID_StyleSettings )
104 *iface = this;
105
106 if ( *iface )
107 (*iface)-> addRef ( );
108
109 return QS_OK;
18} 110}
19 111
diff --git a/noncore/styles/theme/plugin.h b/noncore/styles/theme/plugin.h
new file mode 100644
index 0000000..d13fc5d
--- a/dev/null
+++ b/noncore/styles/theme/plugin.h
@@ -0,0 +1,46 @@
1#ifndef __OPIE_THEME_PLUGIN_H__
2#define __OPIE_THEME_PLUGIN_H__
3
4#include <qpe/styleinterface.h>
5
6class ThemeSettings;
7
8class ThemeInterface : public StyleInterface {
9public:
10 ThemeInterface ( );
11 virtual ~ThemeInterface ( );
12
13 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
14 Q_REFCOUNT
15
16 virtual QStyle *create ( );
17
18 virtual QString description ( );
19 virtual QString name ( );
20 virtual QCString key ( );
21
22 virtual unsigned int version ( );
23
24private:
25 ulong ref;
26};
27
28class ThemeSettingsInterface : public StyleSettingsInterface {
29public:
30 ThemeSettingsInterface ( );
31 virtual ~ThemeSettingsInterface ( );
32
33 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
34 Q_REFCOUNT
35
36 virtual QWidget *create ( QWidget *parent, const char *name = 0 );
37
38 virtual bool accept ( );
39 virtual void reject ( );
40
41private:
42 ThemeSettings *m_widget;
43 ulong ref;
44};
45
46#endif
diff --git a/noncore/styles/theme/settings/main.cpp b/noncore/styles/theme/settings/main.cpp
deleted file mode 100644
index 94d40f3..0000000
--- a/noncore/styles/theme/settings/main.cpp
+++ b/dev/null
@@ -1,34 +0,0 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#include "themeset.h"
22
23#include <qpe/qpeapplication.h>
24
25
26int main ( int argc, char** argv )
27{
28 QPEApplication a ( argc, argv );
29
30 ThemeSet dlg;
31 a. showMainWidget ( &dlg );
32
33 return a. exec ( );
34}
diff --git a/noncore/styles/theme/settings/settings.pro b/noncore/styles/theme/settings/settings.pro
deleted file mode 100644
index 85d1f7a..0000000
--- a/noncore/styles/theme/settings/settings.pro
+++ b/dev/null
@@ -1,24 +0,0 @@
1 TEMPLATE= app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = themeset.h
5 SOURCES = themeset.cpp main.cpp
6INCLUDEPATH += $(OPIEDIR)/include
7 DEPENDPATH+= ../$(OPIEDIR)/include
8LIBS += -lqpe
9 TARGET = theme-settings
10
11TRANSLATIONS = ../../../../i18n/de/theme-settings.ts \
12 ../../../../i18n/en/theme-settings.ts \
13 ../../../../i18n/es/theme-settings.ts \
14 ../../../../i18n/fr/theme-settings.ts \
15 ../../../../i18n/hu/theme-settings.ts \
16 ../../../../i18n/ja/theme-settings.ts \
17 ../../../../i18n/ko/theme-settings.ts \
18 ../../../../i18n/no/theme-settings.ts \
19 ../../../../i18n/pl/theme-settings.ts \
20 ../../../../i18n/pt/theme-settings.ts \
21 ../../../../i18n/pt_BR/theme-settings.ts \
22 ../../../../i18n/sl/theme-settings.ts \
23 ../../../../i18n/zh_CN/theme-settings.ts \
24 ../../../../i18n/zh_TW/theme-settings.ts
diff --git a/noncore/styles/theme/settings/themeset.h b/noncore/styles/theme/settings/themeset.h
deleted file mode 100644
index 24804ce..0000000
--- a/noncore/styles/theme/settings/themeset.h
+++ b/dev/null
@@ -1,20 +0,0 @@
1#ifndef __OPIE_THEME_SET_H__
2#define __OPIE_THEME_SET_H__
3
4#include <qdialog.h>
5
6class QListView;
7
8class ThemeSet : public QDialog {
9 Q_OBJECT
10
11public:
12 ThemeSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
13
14protected:
15 virtual void accept ( );
16
17private:
18 QListView *m_list;
19};
20#endif
diff --git a/noncore/styles/theme/theme.pro b/noncore/styles/theme/theme.pro
index fdcd20e..49c4103 100644
--- a/noncore/styles/theme/theme.pro
+++ b/noncore/styles/theme/theme.pro
@@ -1,16 +1,19 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded debug warn_on 2CONFIG = qt embedded debug warn_on
3SOURCES = ogfxeffect.cpp \ 3SOURCES = ogfxeffect.cpp \
4 othemestyle.cpp \ 4 othemestyle.cpp \
5 othemebase.cpp \ 5 othemebase.cpp \
6 themeset.cpp \
6 plugin.cpp 7 plugin.cpp
7 8
8HEADERS = ogfxeffect.h \ 9HEADERS = ogfxeffect.h \
9 othemebase.h \ 10 othemebase.h \
10 othemestyle.h 11 othemestyle.h \
12 themeset.h \
13 plugin.h
11 14
12 15
13LIBS += -lqpe 16LIBS += -lqpe
14INCLUDEPATH += $(OPIEDIR)/include 17INCLUDEPATH += $(OPIEDIR)/include
15DESTDIR = $(OPIEDIR)/plugins/styles 18DESTDIR = $(OPIEDIR)/plugins/styles
16TARGET = theme 19TARGET = theme
diff --git a/noncore/styles/theme/settings/themeset.cpp b/noncore/styles/theme/themeset.cpp
index 046618e..4a4efcb 100644
--- a/noncore/styles/theme/settings/themeset.cpp
+++ b/noncore/styles/theme/themeset.cpp
@@ -56,14 +56,14 @@ public:
56 56
57 57
58 QString m_theme; 58 QString m_theme;
59}; 59};
60 60
61 61
62ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl ) 62ThemeSettings::ThemeSettings ( QWidget* parent, const char *name, WFlags fl )
63 : QDialog ( parent, name, fl ) 63 : QWidget ( parent, name, fl )
64{ 64{
65 setCaption ( tr( "Theme Style" ) ); 65 setCaption ( tr( "Theme Style" ) );
66 66
67 Config config ( "qpe" ); 67 Config config ( "qpe" );
68 config. setGroup ( "Appearance" ); 68 config. setGroup ( "Appearance" );
69 69
@@ -106,19 +106,18 @@ ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl )
106 } 106 }
107 } 107 }
108 } 108 }
109 } 109 }
110} 110}
111 111
112void ThemeSet::accept ( ) 112bool ThemeSettings::writeConfig ( )
113{ 113{
114 Config config ( "qpe" ); 114 Config config ( "qpe" );
115 config. setGroup ( "Appearance" ); 115 config. setGroup ( "Appearance" );
116 116
117 MyItem *it = (MyItem *) m_list-> selectedItem ( ); 117 MyItem *it = (MyItem *) m_list-> selectedItem ( );
118 config. writeEntry ( "Theme", it ? it-> m_theme : QString ( "" )); 118 config. writeEntry ( "Theme", it ? it-> m_theme : QString ( "" ));
119 config. write ( );
119 120
120 Global::applyStyle ( ); 121 return true;
121
122 QDialog::accept ( );
123} 122}
124 123
diff --git a/noncore/styles/theme/themeset.h b/noncore/styles/theme/themeset.h
new file mode 100644
index 0000000..c337cfa
--- a/dev/null
+++ b/noncore/styles/theme/themeset.h
@@ -0,0 +1,20 @@
1#ifndef __OPIE_THEME_SETTINGS_H__
2#define __OPIE_THEME_SETTINGS_H__
3
4#include <qdialog.h>
5
6class QListView;
7
8class ThemeSettings : public QWidget {
9 Q_OBJECT
10
11public:
12 ThemeSettings ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
13
14public:
15 virtual bool writeConfig ( );
16
17private:
18 QListView *m_list;
19};
20#endif