summaryrefslogtreecommitdiff
path: root/libopie/odevice.cpp
authorkergoth <kergoth>2003-01-26 01:01:32 (UTC)
committer kergoth <kergoth>2003-01-26 01:01:32 (UTC)
commit7b5f4142a1ace5fba9fdf9b8e5538669a56ba60b (patch) (side-by-side diff)
tree29ab0dfa5c6d35621857af78a6fa3eaae517be33 /libopie/odevice.cpp
parent7d07568352e368fe473e4c1c5493df2ebb0090d2 (diff)
downloadopie-7b5f4142a1ace5fba9fdf9b8e5538669a56ba60b.zip
opie-7b5f4142a1ace5fba9fdf9b8e5538669a56ba60b.tar.gz
opie-7b5f4142a1ace5fba9fdf9b8e5538669a56ba60b.tar.bz2
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.
Diffstat (limited to 'libopie/odevice.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp55
1 files changed, 47 insertions, 8 deletions
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 <ODeviceButton> 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 <OLed> iPAQ::ledList ( ) const
{
QValueList <OLed> 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++ ) {