summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp
index 3a5a3c9..42406da 100644
--- a/core/applets/rotateapplet/rotate.cpp
+++ b/core/applets/rotateapplet/rotate.cpp
@@ -1,146 +1,142 @@
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 "rotate.h" 38#include "rotate.h"
39 39
40 40
41RotateApplet::RotateApplet ( ) 41RotateApplet::RotateApplet ( )
42 : QObject ( 0, "RotateApplet" ), ref ( 0 ) 42 : QObject ( 0, "RotateApplet" ), ref ( 0 ), m_flipped( false )
43{ 43{
44 m_flipped = false;
45} 44}
46 45
47RotateApplet::~RotateApplet ( ) 46RotateApplet::~RotateApplet ( )
48{ 47{
49} 48}
50 49
51int RotateApplet::position ( ) const 50int RotateApplet::position ( ) const
52{ 51{
53 return 2; 52 return 2;
54} 53}
55 54
56QString RotateApplet::name ( ) const 55QString RotateApplet::name ( ) const
57{ 56{
58 return tr( "Rotate shortcut" ); 57 return tr( "Rotate shortcut" );
59} 58}
60 59
61QString RotateApplet::text ( ) const 60QString RotateApplet::text ( ) const
62{ 61{
63 return tr( "Rotate" ); 62 return tr( "Rotate" );
64} 63}
65 64
66QString RotateApplet::tr( const char* s ) const 65QString RotateApplet::tr( const char* s ) const
67{ 66{
68 return qApp->translate( "RotateApplet", s, 0 ); 67 return qApp->translate( "RotateApplet", s, 0 );
69} 68}
70 69
71QString RotateApplet::tr( const char* s, const char* p ) const 70QString RotateApplet::tr( const char* s, const char* p ) const
72{ 71{
73 return qApp->translate( "RotateApplet", s, p ); 72 return qApp->translate( "RotateApplet", s, p );
74} 73}
75 74
76QIconSet RotateApplet::icon ( ) const 75QIconSet RotateApplet::icon ( ) const
77{ 76{
78 QPixmap pix; 77 QPixmap pix;
79 QImage img = Resource::loadImage ( "Rotation" ); 78 QImage img = Resource::loadImage ( "Rotation" );
80 79
81 if ( !img. isNull ( )) 80 if ( !img. isNull ( ))
82 pix. convertFromImage ( img. smoothScale ( 14, 14 )); 81 pix. convertFromImage ( img. smoothScale ( 14, 14 ));
83 return pix; 82 return pix;
84} 83}
85 84
86QPopupMenu *RotateApplet::popup ( QWidget * ) const 85QPopupMenu *RotateApplet::popup ( QWidget * ) const
87{ 86{
88 return 0; 87 return 0;
89} 88}
90 89
91void RotateApplet::activated ( ) 90void RotateApplet::activated ( )
92{ 91{
93 int currentRotation = QPEApplication::defaultRotation(); 92 int defaultRotation = QPEApplication::defaultRotation();
94 93
95 int newRotation; 94 int newRotation;
96 95
97 Config cfg( "qpe" ); 96 Config cfg( "qpe" );
98 cfg.setGroup( "Appearance" ); 97 cfg.setGroup( "Appearance" );
99 98
100 // 0 -> 90° clockwise, 1 -> 90° counterclockwise 99 // 0 -> 90° clockwise, 1 -> 90° counterclockwise
101 bool rotDirection = cfg.readBoolEntry( "rotatedir" ); 100 bool rotDirection = cfg.readBoolEntry( "rotatedir", 0 );
102 101
103 // hide inputs methods before rotation 102 // hide inputs methods before rotation
104 QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); 103 QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" );
105 104
106 if ( m_flipped ) { 105 if ( m_flipped ) {
107 if ( rotDirection ) { 106 // if flipped, flip back to the original state,
108 newRotation = ( currentRotation + 270 ) % 360; 107 // regardless of rotation direction
109 } else { 108 newRotation = defaultRotation;
110 newRotation = ( currentRotation + 90 ) % 360;
111 }
112 } else { 109 } else {
113 if ( rotDirection ) { 110 if ( rotDirection ) {
114 newRotation = ( currentRotation + 90 ) % 360; 111 newRotation = ( defaultRotation + 90 ) % 360;
115 } else { 112 } else {
116 newRotation = ( currentRotation + 270 ) % 360; 113 newRotation = ( defaultRotation + 270 ) % 360;
117 } 114 }
118 } 115 }
116
119 QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); 117 QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" );
120 env << newRotation; 118 env << newRotation;
121 QCopEnvelope env2( "QPE/System", "setDefaultRotation(int)" );
122 env2 << newRotation;
123 119
124 m_flipped = !m_flipped; 120 m_flipped = !m_flipped;
125} 121}
126 122
127 123
128QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) 124QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
129{ 125{
130 *iface = 0; 126 *iface = 0;
131 if ( uuid == IID_QUnknown ) 127 if ( uuid == IID_QUnknown )
132 *iface = this; 128 *iface = this;
133 else if ( uuid == IID_MenuApplet ) 129 else if ( uuid == IID_MenuApplet )
134 *iface = this; 130 *iface = this;
135 131
136 if ( *iface ) 132 if ( *iface )
137 (*iface)-> addRef ( ); 133 (*iface)-> addRef ( );
138 return QS_OK; 134 return QS_OK;
139} 135}
140 136
141Q_EXPORT_INTERFACE( ) 137Q_EXPORT_INTERFACE( )
142{ 138{
143 Q_CREATE_INSTANCE( RotateApplet ) 139 Q_CREATE_INSTANCE( RotateApplet )
144} 140}
145 141
146 142