From 7b5f4142a1ace5fba9fdf9b8e5538669a56ba60b Mon Sep 17 00:00:00 2001 From: kergoth Date: Sun, 26 Jan 2003 01:01:32 +0000 Subject: 1) Add Sharp Zaurus A300/B600|5600/C700 models, will add the model specific bits later. 2) Add rotation data and method, to set a default rotation based on model .. so we can ditch the use of the startup script to set that. --- (limited to 'libopie/odevice.cpp') diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index d39d72f..78eb416 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -65,6 +65,8 @@ public: OSystem m_system; QString m_sysverstr; + + Transformation m_rotation; QValueList m_buttons; uint m_holdtime; @@ -249,6 +251,7 @@ ODevice::ODevice ( ) d-> m_systemstr = "Unknown"; d-> m_system = System_Unknown; d-> m_sysverstr = "0.0"; + d-> m_rotation = None; d-> m_holdtime = 1000; // 1000ms @@ -400,6 +403,11 @@ QString ODevice::systemVersionString ( ) const return d-> m_sysverstr; } +Transformation ODevice::rotation ( ) const +{ + return d-> m_rotation; +} + void ODevice::alarmSound ( ) { #ifndef QT_NO_SOUND @@ -587,6 +595,19 @@ void iPAQ::init ( ) f. close ( ); } + switch ( d-> m_model ) { + case Model_iPAQ_H31xx: + case Model_iPAQ_H38xx: + d-> m_rotation = Rot90; + break; + case Model_iPAQ_H36xx: + case Model_iPAQ_H37xx: + case Model_iPAQ_H39xx: + default: + d-> m_rotation = Rot270; + break; + } + f. setName ( "/etc/familiar-version" ); if ( f. open ( IO_ReadOnly )) { d-> m_systemstr = "Familiar"; @@ -641,7 +662,6 @@ typedef struct { #define FLITE_ON OD_IOW( 'f', 7, FLITE_IN ) - QValueList iPAQ::ledList ( ) const { QValueList vl; @@ -937,17 +957,36 @@ void Zaurus::init ( ) QTextStream ts ( &f ); QString model = ts. readLine ( ); f. close ( ); - if ( model == "SL-5000D" ) { - d-> m_model = Model_Zaurus_SL5000; - d-> m_modelstr = "Zaurus SL-5000D"; - } else if ( model == "SL-5500" ) { + + d-> m_modelstr = QString("Zaurus ") + model; + if ( model == "SL-5500" ) d-> m_model = Model_Zaurus_SL5500; - d-> m_modelstr = "Zaurus SL-5500"; - } + else if ( model == "SL-C700" ) + d-> m_model = Model_Zaurus_SLC700; + else if ( model == "SL-A300" ) + d-> m_model = Model_Zaurus_SLA300; + else if ( model == "SL-B600" || model == "SL-5600" ) + d-> m_model = Model_Zaurus_SLB600; + else + d-> m_model = Model_Zaurus_SL5000; } else { d-> m_model = Model_Zaurus_SL5000; - d-> m_modelstr = "Zaurus SL-5000D (unverified)"; + d-> m_modelstr = "Zaurus (model unknown)"; + } + + switch ( d-> m_model ) { + case Model_Zaurus_SLC700: + /* note for C700, we must check the display rotation + * sensor to set an appropriate value + */ + case Model_Zaurus_SLA300: + case Model_Zaurus_SLB600: + case Model_Zaurus_SL5500: + case Model_Zaurus_SL5000: + default: + d-> m_rotation = Rot270; + break; } for ( uint i = 0; i < ( sizeof( z_buttons ) / sizeof( z_button )); i++ ) { -- cgit v0.9.0.2