From c076942e5b0cdaa68a467354a563d1071c866d92 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sun, 04 Jan 2004 16:34:58 +0000 Subject: - implement action on closing the hinge for devices with hinge sensors - first batch of minor code cleanup --- (limited to 'core/applets/rotateapplet') diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp index dd71cad..ea114bb 100644 --- a/core/applets/rotateapplet/rotate.cpp +++ b/core/applets/rotateapplet/rotate.cpp @@ -1,10 +1,13 @@ /* -               =. This file is part of the OPIE Project -             .=l. Copyright (c) 2003 Maximilian Reiss + This file is part of the OPIE Project + Copyright (C) 2003 Maximilian Reiss + Copyright (C) 2003 Greg Gilbert +               =. Copyright (C) 2004 Michael Lauer +             .=l.            .>+-=  _;:,     .>    :=|. This library is free software; you can -.> <,   >  .   <= redistribute it and/or modify it under -:=1 )Y*s>-.--   : the terms of the GNU Library General Public +.> <,   >  .   <= redistribute it and/or modify it under +:=1 )Y*s>-.--   : the terms of the GNU Library General Public .="- .-=="i,     .._ License as published by the Free Software  - .   .-<_>     .<> Foundation; either version 2 of the License,      ._= =}       : or (at your option) any later version. @@ -12,38 +15,38 @@     .i_,=:_.      -: PARTICULAR PURPOSE. See the GNU +    =_        +     =;=| MERCHANTABILITY or FITNESS FOR A +  _.=:.       :    :=>: PARTICULAR PURPOSE. See the GNU ..}^=.=       =       ; Library General Public License for more -++=   -.     .     .: details. +++=   -.     .     .: details.  :     =  ...= . :.=-  -.   .:....=;==+<; You should have received a copy of the GNU   -_. . .   )=.  = Library General Public License along with -    --        :-= this library; see the file COPYING.LIB. +    --        :-= this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ +#include "rotate.h" -#include +/* OPIE */ +#include +#include +#include +#include +#include #include +#include -#include -#include +/* QT */ #include #include -#include - -#include "rotate.h" - using namespace Opie; - -RotateApplet::RotateApplet ( ) - : QObject ( 0, "RotateApplet" ), ref ( 0 ), m_flipped( false ) +RotateApplet::RotateApplet() + :QObject( 0, "RotateApplet" ), ref( 0 ), m_flipped( false ) { #if !defined(QT_NO_COP) @@ -55,36 +58,58 @@ RotateApplet::RotateApplet ( ) } RotateApplet::~RotateApplet ( ) -{ -} - +{} /** * Qcop receive method. */ -void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) { +void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) +{ + qDebug( "RotateApplet::channelReceived( '%s' )", (const char*) msg ); + + if ( ODevice::inst()->hasHingeSensor() ) + { + OHingeStatus status = ODevice::inst()->readHingeSensor(); + qDebug( "RotateApplet::readHingeSensor = %d", (int) status ); + if ( status == CASE_CLOSED ) + { + Config cfg( "apm" ); + cfg.setGroup( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ? "AC" : "Battery" ); + int action = cfg.readNumEntry( "CloseHingeAction", 0 ); + switch ( action ) + { + case 1: /* DISPLAY OFF */ ODevice::inst()->setDisplayStatus( false ); ODevice::inst()->setDisplayBrightness( 0 ); break; + case 2: /* SUSPEND */ ODevice::inst()->suspend(); break; + default: /* IGNORE */ break; + } + qDebug( "RotateApplet::switchAction %d performed.", cfg.readNumEntry( "CloseHingeAction", 0 ) ); + } + } + QDataStream stream( data, IO_ReadOnly ); - if ( msg == "flip()" ) { + if ( msg == "flip()" ) + { activated ( ); - } else if ( msg == "rotateDefault()") { - rotateDefault(); - } + } + else if ( msg == "rotateDefault()") + { + rotateDefault(); + } } - -int RotateApplet::position ( ) const +int RotateApplet::position() const { return 3; } -QString RotateApplet::name ( ) const +QString RotateApplet::name() const { - return tr( "Rotate shortcut" ); + return tr( "Rotate shortcut" ); } -QString RotateApplet::text ( ) const +QString RotateApplet::text() const { - return tr( "Rotate" ); + return tr( "Rotate" ); } /*QString RotateApplet::tr( const char* s ) const @@ -98,50 +123,39 @@ QString RotateApplet::tr( const char* s, const char* p ) const } */ -QIconSet RotateApplet::icon ( ) const +QIconSet RotateApplet::icon() const { - QPixmap pix; - QImage img = Resource::loadImage ( "Rotation" ); - - if ( !img. isNull ( )) - pix. convertFromImage ( img. smoothScale ( 14, 14 )); - return pix; + QPixmap pix; + QImage img = Resource::loadImage( "Rotation" ); + if ( !img.isNull() ) + pix.convertFromImage( img.smoothScale( 14, 14 ) ); + return pix; } -QPopupMenu *RotateApplet::popup ( QWidget * ) const +QPopupMenu* RotateApplet::popup(QWidget*) const { - return 0; + return 0; } -void RotateApplet::rotateDefault ( ) +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; + } - 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 rotateEnabled = cfg.readBoolEntry( "rotateEnabled",true ); - if (rotateEnabled == false) - return; + if ( !rotateEnabled) return; // hide inputs methods before rotation QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); @@ -152,9 +166,8 @@ void RotateApplet::rotateDefault ( ) m_flipped = false; } -void RotateApplet::activated ( ) +void RotateApplet::activated() { - int defaultRotation = QPEApplication::defaultRotation(); int newRotation = defaultRotation; @@ -164,27 +177,38 @@ void RotateApplet::activated ( ) int rotDirection = cfg.readNumEntry( "rotatedir" ); ODirection rot = CW; - if (rotDirection == -1) { - rot = ODevice::inst ( )-> direction ( ); - } else { - rot = (ODirection)rotDirection; + if (rotDirection == -1) + { + rot = ODevice::inst()->direction(); + } + else + { + rot = (ODirection) rotDirection; } // hide inputs methods before rotation QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); - if ( m_flipped ) { - // if flipped, flip back to the original state, - // regardless of rotation direction + if ( m_flipped ) + { + // if flipped, flip back to the original state, + // regardless of rotation direction newRotation = defaultRotation; - } else { - if ( rot == CCW ) { + } + else + { + if ( rot == CCW ) + { newRotation = ( defaultRotation + 90 ) % 360; - } else if ( rot == CW ) { + } + else if ( rot == CW ) + { newRotation = ( defaultRotation + 270 ) % 360; - } else if ( rot == Flip ) { + } + else if ( rot == Flip ) + { newRotation = ( defaultRotation + 180 ) % 360; - } + } } QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" ); @@ -194,20 +218,20 @@ void RotateApplet::activated ( ) } -QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) +QRESULT RotateApplet::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { - *iface = 0; - if ( uuid == IID_QUnknown ) - *iface = this; - else if ( uuid == IID_MenuApplet ) - *iface = this; - - if ( *iface ) - (*iface)-> addRef ( ); - return QS_OK; + *iface = 0; + if ( uuid == IID_QUnknown ) + *iface = this; + else if ( uuid == IID_MenuApplet ) + *iface = this; + + if ( *iface ) + (*iface)->addRef(); + return QS_OK; } -Q_EXPORT_INTERFACE( ) +Q_EXPORT_INTERFACE() { - Q_CREATE_INSTANCE( RotateApplet ) + Q_CREATE_INSTANCE( RotateApplet ) } -- cgit v0.9.0.2