-rw-r--r-- | libopie/odevice.cpp | 19 | ||||
-rw-r--r-- | libopie/odevice.h | 1 |
2 files changed, 18 insertions, 2 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index bc43c52..a33d4ad 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -713,10 +713,8 @@ int iPAQ::lightSensorResolution ( ) const void Zaurus::init ( ) { - d-> m_modelstr = "Zaurus SL5000"; - d-> m_model = Model_Zaurus_SL5000; d-> m_vendorstr = "Sharp"; d-> m_vendor = Vendor_Sharp; QFile f ( "/proc/filesystems" ); @@ -738,8 +736,25 @@ void Zaurus::init ( ) d-> m_systemstr = "Zaurus"; d-> m_system = System_Zaurus; } + f. setName ( "/proc/deviceinfo/product" ); + if ( f. open ( IO_ReadOnly ) ) { + 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_model = Model_Zaurus_SL5500; + d-> m_modelstr = "Zaurus SL-5500"; + } + } + else { + d-> m_model = Model_Zaurus_SL5000; + d-> m_modelstr = "Zaurus SL-5000D (unverified)"; + } m_leds [0] = Led_Off; } diff --git a/libopie/odevice.h b/libopie/odevice.h index e50009c..86491d4 100644 --- a/libopie/odevice.h +++ b/libopie/odevice.h @@ -43,8 +43,9 @@ enum OModel { Model_Zaurus = ( 2 << 24 ), Model_Zaurus_SL5000 = ( Model_Zaurus | 0x000001 ), + Model_Zaurus_SL5500 = ( Model_Zaurus | 0x000002 ), }; enum OVendor { Vendor_Unknown, |