-rw-r--r-- | libopie/odevice.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 29c8ad2..713cc90 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -1141,19 +1141,31 @@ void Zaurus::init ( ) d-> m_modelstr = "Zaurus (model unknown)"; } switch ( d-> m_model ) { case Model_Zaurus_SLA300: d-> m_rotation = Rot0; break; case Model_Zaurus_SLC700: - /* note for C700, we must check the display rotation - * sensor to set an appropriate value - */ + bool flipstate = false; + // Note: need to 1) set flipstate based on physical screen orientation + // and 2) check to see if the user overrode the rotation direction + // using appearance, and if so, remove that item from the Config to + // ensure the rotate applet flips us back to the previous state. + if ( flipstate ) { + // 480x640 + d-> m_rotation = Rot0; + d-> m_direction = CW; + } else { + // 640x480 + d-> m_rotation = Rot270; + d-> m_direction = CCW; + } + break; case Model_Zaurus_SLB600: case Model_Zaurus_SL5500: case Model_Zaurus_SL5000: default: d-> m_rotation = Rot270; break; } m_leds [0] = Led_Off; |