-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 @@ -34,10 +34,14 @@ #include <qpe/config.h> #include <qiconset.h> #include <qpopupmenu.h> +#include <opie/odevice.h> + #include "rotate.h" +using namespace Opie; + RotateApplet::RotateApplet ( ) : QObject ( 0, "RotateApplet" ), ref ( 0 ), m_flipped( false ) { @@ -112,16 +116,21 @@ QPopupMenu *RotateApplet::popup ( QWidget * ) const void RotateApplet::activated ( ) { int defaultRotation = QPEApplication::defaultRotation(); - - int newRotation; + int newRotation = defaultRotation; Config cfg( "qpe" ); cfg.setGroup( "Appearance" ); - // 0 -> 90° clockwise, 1 -> 90° counterclockwise - int rotDirection = cfg.readNumEntry( "rotatedir", 0 ); + int rotDirection = cfg.readNumEntry( "rotatedir" ); + ODirection rot = CW; + + if (rotDirection == -1) { + rot = ODevice::inst ( )-> direction ( ); + } else { + rot = (ODirection)rotDirection; + } // hide inputs methods before rotation QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" ); @@ -129,13 +138,13 @@ void RotateApplet::activated ( ) // if flipped, flip back to the original state, // regardless of rotation direction newRotation = defaultRotation; } else { - if ( rotDirection == 1 ) { + if ( rot == CCW ) { newRotation = ( defaultRotation + 90 ) % 360; - } else if ( rotDirection == 0 ) { + } else if ( rot == CW ) { newRotation = ( defaultRotation + 270 ) % 360; - } else { + } else if ( rot == Flip ) { newRotation = ( defaultRotation + 180 ) % 360; } } @@ -162,6 +171,4 @@ QRESULT RotateApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **if Q_EXPORT_INTERFACE( ) { Q_CREATE_INSTANCE( RotateApplet ) } - - 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 @@ -428,12 +428,20 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) rotLay-> addWidget ( m_rotdir_cw, 0 ); rotLay-> addWidget ( m_rotdir_ccw, 0 ); rotLay-> addWidget ( m_rotdir_flip, 0 ); - int rot = cfg. readNumEntry ( "rotatedir", 0 ); - m_rotdir_cw-> setChecked ( rot == 0 ); - m_rotdir_ccw-> setChecked ( rot == 1 ); - m_rotdir_flip-> setChecked ( rot == 2 ); + int rotDirection = cfg.readNumEntry( "rotatedir" ); + ODirection rot = CW; + + if (rotDirection == -1) { + rot = ODevice::inst ( )-> direction ( ); + } else { + rot = (ODirection)rotDirection; + } + + m_rotdir_cw-> setChecked ( rot == CW ); + m_rotdir_ccw-> setChecked ( rot == CCW ); + m_rotdir_flip-> setChecked ( rot == Flip ); return tab; } @@ -525,18 +533,17 @@ void Appearance::accept ( ) if ( item ) item-> save ( config ); } - bool is_rotdir_ccw = m_rotdir_ccw-> isChecked ( ); - int rotval; + ODirection rot; if (m_rotdir_ccw-> isChecked ( )) { - rotval = 1; + rot = CCW; } else if (m_rotdir_cw-> isChecked ( )) { - rotval = 0; + rot = CW; } else { - rotval = 2; + rot = Flip; } - config. writeEntry ( "rotatedir", rotval ); + config. writeEntry ( "rotatedir", (int)rot ); m_except-> setFocus ( ); // if the focus was on the embedded line-edit, we have to move it away first, so the contents are updated QStringList sl; |