summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/appearance2/appearance.cpp27
-rw-r--r--noncore/settings/appearance2/decolistitem.h10
-rw-r--r--noncore/settings/appearance2/stylelistitem.h5
3 files changed, 32 insertions, 10 deletions
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp
index 43ff24c..8cd54a2 100644
--- a/noncore/settings/appearance2/appearance.cpp
+++ b/noncore/settings/appearance2/appearance.cpp
@@ -140,25 +140,25 @@ void Appearance::loadStyles ( QListBox *list )
140 if ( lib-> queryInterface ( IID_Style, (QUnknownInterface **) &iface ) == QS_OK ) 140 if ( lib-> queryInterface ( IID_Style, (QUnknownInterface **) &iface ) == QS_OK )
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 ( tr( "Default" ))); 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
@@ -199,48 +199,62 @@ QWidget *Appearance::createStyleTab ( QWidget *parent )
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 m_style_list-> setCurrentItem ( m_style_list-> findItem ( s )); 211
212 for ( uint i = 0; i < m_style_list-> count ( ); i++ ) {
213 if (((StyleListItem *) m_style_list-> item ( i ))-> key ( ) == s ) {
214 m_style_list-> setCurrentItem ( i );
215 break;
216 }
217 }
218
212 m_original_style = m_style_list-> currentItem ( ); 219 m_original_style = m_style_list-> currentItem ( );
213 styleClicked ( m_original_style ); 220 styleClicked ( m_original_style );
214 221
215 connect( m_style_list, SIGNAL( highlighted( int ) ), this, SLOT( styleClicked( int ) ) ); 222 connect( m_style_list, SIGNAL( highlighted( int ) ), this, SLOT( styleClicked( int ) ) );
216 223
217 return tab; 224 return tab;
218} 225}
219 226
220QWidget *Appearance::createDecoTab ( QWidget *parent ) 227QWidget *Appearance::createDecoTab ( QWidget *parent )
221{ 228{
222 Config config ( "qpe" ); 229 Config config ( "qpe" );
223 config. setGroup ( "Appearance" ); 230 config. setGroup ( "Appearance" );
224 231
225 QWidget* tab = new QWidget( parent, "DecoTab" ); 232 QWidget* tab = new QWidget( parent, "DecoTab" );
226 QVBoxLayout* vertLayout = new QVBoxLayout( tab, 4, 4 ); 233 QVBoxLayout* vertLayout = new QVBoxLayout( tab, 4, 4 );
227 234
228 m_deco_list = new QListBox( tab, "m_deco_list" ); 235 m_deco_list = new QListBox( tab, "m_deco_list" );
229 vertLayout->addWidget( m_deco_list ); 236 vertLayout->addWidget( m_deco_list );
230 237
231 loadDecos ( m_deco_list ); 238 loadDecos ( m_deco_list );
232 239
233 QString s = config. readEntry ( "Decoration" ); 240 QString s = config. readEntry ( "Decoration" );
234 m_deco_list-> setCurrentItem ( m_deco_list-> findItem ( s )); 241
242 for ( uint i = 0; i < m_deco_list-> count ( ); i++ ) {
243 if (((DecoListItem *) m_deco_list-> item ( i ))-> key ( ) == s ) {
244 m_deco_list-> setCurrentItem ( i );
245 break;
246 }
247 }
248
235 m_original_deco = m_deco_list-> currentItem ( ); 249 m_original_deco = m_deco_list-> currentItem ( );
236 if ( m_deco_list-> currentItem ( ) < 0 ) 250 if ( m_deco_list-> currentItem ( ) < 0 )
237 m_deco_list-> setCurrentItem ( 0 ); 251 m_deco_list-> setCurrentItem ( 0 );
238 decoClicked ( m_original_deco ); 252 decoClicked ( m_original_deco );
239 253
240 connect( m_deco_list, SIGNAL( highlighted( int ) ), this, SLOT( decoClicked( int ) ) ); 254 connect( m_deco_list, SIGNAL( highlighted( int ) ), this, SLOT( decoClicked( int ) ) );
241 255
242 return tab; 256 return tab;
243} 257}
244 258
245QWidget *Appearance::createFontTab ( QWidget *parent ) 259QWidget *Appearance::createFontTab ( QWidget *parent )
246{ 260{
@@ -377,24 +391,30 @@ void Appearance::accept ( )
377 Config config("qpe"); 391 Config config("qpe");
378 config.setGroup( "Appearance" ); 392 config.setGroup( "Appearance" );
379 393
380 int newtabstyle = m_tabstyle_list-> currentItem ( ); 394 int newtabstyle = m_tabstyle_list-> currentItem ( );
381 bool newtabpos = m_tabstyle_top-> isChecked ( ); 395 bool newtabpos = m_tabstyle_top-> isChecked ( );
382 396
383 397
384 if ( m_style_changed ) { 398 if ( m_style_changed ) {
385 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( )); 399 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( ));
386 if ( item ) 400 if ( item )
387 config.writeEntry( "Style", item-> key ( )); 401 config.writeEntry( "Style", item-> key ( ));
388 } 402 }
403
404 if ( m_deco_changed ) {
405 DecoListItem *item = (DecoListItem *) m_deco_list-> item ( m_deco_list-> currentItem ( ));
406 if ( item )
407 config.writeEntry( "Decoration", item-> key ( ));
408 }
389 409
390 if (( newtabstyle != m_original_tabstyle ) || ( newtabpos != m_original_tabpos )) { 410 if (( newtabstyle != m_original_tabstyle ) || ( newtabpos != m_original_tabpos )) {
391 config. writeEntry ( "TabStyle", newtabstyle + 1 ); 411 config. writeEntry ( "TabStyle", newtabstyle + 1 );
392 config. writeEntry ( "TabPosition", newtabpos ? "Top" : "Bottom" ); 412 config. writeEntry ( "TabPosition", newtabpos ? "Top" : "Bottom" );
393 } 413 }
394 414
395 if ( m_font_changed ) { 415 if ( m_font_changed ) {
396 config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( )); 416 config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( ));
397 config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( )); 417 config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( ));
398 config. writeEntry ( "FontSize", m_fontselect-> fontSize ( )); 418 config. writeEntry ( "FontSize", m_fontselect-> fontSize ( ));
399 } 419 }
400 420
@@ -460,24 +480,25 @@ void Appearance::styleSettingsClicked ( )
460 } 480 }
461} 481}
462 482
463void Appearance::decoClicked ( int index ) 483void Appearance::decoClicked ( int index )
464{ 484{
465 DecoListItem *dli = (DecoListItem *) m_deco_list-> item ( index ); 485 DecoListItem *dli = (DecoListItem *) m_deco_list-> item ( index );
466 486
467 if ( m_sample ) { 487 if ( m_sample ) {
468 if ( dli && dli-> interface ( )) 488 if ( dli && dli-> interface ( ))
469 m_sample-> setDecoration ( dli-> interface ( )); 489 m_sample-> setDecoration ( dli-> interface ( ));
470 else 490 else
471 m_sample-> setDecoration ( new DefaultWindowDecoration ( )); 491 m_sample-> setDecoration ( new DefaultWindowDecoration ( ));
492 m_sample-> repaint ( );
472 } 493 }
473 m_deco_changed |= ( index != m_original_deco ); 494 m_deco_changed |= ( index != m_original_deco );
474} 495}
475 496
476void Appearance::fontClicked ( const QFont &f ) 497void Appearance::fontClicked ( const QFont &f )
477{ 498{
478 m_font_changed |= ( f != m_sample-> font ( )); 499 m_font_changed |= ( f != m_sample-> font ( ));
479 m_sample-> setFont ( f ); 500 m_sample-> setFont ( f );
480} 501}
481 502
482void Appearance::colorClicked ( int index ) 503void Appearance::colorClicked ( int index )
483{ 504{
diff --git a/noncore/settings/appearance2/decolistitem.h b/noncore/settings/appearance2/decolistitem.h
index 23261b1..d190ceb 100644
--- a/noncore/settings/appearance2/decolistitem.h
+++ b/noncore/settings/appearance2/decolistitem.h
@@ -22,34 +22,34 @@
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 DECOLISTITEM_H 28#ifndef DECOLISTITEM_H
29#define DECOLISTITEM_H 29#define DECOLISTITEM_H
30 30
31#include <qpe/windowdecorationinterface.h> 31#include <qpe/windowdecorationinterface.h>
32#include <qlistbox.h> 32#include <qlistbox.h>
33 33
34class DecoListItem : public QListBoxText { 34class DecoListItem : public QListBoxPixmap {
35public: 35public:
36 DecoListItem ( const QString &t ) : QListBoxText ( t ) 36 DecoListItem ( const QString &t ) : QListBoxPixmap ( QPixmap ( ), t )
37 { 37 {
38 m_lib = 0; 38 m_lib = 0;
39 m_window_if = 0; 39 m_window_if = 0;
40 // m_settings_if = 0; 40 // m_settings_if = 0;
41 } 41 }
42 42
43 DecoListItem ( QLibrary *lib, WindowDecorationInterface *iface ) : QListBoxText ( iface-> name ( )) 43 DecoListItem ( QLibrary *lib, WindowDecorationInterface *iface ) : QListBoxPixmap ( iface-> icon ( ), iface-> name ( ))
44 { 44 {
45 m_lib = lib; 45 m_lib = lib;
46 m_window_if = iface; 46 m_window_if = iface;
47 47
48 // iface-> queryInterface ( IID_WindowDecoration, (QUnknownInterface **) &m_settings_if ); 48 // iface-> queryInterface ( IID_WindowDecoration, (QUnknownInterface **) &m_settings_if );
49 } 49 }
50 50
51 virtual ~DecoListItem ( ) 51 virtual ~DecoListItem ( )
52 { 52 {
53 // if ( m_settings_if ) 53 // if ( m_settings_if )
54 // m_settings_if-> release ( ); 54 // m_settings_if-> release ( );
55 if ( m_window_if ) 55 if ( m_window_if )
@@ -76,26 +76,26 @@ public:
76 76
77 // if ( accepted ) 77 // if ( accepted )
78 // return m_settings_if-> accept ( ); 78 // return m_settings_if-> accept ( );
79 // else { 79 // else {
80 // m_settings_if-> reject ( ); 80 // m_settings_if-> reject ( );
81 // return false; 81 // return false;
82 // } 82 // }
83 return false; 83 return false;
84 } 84 }
85 85
86 QString key ( ) 86 QString key ( )
87 { 87 {
88 if ( m_window_if ) 88 if ( m_lib )
89 return QString ( m_window_if-> name ( )); 89 return QFileInfo ( m_lib-> library ( )). fileName ( );
90 else 90 else
91 return text ( ); 91 return text ( );
92 } 92 }
93 93
94 WindowDecorationInterface *interface ( ) 94 WindowDecorationInterface *interface ( )
95 { 95 {
96 return m_window_if; 96 return m_window_if;
97 } 97 }
98 98
99private: 99private:
100 QLibrary *m_lib; 100 QLibrary *m_lib;
101 WindowDecorationInterface *m_window_if; 101 WindowDecorationInterface *m_window_if;
diff --git a/noncore/settings/appearance2/stylelistitem.h b/noncore/settings/appearance2/stylelistitem.h
index c0258e0..e261511 100644
--- a/noncore/settings/appearance2/stylelistitem.h
+++ b/noncore/settings/appearance2/stylelistitem.h
@@ -80,26 +80,27 @@ public:
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_style_if ) 92 if ( m_lib )
93 return QString ( m_style_if-> key ( )); 93 return QFileInfo ( m_lib-> library ( )). fileName ( );
94 //return QString ( m_style_if-> key ( ));
94 else 95 else
95 return text ( ); 96 return text ( );
96 } 97 }
97 98
98 QStyle *style ( ) 99 QStyle *style ( )
99 { 100 {
100 return m_style; 101 return m_style;
101 } 102 }
102 103
103private: 104private:
104 QLibrary *m_lib; 105 QLibrary *m_lib;
105 QStyle *m_style; 106 QStyle *m_style;