summaryrefslogtreecommitdiff
path: root/core/applets/rotateapplet/rotate.cpp
Side-by-side diff
Diffstat (limited to 'core/applets/rotateapplet/rotate.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp
index ac6b259..0da2f0c 100644
--- a/core/applets/rotateapplet/rotate.cpp
+++ b/core/applets/rotateapplet/rotate.cpp
@@ -63,12 +63,14 @@ RotateApplet::~RotateApplet ( )
* Qcop receive method.
*/
void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) {
QDataStream stream( data, IO_ReadOnly );
if ( msg == "flip()" ) {
activated ( );
+ } else if ( msg == "rotateDefault()") {
+ rotateDefault();
}
}
int RotateApplet::position ( ) const
{
@@ -108,12 +110,51 @@ QIconSet RotateApplet::icon ( ) const
QPopupMenu *RotateApplet::popup ( QWidget * ) const
{
return 0;
}
+void RotateApplet::rotateDefault ( )
+{
+
+ int rot = ODevice::inst()->rotation();
+
+ switch (rot) {
+ case Rot0:
+ rot=0;
+ break;
+ case Rot90:
+ rot=90;
+ break;
+ case Rot180:
+ rot=180;
+ break;
+ case Rot270:
+ rot=270;
+ break;
+ default:
+ rot=0;
+ break;
+ }
+ Config cfg( "qpe" );
+ cfg.setGroup( "Appearance" );
+
+ bool rotateDisabled = cfg.readBoolEntry( "rotateEnabled",false );
+
+ if (rotateDisabled == true)
+ return;
+
+ // hide inputs methods before rotation
+ QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" );
+
+ QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" );
+ env << rot;
+
+ m_flipped = false;
+
+}
void RotateApplet::activated ( )
{
int defaultRotation = QPEApplication::defaultRotation();
int newRotation = defaultRotation;