summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/rotateapplet/rotate.cpp8
-rw-r--r--noncore/settings/appearance2/appearance.cpp24
-rw-r--r--noncore/settings/appearance2/appearance.h1
3 files changed, 25 insertions, 8 deletions
diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp
index 0ead016..b490626 100644
--- a/core/applets/rotateapplet/rotate.cpp
+++ b/core/applets/rotateapplet/rotate.cpp
@@ -96,9 +96,9 @@ void RotateApplet::activated ( )
Config cfg( "qpe" );
cfg.setGroup( "Appearance" );
// 0 -> 90° clockwise, 1 -> 90° counterclockwise
- bool rotDirection = cfg.readBoolEntry( "rotatedir", 0 );
+ int rotDirection = cfg.readNumEntry( "rotatedir", 0 );
// hide inputs methods before rotation
QCopEnvelope en( "QPE/TaskBar", "hideInputMethod()" );
@@ -106,12 +106,14 @@ void RotateApplet::activated ( )
// if flipped, flip back to the original state,
// regardless of rotation direction
newRotation = defaultRotation;
} else {
- if ( rotDirection ) {
+ if ( rotDirection == 1 ) {
newRotation = ( defaultRotation + 90 ) % 360;
- } else {
+ } else if ( rotDirection == 0 ) {
newRotation = ( defaultRotation + 270 ) % 360;
+ } else {
+ newRotation = ( defaultRotation + 180 ) % 360;
}
}
QCopEnvelope env( "QPE/System", "setCurrentRotation(int)" );
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp
index 32234f0..83532de 100644
--- a/noncore/settings/appearance2/appearance.cpp
+++ b/noncore/settings/appearance2/appearance.cpp
@@ -408,26 +408,32 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg )
QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( );
m_rotdir_ccw = new QRadioButton( tab, "rotdir_ccw" );
QImage ccwImage = cw1. convertToImage( ). mirror( 1, 0 );
QPixmap ccw1;
+ m_rotdir_flip = new QRadioButton( tab, "rotdir_flip" );
+ QPixmap flip1 = Resource::loadIconSet("pass"). pixmap( );
QButtonGroup* rotbtngrp = new QButtonGroup( tab, "rotbuttongroup" );
rotbtngrp-> hide ( );
rotbtngrp-> setExclusive ( true );
rotbtngrp-> insert ( m_rotdir_cw );
rotbtngrp-> insert ( m_rotdir_ccw );
+ rotbtngrp-> insert ( m_rotdir_flip );
ccw1. convertFromImage( ccwImage );
m_rotdir_cw-> setPixmap( cw1 );
m_rotdir_ccw-> setPixmap( ccw1 );
+ m_rotdir_flip-> setPixmap( flip1 );
rotLay-> addWidget ( rotlabel, 0 );
rotLay-> addWidget ( m_rotdir_cw, 0 );
rotLay-> addWidget ( m_rotdir_ccw, 0 );
+ rotLay-> addWidget ( m_rotdir_flip, 0 );
- bool rotcw = !(cfg. readBoolEntry ( "rotatedir", 0 ));
- m_rotdir_cw-> setChecked ( rotcw );
- m_rotdir_ccw-> setChecked ( !rotcw );
+ int rot = cfg. readNumEntry ( "rotatedir", 0 );
+ m_rotdir_cw-> setChecked ( rot == 0 );
+ m_rotdir_ccw-> setChecked ( rot == 1 );
+ m_rotdir_flip-> setChecked ( rot == 2 );
return tab;
}
@@ -482,9 +488,8 @@ void Appearance::tabChanged ( QWidget *w )
void Appearance::accept ( )
{
bool newtabpos = m_tabstyle_top-> isChecked ( );
- bool is_rotdir_ccw = m_rotdir_ccw-> isChecked ( );
int newtabstyle = m_tabstyle_list-> currentItem ( );
Config config ( "qpe" );
config. setGroup ( "Appearance" );
@@ -520,9 +525,18 @@ void Appearance::accept ( )
if ( item )
item-> save ( config );
}
- config. writeEntry ( "rotatedir", is_rotdir_ccw );
+ bool is_rotdir_ccw = m_rotdir_ccw-> isChecked ( );
+ int rotval;
+ if (m_rotdir_ccw-> isChecked ( )) {
+ rotval = 1;
+ } else if (m_rotdir_cw-> isChecked ( )) {
+ rotval = 0;
+ } else {
+ rotval = 2;
+ }
+ config. writeEntry ( "rotatedir", rotval );
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;
diff --git a/noncore/settings/appearance2/appearance.h b/noncore/settings/appearance2/appearance.h
index 0e42298..da9e976 100644
--- a/noncore/settings/appearance2/appearance.h
+++ b/noncore/settings/appearance2/appearance.h
@@ -116,8 +116,9 @@ private:
QRadioButton *m_tabstyle_bottom;
QRadioButton *m_rotdir_cw;
QRadioButton *m_rotdir_ccw;
+ QRadioButton *m_rotdir_flip;
QWidget * m_advtab;
QListView * m_except;
QCheckBox * m_force;