summaryrefslogtreecommitdiff
authorsandman <sandman>2002-10-04 01:22:10 (UTC)
committer sandman <sandman>2002-10-04 01:22:10 (UTC)
commite2f23d8a5169ffef63dcbbac920f68ef0f113792 (patch) (unidiff)
treee9ce43f61cd4332bfb055bf820ca5816477ac278
parent587124a7c62abd6f0fd38da6958adbd2587f3b9f (diff)
downloadopie-e2f23d8a5169ffef63dcbbac920f68ef0f113792.zip
opie-e2f23d8a5169ffef63dcbbac920f68ef0f113792.tar.gz
opie-e2f23d8a5169ffef63dcbbac920f68ef0f113792.tar.bz2
small changes to support Qtopia 1.6 styles (even BC)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/appearance2/appearance.cpp2
-rw-r--r--noncore/settings/appearance2/stylelistitem.h9
2 files changed, 5 insertions, 6 deletions
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp
index 8cd54a2..4132b30 100644
--- a/noncore/settings/appearance2/appearance.cpp
+++ b/noncore/settings/appearance2/appearance.cpp
@@ -44,193 +44,193 @@
44 44
45#include <qaction.h> 45#include <qaction.h>
46#include <qbuttongroup.h> 46#include <qbuttongroup.h>
47#include <qcheckbox.h> 47#include <qcheckbox.h>
48#include <qcombobox.h> 48#include <qcombobox.h>
49#include <qdialog.h> 49#include <qdialog.h>
50#include <qdir.h> 50#include <qdir.h>
51#include <qlabel.h> 51#include <qlabel.h>
52#include <qlayout.h> 52#include <qlayout.h>
53#include <qlineedit.h> 53#include <qlineedit.h>
54#include <qlistbox.h> 54#include <qlistbox.h>
55#include <qmessagebox.h> 55#include <qmessagebox.h>
56#include <qmultilineedit.h> 56#include <qmultilineedit.h>
57#include <qpopupmenu.h> 57#include <qpopupmenu.h>
58#include <qpushbutton.h> 58#include <qpushbutton.h>
59#include <qradiobutton.h> 59#include <qradiobutton.h>
60#if QT_VERSION >= 300 60#if QT_VERSION >= 300
61#include <qstylefactory.h> 61#include <qstylefactory.h>
62#else 62#else
63#include <qwindowsstyle.h> 63#include <qwindowsstyle.h>
64#include <qpe/qpestyle.h> 64#include <qpe/qpestyle.h>
65#include <qpe/lightstyle.h> 65#include <qpe/lightstyle.h>
66#include <qpe/qlibrary.h> 66#include <qpe/qlibrary.h>
67#include <qpe/styleinterface.h> 67#include <qpe/styleinterface.h>
68#endif 68#endif
69#include <qtabwidget.h> 69#include <qtabwidget.h>
70#include <qtoolbutton.h> 70#include <qtoolbutton.h>
71#include <qvgroupbox.h> 71#include <qvgroupbox.h>
72#include <qwidget.h> 72#include <qwidget.h>
73 73
74#include "stylelistitem.h" 74#include "stylelistitem.h"
75#include "decolistitem.h" 75#include "decolistitem.h"
76#include "colorlistitem.h" 76#include "colorlistitem.h"
77 77
78#include "sample.h" 78#include "sample.h"
79 79
80#include <opie/ofontselector.h> 80#include <opie/ofontselector.h>
81 81
82 82
83class DefaultWindowDecoration : public WindowDecorationInterface 83class DefaultWindowDecoration : public WindowDecorationInterface
84{ 84{
85public: 85public:
86 DefaultWindowDecoration() : ref(0) {} 86 DefaultWindowDecoration() : ref(0) {}
87 QString name() const { 87 QString name() const {
88 return "Default"; 88 return "Default";
89 } 89 }
90 QPixmap icon() const { 90 QPixmap icon() const {
91 return QPixmap(); 91 return QPixmap();
92 } 92 }
93 QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { 93 QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) {
94 *iface = 0; 94 *iface = 0;
95 if ( uuid == IID_QUnknown ) 95 if ( uuid == IID_QUnknown )
96 *iface = this; 96 *iface = this;
97 else if ( uuid == IID_WindowDecoration ) 97 else if ( uuid == IID_WindowDecoration )
98 *iface = this; 98 *iface = this;
99 99
100 if ( *iface ) 100 if ( *iface )
101 (*iface)->addRef(); 101 (*iface)->addRef();
102 return QS_OK; 102 return QS_OK;
103 } 103 }
104 Q_REFCOUNT 104 Q_REFCOUNT
105 105
106private: 106private:
107 ulong ref; 107 ulong ref;
108}; 108};
109 109
110 110
111 111
112void Appearance::loadStyles ( QListBox *list ) 112void Appearance::loadStyles ( QListBox *list )
113{ 113{
114#if QT_VERSION >= 300 114#if QT_VERSION >= 300
115 list->insertStringList(QStyleFactory::styles()); 115 list->insertStringList(QStyleFactory::styles());
116#else 116#else
117 list->insertItem( new StyleListItem ( "Windows", new QWindowsStyle ( ))); 117 list->insertItem( new StyleListItem ( "Windows", new QWindowsStyle ( )));
118 list->insertItem( new StyleListItem ( "Light", new LightStyle ( ))); 118 list->insertItem( new StyleListItem ( "Light", new LightStyle ( )));
119#ifndef QT_NO_STYLE_MOTIF 119#ifndef QT_NO_STYLE_MOTIF
120 list->insertItem( new StyleListItem ( "Motif", new QMotifStyle ( ))); 120 list->insertItem( new StyleListItem ( "Motif", new QMotifStyle ( )));
121#endif 121#endif
122#ifndef QT_NO_STYLE_MOTIFPLUS 122#ifndef QT_NO_STYLE_MOTIFPLUS
123 list->insertItem( new StyleListItem ( "MotifPlus", new QMotifPlusStyle ( ))); 123 list->insertItem( new StyleListItem ( "MotifPlus", new QMotifPlusStyle ( )));
124#endif 124#endif
125#ifndef QT_NO_STYLE_PLATINUM 125#ifndef QT_NO_STYLE_PLATINUM
126 list->insertItem( new StyleListItem ( "Platinum", new QPlatinumStyle ( ))); 126 list->insertItem( new StyleListItem ( "Platinum", new QPlatinumStyle ( )));
127#endif 127#endif
128#endif 128#endif
129 list->insertItem( new StyleListItem ( "QPE", new QPEStyle ( ))); 129 list->insertItem( new StyleListItem ( "QPE", new QPEStyle ( )));
130 130
131#if QT_VERSION < 300 131#if QT_VERSION < 300
132 { 132 {
133 QString path = QPEApplication::qpeDir() + "/plugins/styles/"; 133 QString path = QPEApplication::qpeDir() + "/plugins/styles/";
134 QStringList sl = QDir ( path, "lib*.so" ). entryList ( ); 134 QStringList sl = QDir ( path, "lib*.so" ). entryList ( );
135 135
136 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) { 136 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) {
137 QLibrary *lib = new QLibrary ( path + "/" + *it ); 137 QLibrary *lib = new QLibrary ( path + "/" + *it );
138 StyleInterface *iface; 138 StyleInterface *iface;
139 139
140 if ( lib-> queryInterface ( IID_Style, (QUnknownInterface **) &iface ) == QS_OK ) 140 if (( lib-> queryInterface ( IID_Style, (QUnknownInterface **) &iface ) == QS_OK ) && iface )
141 list-> insertItem ( new StyleListItem ( lib, iface )); 141 list-> insertItem ( new StyleListItem ( lib, iface ));
142 else 142 else
143 delete lib; 143 delete lib;
144 } 144 }
145 } 145 }
146 146
147#endif 147#endif
148} 148}
149 149
150void Appearance::loadDecos ( QListBox *list ) 150void Appearance::loadDecos ( QListBox *list )
151{ 151{
152 list-> insertItem ( new DecoListItem ( "QPE" )); 152 list-> insertItem ( new DecoListItem ( "QPE" ));
153 153
154 { 154 {
155 QString path = QPEApplication::qpeDir() + "/plugins/decorations/"; 155 QString path = QPEApplication::qpeDir() + "/plugins/decorations/";
156 QStringList sl = QDir ( path, "lib*.so" ). entryList ( ); 156 QStringList sl = QDir ( path, "lib*.so" ). entryList ( );
157 157
158 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) { 158 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) {
159 QLibrary *lib = new QLibrary ( path + "/" + *it ); 159 QLibrary *lib = new QLibrary ( path + "/" + *it );
160 WindowDecorationInterface *iface; 160 WindowDecorationInterface *iface;
161 161
162 if ( lib-> queryInterface ( IID_WindowDecoration, (QUnknownInterface **) &iface ) == QS_OK ) 162 if ( lib-> queryInterface ( IID_WindowDecoration, (QUnknownInterface **) &iface ) == QS_OK )
163 list-> insertItem ( new DecoListItem ( lib, iface )); 163 list-> insertItem ( new DecoListItem ( lib, iface ));
164 else 164 else
165 delete lib; 165 delete lib;
166 } 166 }
167 } 167 }
168} 168}
169 169
170void Appearance::loadColors ( QListBox *list ) 170void Appearance::loadColors ( QListBox *list )
171{ 171{
172 list-> clear ( ); 172 list-> clear ( );
173 { 173 {
174 Config config ( "qpe" ); 174 Config config ( "qpe" );
175 config. setGroup ( "Appearance" ); 175 config. setGroup ( "Appearance" );
176 176
177 list-> insertItem ( new ColorListItem ( tr( "Current scheme" ), config )); 177 list-> insertItem ( new ColorListItem ( tr( "Current scheme" ), config ));
178 } 178 }
179 179
180 QString path = QPEApplication::qpeDir ( ) + "/etc/colors/"; 180 QString path = QPEApplication::qpeDir ( ) + "/etc/colors/";
181 QStringList sl = QDir ( path ). entryList ( "*.scheme" ); 181 QStringList sl = QDir ( path ). entryList ( "*.scheme" );
182 182
183 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) { 183 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) {
184 QString name = (*it). left ((*it). find ( ".scheme" )); 184 QString name = (*it). left ((*it). find ( ".scheme" ));
185 Config config ( path + *it, Config::File ); 185 Config config ( path + *it, Config::File );
186 config. setGroup ( "Colors" ); 186 config. setGroup ( "Colors" );
187 187
188 list-> insertItem ( new ColorListItem ( name, config )); 188 list-> insertItem ( new ColorListItem ( name, config ));
189 } 189 }
190} 190}
191 191
192 192
193QWidget *Appearance::createStyleTab ( QWidget *parent ) 193QWidget *Appearance::createStyleTab ( QWidget *parent )
194{ 194{
195 Config config ( "qpe" ); 195 Config config ( "qpe" );
196 config. setGroup ( "Appearance" ); 196 config. setGroup ( "Appearance" );
197 197
198 QWidget* tab = new QWidget( parent, "StyleTab" ); 198 QWidget* tab = new QWidget( parent, "StyleTab" );
199 QVBoxLayout* vertLayout = new QVBoxLayout( tab, 4, 4 ); 199 QVBoxLayout* vertLayout = new QVBoxLayout( tab, 4, 4 );
200 200
201 m_style_list = new QListBox( tab, "m_style_list" ); 201 m_style_list = new QListBox( tab, "m_style_list" );
202 vertLayout->addWidget( m_style_list ); 202 vertLayout->addWidget( m_style_list );
203 203
204 m_style_settings = new QPushButton ( tr( "Settings..." ), tab ); 204 m_style_settings = new QPushButton ( tr( "Settings..." ), tab );
205 connect ( m_style_settings, SIGNAL( clicked ( )), this, SLOT( styleSettingsClicked ( ))); 205 connect ( m_style_settings, SIGNAL( clicked ( )), this, SLOT( styleSettingsClicked ( )));
206 vertLayout-> addWidget ( m_style_settings ); 206 vertLayout-> addWidget ( m_style_settings );
207 207
208 loadStyles ( m_style_list ); 208 loadStyles ( m_style_list );
209 209
210 QString s = config. readEntry ( "Style", "Light" ); 210 QString s = config. readEntry ( "Style", "Light" );
211 211
212 for ( uint i = 0; i < m_style_list-> count ( ); i++ ) { 212 for ( uint i = 0; i < m_style_list-> count ( ); i++ ) {
213 if (((StyleListItem *) m_style_list-> item ( i ))-> key ( ) == s ) { 213 if (((StyleListItem *) m_style_list-> item ( i ))-> key ( ) == s ) {
214 m_style_list-> setCurrentItem ( i ); 214 m_style_list-> setCurrentItem ( i );
215 break; 215 break;
216 } 216 }
217 } 217 }
218 218
219 m_original_style = m_style_list-> currentItem ( ); 219 m_original_style = m_style_list-> currentItem ( );
220 styleClicked ( m_original_style ); 220 styleClicked ( m_original_style );
221 221
222 connect( m_style_list, SIGNAL( highlighted( int ) ), this, SLOT( styleClicked( int ) ) ); 222 connect( m_style_list, SIGNAL( highlighted( int ) ), this, SLOT( styleClicked( int ) ) );
223 223
224 return tab; 224 return tab;
225} 225}
226 226
227QWidget *Appearance::createDecoTab ( QWidget *parent ) 227QWidget *Appearance::createDecoTab ( QWidget *parent )
228{ 228{
229 Config config ( "qpe" ); 229 Config config ( "qpe" );
230 config. setGroup ( "Appearance" ); 230 config. setGroup ( "Appearance" );
231 231
232 QWidget* tab = new QWidget( parent, "DecoTab" ); 232 QWidget* tab = new QWidget( parent, "DecoTab" );
233 QVBoxLayout* vertLayout = new QVBoxLayout( tab, 4, 4 ); 233 QVBoxLayout* vertLayout = new QVBoxLayout( tab, 4, 4 );
234 234
235 m_deco_list = new QListBox( tab, "m_deco_list" ); 235 m_deco_list = new QListBox( tab, "m_deco_list" );
236 vertLayout->addWidget( m_deco_list ); 236 vertLayout->addWidget( m_deco_list );
diff --git a/noncore/settings/appearance2/stylelistitem.h b/noncore/settings/appearance2/stylelistitem.h
index e261511..caefad8 100644
--- a/noncore/settings/appearance2/stylelistitem.h
+++ b/noncore/settings/appearance2/stylelistitem.h
@@ -1,113 +1,112 @@
1/* 1/*
2               =. This file is part of the OPIE Project 2               =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> 3             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
4           .>+-= 4           .>+-=
5 _;:,     .>    :=|. This file is free software; you can 5 _;:,     .>    :=|. This file is free software; you can
6.> <`_,   >  .   <= redistribute it and/or modify it under 6.> <`_,   >  .   <= redistribute it and/or modify it under
7:`=1 )Y*s>-.--   : the terms of the GNU General Public 7:`=1 )Y*s>-.--   : the terms of the GNU General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10     ._= =}       : or (at your option) any later version.
11    .%`+i>       _;_. 11    .%`+i>       _;_.
12    .i_,=:_.      -<s. This file is distributed in the hope that 12    .i_,=:_.      -<s. This file is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
17..}^=.=       =       ; Public License for more details. 17..}^=.=       =       ; Public License for more details.
18++=   -.     .`     .: 18++=   -.     .`     .:
19 :     =  ...= . :.=- You should have received a copy of the GNU 19 :     =  ...= . :.=- You should have received a copy of the GNU
20 -.   .:....=;==+<; General Public License along with this file; 20 -.   .:....=;==+<; General Public License along with this file;
21  -_. . .   )=.  = see the file COPYING. If not, write to the 21  -_. . .   )=.  = see the file COPYING. If not, write to the
22    --        :-=` Free Software Foundation, Inc., 22    --        :-=` Free Software Foundation, Inc.,
23 59 Temple Place - Suite 330, 23 59 Temple Place - Suite 330,
24 Boston, MA 02111-1307, USA. 24 Boston, MA 02111-1307, USA.
25 25
26*/ 26*/
27 27
28#ifndef STYLELISTITEM_H 28#ifndef STYLELISTITEM_H
29#define STYLELISTITEM_H 29#define STYLELISTITEM_H
30 30
31#include <qlistbox.h> 31#include <qlistbox.h>
32#include <qpe/styleinterface.h> 32#include <qpe/styleinterface.h>
33 33
34#include <stdio.h> 34#include <stdio.h>
35 35
36class StyleListItem : public QListBoxText { 36class StyleListItem : public QListBoxText {
37public: 37public:
38 StyleListItem ( const QString &t, QStyle *sty ) : QListBoxText ( t ) 38 StyleListItem ( const QString &t, QStyle *sty ) : QListBoxText ( t )
39 { 39 {
40 m_lib = 0; 40 m_lib = 0;
41 m_style_if = 0; 41 m_style_if = 0;
42 m_settings_if = 0; 42 m_settings_if = 0;
43 m_style = sty; 43 m_style = sty;
44 } 44 }
45 45
46 StyleListItem ( QLibrary *lib, StyleInterface *iface ) : QListBoxText ( iface-> name ( )) 46 StyleListItem ( QLibrary *lib, StyleInterface *iface ) : QListBoxText ( iface-> name ( ))
47 { 47 {
48 m_lib = lib; 48 m_lib = lib;
49 m_style_if = iface; 49 m_style_if = iface;
50 m_settings_if = 0; 50 m_settings_if = 0;
51 m_style = iface-> create ( ); 51 m_style = iface-> style ( );
52 52
53 iface-> queryInterface ( IID_StyleSettings, (QUnknownInterface **) &m_settings_if ); 53 iface-> queryInterface ( IID_StyleExtended, (QUnknownInterface **) &m_settings_if );
54 } 54 }
55 55
56 virtual ~StyleListItem ( ) 56 virtual ~StyleListItem ( )
57 { 57 {
58 delete m_style; 58 delete m_style;
59 59
60 if ( m_settings_if ) 60 if ( m_settings_if )
61 m_settings_if-> release ( ); 61 m_settings_if-> release ( );
62 if ( m_style_if ) 62 if ( m_style_if )
63 m_style_if-> release ( ); 63 m_style_if-> release ( );
64 delete m_lib; 64 delete m_lib;
65 } 65 }
66 66
67 bool hasSettings ( ) const 67 bool hasSettings ( ) const
68 { 68 {
69 return ( m_settings_if ); 69 return m_settings_if ? m_settings_if-> hasSettings ( ) : false;
70 } 70 }
71 71
72 QWidget *settings ( QWidget *parent ) 72 QWidget *settings ( QWidget *parent )
73 { 73 {
74 return m_settings_if ? m_settings_if-> create ( parent ) : 0; 74 return m_settings_if ? m_settings_if-> create ( parent ) : 0;
75 } 75 }
76 76
77 bool setSettings ( bool accepted ) 77 bool setSettings ( bool accepted )
78 { 78 {
79 if ( !m_settings_if ) 79 if ( !m_settings_if )
80 return false; 80 return false;
81 81
82 if ( accepted ) 82 if ( accepted )
83 return m_settings_if-> accept ( ); 83 return m_settings_if-> accept ( );
84 else { 84 else {
85 m_settings_if-> reject ( ); 85 m_settings_if-> reject ( );
86 return false; 86 return false;
87 } 87 }
88 } 88 }
89 89
90 QString key ( ) 90 QString key ( )
91 { 91 {
92 if ( m_lib ) 92 if ( m_lib )
93 return QFileInfo ( m_lib-> library ( )). fileName ( ); 93 return QFileInfo ( m_lib-> library ( )). fileName ( );
94 //return QString ( m_style_if-> key ( ));
95 else 94 else
96 return text ( ); 95 return text ( );
97 } 96 }
98 97
99 QStyle *style ( ) 98 QStyle *style ( )
100 { 99 {
101 return m_style; 100 return m_style;
102 } 101 }
103 102
104private: 103private:
105 QLibrary *m_lib; 104 QLibrary *m_lib;
106 QStyle *m_style; 105 QStyle *m_style;
107 StyleInterface *m_style_if; 106 StyleInterface *m_style_if;
108 StyleSettingsInterface *m_settings_if; 107 StyleExtendedInterface *m_settings_if;
109 108
110}; 109};
111 110
112 111
113#endif 112#endif