author | kergoth <kergoth> | 2003-04-18 22:17:38 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-04-18 22:17:38 (UTC) |
commit | 6e7112a3610c4e562f991ba6d6f33ca2fe0c605d (patch) (unidiff) | |
tree | ae90d7b8c36c49f109e3c2f231a119fc7fd5b799 | |
parent | d0852e67c15c5a973b7bc7f7bee238a6fd00dee6 (diff) | |
download | opie-6e7112a3610c4e562f991ba6d6f33ca2fe0c605d.zip opie-6e7112a3610c4e562f991ba6d6f33ca2fe0c605d.tar.gz opie-6e7112a3610c4e562f991ba6d6f33ca2fe0c605d.tar.bz2 |
Make appearance and rotate applet use the new rotation method of odevice.
-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 25 | ||||
-rw-r--r-- | noncore/settings/appearance2/appearance.cpp | 27 |
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 | ||
42 | using namespace Opie; | ||
43 | |||
40 | 44 | ||
41 | RotateApplet::RotateApplet ( ) | 45 | RotateApplet::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 | ||
55 | RotateApplet::~RotateApplet ( ) | 59 | RotateApplet::~RotateApplet ( ) |
56 | { | 60 | { |
57 | } | 61 | } |
58 | 62 | ||
59 | 63 | ||
60 | /** | 64 | /** |
61 | * Qcop receive method. | 65 | * Qcop receive method. |
62 | */ | 66 | */ |
63 | void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) { | 67 | void 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 | ||
71 | int RotateApplet::position ( ) const | 75 | int RotateApplet::position ( ) const |
72 | { | 76 | { |
73 | return 3; | 77 | return 3; |
74 | } | 78 | } |
75 | 79 | ||
76 | QString RotateApplet::name ( ) const | 80 | QString RotateApplet::name ( ) const |
77 | { | 81 | { |
78 | return tr( "Rotate shortcut" ); | 82 | return tr( "Rotate shortcut" ); |
79 | } | 83 | } |
80 | 84 | ||
81 | QString RotateApplet::text ( ) const | 85 | QString 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 | ||
91 | QString RotateApplet::tr( const char* s, const char* p ) const | 95 | QString 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 | ||
97 | QIconSet RotateApplet::icon ( ) const | 101 | QIconSet 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 | ||
107 | QPopupMenu *RotateApplet::popup ( QWidget * ) const | 111 | QPopupMenu *RotateApplet::popup ( QWidget * ) const |
108 | { | 112 | { |
109 | return 0; | 113 | return 0; |
110 | } | 114 | } |
111 | 115 | ||
112 | void RotateApplet::activated ( ) | 116 | void 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 | ||
149 | QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 158 | QRESULT 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 | ||
162 | Q_EXPORT_INTERFACE( ) | 171 | Q_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 | ||
441 | Appearance::Appearance( QWidget* parent, const char* name, WFlags ) | 449 | Appearance::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 | ||
475 | Appearance::~Appearance() | 483 | Appearance::~Appearance() |
476 | { | 484 | { |
477 | } | 485 | } |
478 | 486 | ||
479 | void Appearance::tabChanged ( QWidget *w ) | 487 | void 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 | ||
489 | void Appearance::accept ( ) | 497 | void 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 | ||
566 | void Appearance::done ( int r ) | 573 | void Appearance::done ( int r ) |
567 | { | 574 | { |
568 | QDialog::done ( r ); | 575 | QDialog::done ( r ); |
569 | close ( ); | 576 | close ( ); |
570 | } | 577 | } |
571 | 578 | ||
572 | 579 | ||
573 | void Appearance::styleClicked ( int index ) | 580 | void 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 | ||
587 | void Appearance::styleSettingsClicked ( ) | 594 | void 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 ( ); |