summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/sysinfo/versioninfo.cpp173
1 files changed, 157 insertions, 16 deletions
diff --git a/noncore/settings/sysinfo/versioninfo.cpp b/noncore/settings/sysinfo/versioninfo.cpp
index 5105b42..0b6883d 100644
--- a/noncore/settings/sysinfo/versioninfo.cpp
+++ b/noncore/settings/sysinfo/versioninfo.cpp
@@ -1,192 +1,333 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "versioninfo.h"
/* OPIE */
#include <opie2/odevice.h>
#include <opie2/oresource.h>
#include <qpe/version.h>
/* QT */
#include <qfile.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qscrollview.h>
#include <qtextstream.h>
#include <qwhatsthis.h>
using namespace Opie::Core;
VersionInfo::VersionInfo( QWidget *parent, const char *name, WFlags f )
: QWidget( parent, name, f )
{
setMinimumSize( 200, 150 );
QVBoxLayout *tmpvb = new QVBoxLayout( this );
QScrollView *sv = new QScrollView( this );
tmpvb->addWidget( sv, 0, 0 );
sv->setResizePolicy( QScrollView::AutoOneFit );
sv->setHScrollBarMode( QScrollView::AlwaysOff );
sv->setVScrollBarMode( QScrollView::AlwaysOff );
sv->setFrameStyle( QFrame::NoFrame );
QWidget *container = new QWidget( sv->viewport() );
sv->addChild( container );
QVBoxLayout *vb = new QVBoxLayout( container, 3 );
QString kernelVersionString;
QFile file( "/proc/version" );
if ( file.open( IO_ReadOnly ) )
{
QTextStream t( &file );
QStringList strList;
strList = QStringList::split( " " , t.read(), false );
kernelVersionString = "<qt>" + tr( "<b>Linux Kernel</b><p>Version: " );
kernelVersionString.append( strList[2] );
kernelVersionString.append( "<br>" );
kernelVersionString.append( tr( "Compiled by: " ) );
kernelVersionString.append( strList[3] );
kernelVersionString.append("</qt>");
file.close();
}
QString palmtopVersionString = "<qt>" + tr( "<b>Opie</b><p>Version: " );
palmtopVersionString.append( QPE_VERSION );
palmtopVersionString.append( "<br>" );
#ifdef QPE_VENDOR
QString builder = QPE_VENDOR;
#else
QString builder = "Unknown";
#endif
palmtopVersionString.append( tr( "Built against Qt/E " ) );
palmtopVersionString.append( QT_VERSION_STR );
palmtopVersionString.append( "<br>" );
palmtopVersionString.append( tr( "Built on: " ) );
palmtopVersionString.append( __DATE__ );
palmtopVersionString.append( "</qt>" );
QHBoxLayout *hb1 = new QHBoxLayout( vb );
hb1->setSpacing( 2 );
QLabel *palmtopLogo = new QLabel( container );
QImage logo1 = Opie::Core::OResource::loadImage( "logo/opielogo" );
logo1 = logo1.smoothScale( 50, 55 );
QPixmap logo1Pixmap;
logo1Pixmap.convertFromImage( logo1 );
palmtopLogo->setPixmap( logo1Pixmap );
palmtopLogo->setFixedSize( 60, 60 );
hb1->addWidget( palmtopLogo, 0, Qt::AlignTop + Qt::AlignLeft );
QLabel *palmtopVersion = new QLabel( container );
palmtopVersion->setText( palmtopVersionString );
hb1->addWidget( palmtopVersion, 1, Qt::AlignTop + Qt::AlignLeft );
QHBoxLayout *hb2 = new QHBoxLayout( vb );
hb1->setSpacing( 2 );
QLabel *linuxLogo = new QLabel( container );
QImage logo2 = Opie::Core::OResource::loadImage( "logo/tux-logo" );
logo2 = logo2.smoothScale( 55, 60 );
QPixmap logo2Pixmap;
logo2Pixmap.convertFromImage( logo2 );
linuxLogo->setPixmap( logo2Pixmap );
linuxLogo->setFixedSize( 60, 60 );
hb2->addWidget( linuxLogo, 0, Qt::AlignTop + Qt::AlignLeft );
QLabel *kernelVersion = new QLabel( container );
kernelVersion->setText( kernelVersionString );
hb2->addWidget( kernelVersion, 1, Qt::AlignTop + Qt::AlignLeft );
QHBoxLayout *hb3 = new QHBoxLayout( vb );
hb3->setSpacing( 2 );
QLabel *palmtopLogo3 = new QLabel( container );
OModel model = ODevice::inst()->model();
+ OVendor vendor = ODevice::inst()->vendor();
QString modelPixmap = "sysinfo/";
- if ( model == Model_Zaurus_SLC7x0 )
+
+ switch ( vendor ) {
+ /* SHARP */
+ case Vendor_Sharp:
+ {
+ switch ( model ) {
+ /* ZAURUS */
+ case Model_Zaurus_SLC7x0:
modelPixmap += "zaurusc700";
- else if ( model >= Model_Zaurus_SL5000 && model <= Model_Zaurus_SLB600 )
+ break;
+ case Model_Zaurus_SL5000:
+ case Model_Zaurus_SL5500:
+ case Model_Zaurus_SLA300:
+ case Model_Zaurus_SLB600:
modelPixmap += "zaurus5500";
- else if ( model >= Model_iPAQ_H31xx && model <= Model_iPAQ_H5xxx )
+ break;
+ default:
+ modelPixmap += "pda";
+ break;
+ }
+ break;
+ }
+ /* HP */
+ case Vendor_HP:
+ {
+ switch ( model ) {
+ /* IPAQ */
+ case Model_iPAQ_H31xx:
+ case Model_iPAQ_H36xx:
+ case Model_iPAQ_H37xx:
+ case Model_iPAQ_H38xx:
+ case Model_iPAQ_H39xx:
+ case Model_iPAQ_H5xxx:
modelPixmap += "ipaq3600";
- else if ( model >= Model_SIMpad_CL4 && model <= Model_SIMpad_TSinus )
- modelPixmap += "simpad";
- else if ( model == Model_Jornada_56x )
+ break;
+ /* JORNADA */
+ case Model_Jornada_56x:
modelPixmap += "jornada56x";
- else if ( model == Model_Jornada_720 )
+ break;
+ case Model_Jornada_720:
modelPixmap += "jornada720";
- else if ( model == Model_HTC_Universal )
+ break;
+ default:
+ modelPixmap += "pda";
+ break;
+ }
+ break;
+ }
+ /* SIEMENS */
+ case Vendor_SIEMENS:
+ {
+ switch ( model )
+ {
+ /* SIMPAD */
+ case Model_SIMpad_CL4:
+ case Model_SIMpad_SL4:
+ case Model_SIMpad_SLC:
+ case Model_SIMpad_TSinus:
+ modelPixmap += "simpad";
+ break;
+ default:
+ modelPixmap += "pda";
+ break;
+ }
+ break;
+ }
+ /* HTC */
+ case Vendor_HTC:
+ {
+ switch ( model ) {
+ case Model_HTC_Universal:
modelPixmap += "htcuniversal";
- else if ( model == Model_HTC_Blueangel )
+ break;
+ case Model_HTC_Blueangel:
modelPixmap += "htcblueangel";
- else if ( model == Model_HTC_Apache )
+ break;
+ case Model_HTC_Apache:
modelPixmap += "htcapache";
- else if ( model == Model_HTC_Magician )
+ break;
+ case Model_HTC_Magician:
modelPixmap += "htcmagician";
- else if ( model == Model_HTC_Himalaya )
+ break;
+ case Model_HTC_Himalaya:
modelPixmap += "htchimalaya";
- else if ( model == Model_HTC_Alpine )
+ break;
+ case Model_HTC_Alpine:
modelPixmap += "htcalpine";
- else if ( model == Model_HTC_Beetles )
+ break;
+ case Model_HTC_Beetles:
modelPixmap += "htcbeetles";
- else
+ break;
+ default:
modelPixmap += "pda";
-
+ break;
+ }
+ break;
+ }
+ /* PALM */
+ case Vendor_Palm:
+ {
+ switch ( model ) {
+ case Model_Palm_TT:
+ modelPixmap += "palmtt";
+ break;
+ case Model_Palm_TT2:
+ modelPixmap += "palmtt2";
+ break;
+ case Model_Palm_TT3:
+ modelPixmap += "palmtt3";
+ break;
+ case Model_Palm_TT5:
+ modelPixmap += "palmtt5";
+ break;
+ case Model_Palm_TE:
+ modelPixmap += "palmte";
+ break;
+ case Model_Palm_TE2:
+ modelPixmap += "palmte2";
+ break;
+ case Model_Palm_TC:
+ modelPixmap += "palmtc";
+ break;
+ case Model_Palm_LD:
+ modelPixmap += "palmld";
+ break;
+ case Model_Palm_TX:
+ modelPixmap += "palmtx";
+ break;
+ case Model_Palm_Z71:
+ modelPixmap += "palmz71";
+ break;
+ case Model_Palm_Z72:
+ modelPixmap += "palmz72";
+ break;
+ case Model_Palm_T600:
+ modelPixmap += "palmt600";
+ break;
+ case Model_Palm_T650:
+ modelPixmap += "palmt650";
+ break;
+ case Model_Palm_T680:
+ modelPixmap += "palmt680";
+ break;
+ case Model_Palm_T700W:
+ modelPixmap += "palmt700w";
+ break;
+ case Model_Palm_T700P:
+ modelPixmap += "palmt700p";
+ break;
+ case Model_Palm_T750:
+ modelPixmap += "palmt750";
+ break;
+ case Model_Palm_T755P:
+ modelPixmap += "palmt755p";
+ break;
+ case Model_Palm_FOLEO:
+ modelPixmap += "palmfoleo";
+ break;
+ default:
+ modelPixmap += "pda";
+ break;
+ }
+ break;
+ }
+ /* OTHER DEVICES */
+ default:
+ modelPixmap += "pda";
+ break;
+ }
QImage logo3 = Opie::Core::OResource::loadImage( modelPixmap );
int width = logo3.width();
int height = logo3.height();
float aspect = float( height ) / width;
logo3 = logo3.smoothScale( 50, 50.0 * aspect );
QPixmap logo3Pixmap;
logo3Pixmap.convertFromImage( logo3 );
palmtopLogo3->setPixmap( logo3Pixmap );
palmtopLogo3->setFixedSize( 60, 100 );
hb3->addWidget( palmtopLogo3, 0, Qt::AlignTop + Qt::AlignLeft );
QString systemString = "<qt><b>";
systemString.append( ODevice::inst()->systemString() );
systemString.append( "</b>" );
systemString.append( tr( "<p>Version: " ) );
systemString.append( ODevice::inst()->systemVersionString() );
systemString.append( tr( "<br>Model: " ) );
systemString.append( ODevice::inst()->modelString() );
systemString.append( tr( "<br>Vendor: " ) );
systemString.append( ODevice::inst()->vendorString() );
systemString.append("</qt>");
QLabel *systemVersion = new QLabel( container );
systemVersion->setText( systemString );
hb3->addWidget( systemVersion, 1, Qt::AlignTop + Qt::AlignLeft );
QWhatsThis::add( this, tr( "This page shows the current versions of Opie, the Linux kernel and distribution running on this handheld device." ) );
}
VersionInfo::~VersionInfo()
{
}