summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-04-18 22:17:38 (UTC)
committer kergoth <kergoth>2003-04-18 22:17:38 (UTC)
commit6e7112a3610c4e562f991ba6d6f33ca2fe0c605d (patch) (unidiff)
treeae90d7b8c36c49f109e3c2f231a119fc7fd5b799
parentd0852e67c15c5a973b7bc7f7bee238a6fd00dee6 (diff)
downloadopie-6e7112a3610c4e562f991ba6d6f33ca2fe0c605d.zip
opie-6e7112a3610c4e562f991ba6d6f33ca2fe0c605d.tar.gz
opie-6e7112a3610c4e562f991ba6d6f33ca2fe0c605d.tar.bz2
Make appearance and rotate applet use the new rotation method of odevice.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp25
-rw-r--r--noncore/settings/appearance2/appearance.cpp27
2 files changed, 33 insertions, 19 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp
index 04270f1..62567ed 100644
--- a/core/applets/rotateapplet/rotate.cpp
+++ b/core/applets/rotateapplet/rotate.cpp
@@ -1,167 +1,174 @@
1/* 1/*
2               =. This file is part of the OPIE Project 2               =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2003 Maximilian Reiss <harlekin@handhelds.org> 3             .=l. Copyright (c) 2003 Maximilian Reiss <harlekin@handhelds.org>
4           .>+-= 4           .>+-=
5 _;:,     .>    :=|. This library is free software; you can 5 _;:,     .>    :=|. This library 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 Library General Public 7:=1 )Y*s>-.--   : the terms of the GNU Library 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 library is distributed in the hope that 12    .i_,=:_.      -<s. This library 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 16  _.=:.       :    :=>: PARTICULAR PURPOSE. See the GNU
17..}^=.=       =       ; Library General Public License for more 17..}^=.=       =       ; Library General Public License for more
18++=   -.     .     .: details. 18++=   -.     .     .: details.
19 :     =  ...= . :.=- 19 :     =  ...= . :.=-
20 -.   .:....=;==+<; You should have received a copy of the GNU 20 -.   .:....=;==+<; You should have received a copy of the GNU
21  -_. . .   )=.  = Library General Public License along with 21  -_. . .   )=.  = Library General Public License along with
22    --        :-= this library; see the file COPYING.LIB. 22    --        :-= this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation, 23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, 24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29 29
30#include <qpe/resource.h> 30#include <qpe/resource.h>
31#include <qpe/qcopenvelope_qws.h> 31#include <qpe/qcopenvelope_qws.h>
32 32
33#include <qpe/qpeapplication.h> 33#include <qpe/qpeapplication.h>
34#include <qpe/config.h> 34#include <qpe/config.h>
35#include <qiconset.h> 35#include <qiconset.h>
36#include <qpopupmenu.h> 36#include <qpopupmenu.h>
37 37
38#include <opie/odevice.h>
39
38#include "rotate.h" 40#include "rotate.h"
39 41
42using namespace Opie;
43
40 44
41RotateApplet::RotateApplet ( ) 45RotateApplet::RotateApplet ( )
42 : QObject ( 0, "RotateApplet" ), ref ( 0 ), m_flipped( false ) 46 : QObject ( 0, "RotateApplet" ), ref ( 0 ), m_flipped( false )
43{ 47{
44 48
45#if defined(Q_WS_QWS) 49#if defined(Q_WS_QWS)
46#if !defined(QT_NO_COP) 50#if !defined(QT_NO_COP)
47 QCopChannel *rotateChannel = new QCopChannel( "QPE/Rotation" , this ); 51 QCopChannel *rotateChannel = new QCopChannel( "QPE/Rotation" , this );
48 connect ( rotateChannel, SIGNAL( received( const QCString &, const QByteArray &) ), 52 connect ( rotateChannel, SIGNAL( received( const QCString &, const QByteArray &) ),
49 this, SLOT ( channelReceived( const QCString &, const QByteArray &) ) ); 53 this, SLOT ( channelReceived( const QCString &, const QByteArray &) ) );
50#endif 54#endif
51#endif 55#endif
52 56
53} 57}
54 58
55RotateApplet::~RotateApplet ( ) 59RotateApplet::~RotateApplet ( )
56{ 60{
57} 61}
58 62
59 63
60/** 64/**
61 * Qcop receive method. 65 * Qcop receive method.
62 */ 66 */
63void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) { 67void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) {
64 QDataStream stream( data, IO_ReadOnly ); 68 QDataStream stream( data, IO_ReadOnly );
65 if ( msg == "flip()" ) { 69 if ( msg == "flip()" ) {
66 activated ( ); 70 activated ( );
67 } 71 }
68} 72}
69 73
70 74
71int RotateApplet::position ( ) const 75int RotateApplet::position ( ) const
72{ 76{
73 return 3; 77 return 3;
74} 78}
75 79
76QString RotateApplet::name ( ) const 80QString RotateApplet::name ( ) const
77{ 81{
78 return tr( "Rotate shortcut" ); 82 return tr( "Rotate shortcut" );
79} 83}
80 84
81QString RotateApplet::text ( ) const 85QString RotateApplet::text ( ) const
82{ 86{
83 return tr( "Rotate" ); 87 return tr( "Rotate" );
84} 88}
85 89
86/*QString RotateApplet::tr( const char* s ) const 90/*QString RotateApplet::tr( const char* s ) const
87{ 91{
88 return qApp->translate( "RotateApplet", s, 0 ); 92 return qApp->translate( "RotateApplet", s, 0 );
89} 93}
90 94
91QString RotateApplet::tr( const char* s, const char* p ) const 95QString RotateApplet::tr( const char* s, const char* p ) const
92{ 96{
93 return qApp->translate( "RotateApplet", s, p ); 97 return qApp->translate( "RotateApplet", s, p );
94} 98}
95*/ 99*/
96 100
97QIconSet RotateApplet::icon ( ) const 101QIconSet RotateApplet::icon ( ) const
98{ 102{
99 QPixmap pix; 103 QPixmap pix;
100 QImage img = Resource::loadImage ( "Rotation" ); 104 QImage img = Resource::loadImage ( "Rotation" );
101 105
102 if ( !img. isNull ( )) 106 if ( !img. isNull ( ))
103 pix. convertFromImage ( img. smoothScale ( 14, 14 )); 107 pix. convertFromImage ( img. smoothScale ( 14, 14 ));
104 return pix; 108 return pix;
105} 109}
106 110
107QPopupMenu *RotateApplet::popup ( QWidget * ) const 111QPopupMenu *RotateApplet::popup ( QWidget * ) const
108{ 112{
109 return 0; 113 return 0;
110} 114}
111 115
112void RotateApplet::activated ( ) 116void RotateApplet::activated ( )
113{ 117{
114 118
115 int defaultRotation = QPEApplication::defaultRotation(); 119 int defaultRotation = QPEApplication::defaultRotation();
116 120 int newRotation = defaultRotation;
117 int newRotation;
118 121
119 Config cfg( "qpe" ); 122 Config cfg( "qpe" );
120 cfg.setGroup( "Appearance" ); 123 cfg.setGroup( "Appearance" );
121 124
122 // 0 -> 90° clockwise, 1 -> 90° counterclockwise 125 int rotDirection = cfg.readNumEntry( "rotatedir" );
123 int rotDirection = cfg.readNumEntry( "rotatedir", 0 ); 126 ODirection rot = CW;
127
128 if (rotDirection == -1) {
129 rot = ODevice::inst ( )-> direction ( );
130 } else {
131 rot = (ODirection)rotDirection;
132 }
124 133
125 // hide inputs methods before rotation 134 // hide inputs methods before rotation
126 QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); 135 QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" );
127 136
128 if ( m_flipped ) { 137 if ( m_flipped ) {
129 // if flipped, flip back to the original state, 138 // if flipped, flip back to the original state,
130 // regardless of rotation direction 139 // regardless of rotation direction
131 newRotation = defaultRotation; 140 newRotation = defaultRotation;
132 } else { 141 } else {
133 if ( rotDirection == 1 ) { 142 if ( rot == CCW ) {
134 newRotation = ( defaultRotation + 90 ) % 360; 143 newRotation = ( defaultRotation + 90 ) % 360;
135 } else if ( rotDirection == 0 ) { 144 } else if ( rot == CW ) {
136 newRotation = ( defaultRotation + 270 ) % 360; 145 newRotation = ( defaultRotation + 270 ) % 360;
137 } else { 146 } else if ( rot == Flip ) {
138 newRotation = ( defaultRotation + 180 ) % 360; 147 newRotation = ( defaultRotation + 180 ) % 360;
139 } 148 }
140 } 149 }
141 150
142 QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); 151 QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" );
143 env << newRotation; 152 env << newRotation;
144 153
145 m_flipped = !m_flipped; 154 m_flipped = !m_flipped;
146} 155}
147 156
148 157
149QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) 158QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
150{ 159{
151 *iface = 0; 160 *iface = 0;
152 if ( uuid == IID_QUnknown ) 161 if ( uuid == IID_QUnknown )
153 *iface = this; 162 *iface = this;
154 else if ( uuid == IID_MenuApplet ) 163 else if ( uuid == IID_MenuApplet )
155 *iface = this; 164 *iface = this;
156 165
157 if ( *iface ) 166 if ( *iface )
158 (*iface)-> addRef ( ); 167 (*iface)-> addRef ( );
159 return QS_OK; 168 return QS_OK;
160} 169}
161 170
162Q_EXPORT_INTERFACE( ) 171Q_EXPORT_INTERFACE( )
163{ 172{
164 Q_CREATE_INSTANCE( RotateApplet ) 173 Q_CREATE_INSTANCE( RotateApplet )
165} 174}
166
167
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp
index 83532de..c376ec7 100644
--- a/noncore/settings/appearance2/appearance.cpp
+++ b/noncore/settings/appearance2/appearance.cpp
@@ -368,235 +368,242 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg )
368 bool tabtop = ( cfg. readEntry ( "TabPosition", "Top" ) == "Top" ); 368 bool tabtop = ( cfg. readEntry ( "TabPosition", "Top" ) == "Top" );
369 369
370 QLabel* label = new QLabel( tr( "Tab style:" ), tab ); 370 QLabel* label = new QLabel( tr( "Tab style:" ), tab );
371 gridLayout-> addWidget ( label, 0, 0 ); 371 gridLayout-> addWidget ( label, 0, 0 );
372 QWhatsThis::add( label, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) ); 372 QWhatsThis::add( label, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) );
373 373
374 QButtonGroup* btngrp = new QButtonGroup( tab, "buttongroup" ); 374 QButtonGroup* btngrp = new QButtonGroup( tab, "buttongroup" );
375 btngrp-> hide ( ); 375 btngrp-> hide ( );
376 btngrp-> setExclusive ( true ); 376 btngrp-> setExclusive ( true );
377 377
378 m_tabstyle_list = new QComboBox ( false, tab, "tabstyle" ); 378 m_tabstyle_list = new QComboBox ( false, tab, "tabstyle" );
379 m_tabstyle_list-> insertItem ( tr( "Tabs" )); 379 m_tabstyle_list-> insertItem ( tr( "Tabs" ));
380 m_tabstyle_list-> insertItem ( tr( "Tabs w/icons" )); 380 m_tabstyle_list-> insertItem ( tr( "Tabs w/icons" ));
381 m_tabstyle_list-> insertItem ( tr( "Drop down list" )); 381 m_tabstyle_list-> insertItem ( tr( "Drop down list" ));
382 m_tabstyle_list-> insertItem ( tr( "Drop down list w/icons" )); 382 m_tabstyle_list-> insertItem ( tr( "Drop down list w/icons" ));
383 m_tabstyle_list-> setCurrentItem ( style ); 383 m_tabstyle_list-> setCurrentItem ( style );
384 gridLayout-> addMultiCellWidget ( m_tabstyle_list, 0, 0, 1, 2 ); 384 gridLayout-> addMultiCellWidget ( m_tabstyle_list, 0, 0, 1, 2 );
385 QWhatsThis::add( m_tabstyle_list, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) ); 385 QWhatsThis::add( m_tabstyle_list, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) );
386 386
387 m_tabstyle_top = new QRadioButton( tr( "Top" ), tab, "tabpostop" ); 387 m_tabstyle_top = new QRadioButton( tr( "Top" ), tab, "tabpostop" );
388 btngrp-> insert ( m_tabstyle_top ); 388 btngrp-> insert ( m_tabstyle_top );
389 gridLayout-> addWidget( m_tabstyle_top, 1, 1 ); 389 gridLayout-> addWidget( m_tabstyle_top, 1, 1 );
390 QWhatsThis::add( m_tabstyle_top, tr( "Click here so that tabs appear at the top of the window." ) ); 390 QWhatsThis::add( m_tabstyle_top, tr( "Click here so that tabs appear at the top of the window." ) );
391 391
392 m_tabstyle_bottom = new QRadioButton( tr( "Bottom" ), tab, "tabposbottom" ); 392 m_tabstyle_bottom = new QRadioButton( tr( "Bottom" ), tab, "tabposbottom" );
393 btngrp-> insert ( m_tabstyle_bottom ); 393 btngrp-> insert ( m_tabstyle_bottom );
394 gridLayout-> addWidget( m_tabstyle_bottom, 1, 2 ); 394 gridLayout-> addWidget( m_tabstyle_bottom, 1, 2 );
395 QWhatsThis::add( m_tabstyle_bottom, tr( "Click here so that tabs appear at the bottom of the window." ) ); 395 QWhatsThis::add( m_tabstyle_bottom, tr( "Click here so that tabs appear at the bottom of the window." ) );
396 396
397 m_tabstyle_top-> setChecked ( tabtop ); 397 m_tabstyle_top-> setChecked ( tabtop );
398 m_tabstyle_bottom-> setChecked ( !tabtop ); 398 m_tabstyle_bottom-> setChecked ( !tabtop );
399 399
400 m_original_tabstyle = style; 400 m_original_tabstyle = style;
401 m_original_tabpos = tabtop; 401 m_original_tabpos = tabtop;
402 402
403 vertLayout-> addSpacing ( 3 ); 403 vertLayout-> addSpacing ( 3 );
404 QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 ); 404 QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 );
405 405
406 QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab ); 406 QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab );
407 m_rotdir_cw = new QRadioButton( tab, "rotdir_cw" ); 407 m_rotdir_cw = new QRadioButton( tab, "rotdir_cw" );
408 QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( ); 408 QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( );
409 m_rotdir_ccw = new QRadioButton( tab, "rotdir_ccw" ); 409 m_rotdir_ccw = new QRadioButton( tab, "rotdir_ccw" );
410 QImage ccwImage = cw1. convertToImage( ). mirror( 1, 0 ); 410 QImage ccwImage = cw1. convertToImage( ). mirror( 1, 0 );
411 QPixmap ccw1; 411 QPixmap ccw1;
412 m_rotdir_flip = new QRadioButton( tab, "rotdir_flip" ); 412 m_rotdir_flip = new QRadioButton( tab, "rotdir_flip" );
413 QPixmap flip1 = Resource::loadIconSet("pass"). pixmap( ); 413 QPixmap flip1 = Resource::loadIconSet("pass"). pixmap( );
414 QButtonGroup* rotbtngrp = new QButtonGroup( tab, "rotbuttongroup" ); 414 QButtonGroup* rotbtngrp = new QButtonGroup( tab, "rotbuttongroup" );
415 415
416 rotbtngrp-> hide ( ); 416 rotbtngrp-> hide ( );
417 rotbtngrp-> setExclusive ( true ); 417 rotbtngrp-> setExclusive ( true );
418 rotbtngrp-> insert ( m_rotdir_cw ); 418 rotbtngrp-> insert ( m_rotdir_cw );
419 rotbtngrp-> insert ( m_rotdir_ccw ); 419 rotbtngrp-> insert ( m_rotdir_ccw );
420 rotbtngrp-> insert ( m_rotdir_flip ); 420 rotbtngrp-> insert ( m_rotdir_flip );
421 421
422 ccw1. convertFromImage( ccwImage ); 422 ccw1. convertFromImage( ccwImage );
423 m_rotdir_cw-> setPixmap( cw1 ); 423 m_rotdir_cw-> setPixmap( cw1 );
424 m_rotdir_ccw-> setPixmap( ccw1 ); 424 m_rotdir_ccw-> setPixmap( ccw1 );
425 m_rotdir_flip-> setPixmap( flip1 ); 425 m_rotdir_flip-> setPixmap( flip1 );
426 426
427 rotLay-> addWidget ( rotlabel, 0 ); 427 rotLay-> addWidget ( rotlabel, 0 );
428 rotLay-> addWidget ( m_rotdir_cw, 0 ); 428 rotLay-> addWidget ( m_rotdir_cw, 0 );
429 rotLay-> addWidget ( m_rotdir_ccw, 0 ); 429 rotLay-> addWidget ( m_rotdir_ccw, 0 );
430 rotLay-> addWidget ( m_rotdir_flip, 0 ); 430 rotLay-> addWidget ( m_rotdir_flip, 0 );
431 431
432 int rot = cfg. readNumEntry ( "rotatedir", 0 ); 432 int rotDirection = cfg.readNumEntry( "rotatedir" );
433 m_rotdir_cw-> setChecked ( rot == 0 ); 433 ODirection rot = CW;
434 m_rotdir_ccw-> setChecked ( rot == 1 ); 434
435 m_rotdir_flip-> setChecked ( rot == 2 ); 435 if (rotDirection == -1) {
436 rot = ODevice::inst ( )-> direction ( );
437 } else {
438 rot = (ODirection)rotDirection;
439 }
440
441 m_rotdir_cw-> setChecked ( rot == CW );
442 m_rotdir_ccw-> setChecked ( rot == CCW );
443 m_rotdir_flip-> setChecked ( rot == Flip );
436 444
437 return tab; 445 return tab;
438} 446}
439 447
440 448
441Appearance::Appearance( QWidget* parent, const char* name, WFlags ) 449Appearance::Appearance( QWidget* parent, const char* name, WFlags )
442 : QDialog ( parent, name, true, WStyle_ContextHelp ) 450 : QDialog ( parent, name, true, WStyle_ContextHelp )
443{ 451{
444 setCaption( tr( "Appearance Settings" ) ); 452 setCaption( tr( "Appearance Settings" ) );
445 453
446 Config config( "qpe" ); 454 Config config( "qpe" );
447 config.setGroup( "Appearance" ); 455 config.setGroup( "Appearance" );
448 456
449 QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 ); 457 QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 );
450 458
451 m_sample = new SampleWindow ( this ); 459 m_sample = new SampleWindow ( this );
452 m_sample-> setDecoration ( new DefaultWindowDecoration ( )); 460 m_sample-> setDecoration ( new DefaultWindowDecoration ( ));
453 QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) ); 461 QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) );
454 462
455 OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); 463 OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom );
456 QWidget *styletab; 464 QWidget *styletab;
457 465
458 m_color_list = 0; 466 m_color_list = 0;
459 467
460 tw-> addTab ( styletab = createStyleTab ( tw, config ), "appearance", tr( "Style" )); 468 tw-> addTab ( styletab = createStyleTab ( tw, config ), "appearance", tr( "Style" ));
461 tw-> addTab ( createFontTab ( tw, config ), "font", tr( "Font" )); 469 tw-> addTab ( createFontTab ( tw, config ), "font", tr( "Font" ));
462 tw-> addTab ( createColorTab ( tw, config ), "appearance/color", tr( "Colors" ) ); 470 tw-> addTab ( createColorTab ( tw, config ), "appearance/color", tr( "Colors" ) );
463 tw-> addTab ( createDecoTab ( tw, config ), "appearance/deco", tr( "Windows" ) ); 471 tw-> addTab ( createDecoTab ( tw, config ), "appearance/deco", tr( "Windows" ) );
464 tw-> addTab ( m_advtab = createAdvancedTab ( tw, config ), "SettingsIcon", tr( "Advanced" ) ); 472 tw-> addTab ( m_advtab = createAdvancedTab ( tw, config ), "SettingsIcon", tr( "Advanced" ) );
465 473
466 top-> addWidget ( tw, 10 ); 474 top-> addWidget ( tw, 10 );
467 top-> addWidget ( m_sample, 1 ); 475 top-> addWidget ( m_sample, 1 );
468 476
469 tw-> setCurrentTab ( styletab ); 477 tw-> setCurrentTab ( styletab );
470 connect ( tw, SIGNAL( currentChanged ( QWidget * )), this, SLOT( tabChanged ( QWidget * ))); 478 connect ( tw, SIGNAL( currentChanged ( QWidget * )), this, SLOT( tabChanged ( QWidget * )));
471 479
472 m_style_changed = m_font_changed = m_color_changed = m_deco_changed = false; 480 m_style_changed = m_font_changed = m_color_changed = m_deco_changed = false;
473} 481}
474 482
475Appearance::~Appearance() 483Appearance::~Appearance()
476{ 484{
477} 485}
478 486
479void Appearance::tabChanged ( QWidget *w ) 487void Appearance::tabChanged ( QWidget *w )
480{ 488{
481 if ( w == m_advtab ) { 489 if ( w == m_advtab ) {
482 m_sample-> hide ( ); 490 m_sample-> hide ( );
483 updateGeometry ( ); // shouldn't be necessary ... 491 updateGeometry ( ); // shouldn't be necessary ...
484 } 492 }
485 else 493 else
486 m_sample-> show ( ); 494 m_sample-> show ( );
487} 495}
488 496
489void Appearance::accept ( ) 497void Appearance::accept ( )
490{ 498{
491 bool newtabpos = m_tabstyle_top-> isChecked ( ); 499 bool newtabpos = m_tabstyle_top-> isChecked ( );
492 int newtabstyle = m_tabstyle_list-> currentItem ( ); 500 int newtabstyle = m_tabstyle_list-> currentItem ( );
493 501
494 Config config ( "qpe" ); 502 Config config ( "qpe" );
495 config. setGroup ( "Appearance" ); 503 config. setGroup ( "Appearance" );
496 504
497 if ( m_style_changed ) { 505 if ( m_style_changed ) {
498 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( )); 506 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( ));
499 if ( item ) 507 if ( item )
500 config.writeEntry( "Style", item-> key ( )); 508 config.writeEntry( "Style", item-> key ( ));
501 } 509 }
502 510
503 if ( m_deco_changed ) { 511 if ( m_deco_changed ) {
504 DecoListItem *item = (DecoListItem *) m_deco_list-> item ( m_deco_list-> currentItem ( )); 512 DecoListItem *item = (DecoListItem *) m_deco_list-> item ( m_deco_list-> currentItem ( ));
505 if ( item ) 513 if ( item )
506 config.writeEntry( "Decoration", item-> key ( )); 514 config.writeEntry( "Decoration", item-> key ( ));
507 } 515 }
508 516
509 if (( newtabstyle != m_original_tabstyle ) || ( newtabpos != m_original_tabpos )) { 517 if (( newtabstyle != m_original_tabstyle ) || ( newtabpos != m_original_tabpos )) {
510 config. writeEntry ( "TabStyle", newtabstyle + 1 ); 518 config. writeEntry ( "TabStyle", newtabstyle + 1 );
511 config. writeEntry ( "TabPosition", newtabpos ? "Top" : "Bottom" ); 519 config. writeEntry ( "TabPosition", newtabpos ? "Top" : "Bottom" );
512 } 520 }
513 521
514 if ( m_font_changed ) { 522 if ( m_font_changed ) {
515 config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( )); 523 config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( ));
516 config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( )); 524 config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( ));
517 config. writeEntry ( "FontSize", m_fontselect-> fontSize ( )); 525 config. writeEntry ( "FontSize", m_fontselect-> fontSize ( ));
518 } 526 }
519 527
520 528
521 if ( m_color_changed ) 529 if ( m_color_changed )
522 { 530 {
523 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); 531 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
524 532
525 if ( item ) 533 if ( item )
526 item-> save ( config ); 534 item-> save ( config );
527 } 535 }
528 536
529 bool is_rotdir_ccw = m_rotdir_ccw-> isChecked ( ); 537 ODirection rot;
530 int rotval;
531 if (m_rotdir_ccw-> isChecked ( )) { 538 if (m_rotdir_ccw-> isChecked ( )) {
532 rotval = 1; 539 rot = CCW;
533 } else if (m_rotdir_cw-> isChecked ( )) { 540 } else if (m_rotdir_cw-> isChecked ( )) {
534 rotval = 0; 541 rot = CW;
535 } else { 542 } else {
536 rotval = 2; 543 rot = Flip;
537 } 544 }
538 config. writeEntry ( "rotatedir", rotval ); 545 config. writeEntry ( "rotatedir", (int)rot );
539 546
540 m_except-> setFocus ( ); // if the focus was on the embedded line-edit, we have to move it away first, so the contents are updated 547 m_except-> setFocus ( ); // if the focus was on the embedded line-edit, we have to move it away first, so the contents are updated
541 548
542 QStringList sl; 549 QStringList sl;
543 QString exceptstr; 550 QString exceptstr;
544 for ( ExceptListItem *it = (ExceptListItem *) m_except-> firstChild ( ); it; it = (ExceptListItem *) it-> nextSibling ( )) { 551 for ( ExceptListItem *it = (ExceptListItem *) m_except-> firstChild ( ); it; it = (ExceptListItem *) it-> nextSibling ( )) {
545 int fl = 0; 552 int fl = 0;
546 fl |= ( it-> noStyle ( ) ? 0x01 : 0 ); 553 fl |= ( it-> noStyle ( ) ? 0x01 : 0 );
547 fl |= ( it-> noFont ( ) ? 0x02 : 0 ); 554 fl |= ( it-> noFont ( ) ? 0x02 : 0 );
548 fl |= ( it-> noDeco ( ) ? 0x04 : 0 ); 555 fl |= ( it-> noDeco ( ) ? 0x04 : 0 );
549 exceptstr = QString::number ( fl, 32 ); 556 exceptstr = QString::number ( fl, 32 );
550 exceptstr.append( it-> pattern ( )); 557 exceptstr.append( it-> pattern ( ));
551 sl << exceptstr; 558 sl << exceptstr;
552 } 559 }
553 config. writeEntry ( "NoStyle", sl, ';' ); 560 config. writeEntry ( "NoStyle", sl, ';' );
554 config. writeEntry ( "ForceStyle", m_force-> isChecked ( )); 561 config. writeEntry ( "ForceStyle", m_force-> isChecked ( ));
555 562
556 config. write ( ); // need to flush the config info first 563 config. write ( ); // need to flush the config info first
557 Global::applyStyle ( ); 564 Global::applyStyle ( );
558 565
559 if ( QMessageBox::warning ( this, tr( "Restart" ), tr( "Do you want to restart %1 now?" ). arg ( ODevice::inst ( )-> system ( ) == System_Zaurus ? "Qtopia" : "Opie" ), tr( "Yes" ), tr( "No" ), 0, 0, 1 ) == 0 ) { 566 if ( QMessageBox::warning ( this, tr( "Restart" ), tr( "Do you want to restart %1 now?" ). arg ( ODevice::inst ( )-> system ( ) == System_Zaurus ? "Qtopia" : "Opie" ), tr( "Yes" ), tr( "No" ), 0, 0, 1 ) == 0 ) {
560 QCopEnvelope e( "QPE/System", "restart()" ); 567 QCopEnvelope e( "QPE/System", "restart()" );
561 } 568 }
562 569
563 QDialog::accept ( ); 570 QDialog::accept ( );
564} 571}
565 572
566void Appearance::done ( int r ) 573void Appearance::done ( int r )
567{ 574{
568 QDialog::done ( r ); 575 QDialog::done ( r );
569 close ( ); 576 close ( );
570} 577}
571 578
572 579
573void Appearance::styleClicked ( int index ) 580void Appearance::styleClicked ( int index )
574{ 581{
575 StyleListItem *sli = (StyleListItem *) m_style_list-> item ( index ); 582 StyleListItem *sli = (StyleListItem *) m_style_list-> item ( index );
576 m_style_settings-> setEnabled ( sli ? sli-> hasSettings ( ) : false ); 583 m_style_settings-> setEnabled ( sli ? sli-> hasSettings ( ) : false );
577 584
578 if ( m_sample && sli && sli-> style ( )) { 585 if ( m_sample && sli && sli-> style ( )) {
579 int ci = m_color_list ? m_color_list-> currentItem ( ) : -1; 586 int ci = m_color_list ? m_color_list-> currentItem ( ) : -1;
580 587
581 m_sample-> setStyle2 ( sli-> style ( ), ci < 0 ? palette ( ) : ((ColorListItem *) m_color_list-> item ( ci ))-> palette ( )); 588 m_sample-> setStyle2 ( sli-> style ( ), ci < 0 ? palette ( ) : ((ColorListItem *) m_color_list-> item ( ci ))-> palette ( ));
582 } 589 }
583 590
584 m_style_changed |= ( index != m_original_style ); 591 m_style_changed |= ( index != m_original_style );
585} 592}
586 593
587void Appearance::styleSettingsClicked ( ) 594void Appearance::styleSettingsClicked ( )
588{ 595{
589 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( )); 596 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( ));
590 597
591 if ( item && item-> hasSettings ( )) { 598 if ( item && item-> hasSettings ( )) {
592 QDialog *d = new QDialog ( this, "SETTINGS-DLG", true ); 599 QDialog *d = new QDialog ( this, "SETTINGS-DLG", true );
593 QVBoxLayout *vbox = new QVBoxLayout ( d, 3, 0 ); 600 QVBoxLayout *vbox = new QVBoxLayout ( d, 3, 0 );
594 601
595 QWidget *w = item-> settings ( d ); 602 QWidget *w = item-> settings ( d );
596 603
597 if ( w ) { 604 if ( w ) {
598 vbox-> addWidget ( w ); 605 vbox-> addWidget ( w );
599 606
600 d-> setCaption ( w-> caption ( )); 607 d-> setCaption ( w-> caption ( ));
601 608
602 d-> showMaximized ( ); 609 d-> showMaximized ( );