summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/benchmarkinfo.cpp
Unidiff
Diffstat (limited to 'noncore/settings/sysinfo/benchmarkinfo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sysinfo/benchmarkinfo.cpp94
1 files changed, 73 insertions, 21 deletions
diff --git a/noncore/settings/sysinfo/benchmarkinfo.cpp b/noncore/settings/sysinfo/benchmarkinfo.cpp
index 69d8229..0aeb251 100644
--- a/noncore/settings/sysinfo/benchmarkinfo.cpp
+++ b/noncore/settings/sysinfo/benchmarkinfo.cpp
@@ -25,17 +25,18 @@
25#include <qpe/config.h> 25#include <qpe/config.h>
26 26
27/* QT */ 27/* QT */
28#include <qlayout.h> 28#include <qclipboard.h>
29#include <qcolor.h>
30#include <qcombobox.h>
31#include <qdirectpainter_qws.h>
32#include <qfile.h>
33#include <qtextstream.h>
29#include <qfiledialog.h> 34#include <qfiledialog.h>
30#include <qlabel.h> 35#include <qlabel.h>
36#include <qlayout.h>
31#include <qpainter.h> 37#include <qpainter.h>
32#include <qdirectpainter_qws.h>
33#include <qapplication.h>
34#include <qpushbutton.h> 38#include <qpushbutton.h>
35#include <qclipboard.h>
36#include <qtimer.h> 39#include <qtimer.h>
37#include <qcolor.h>
38#include <qpushbutton.h>
39 40
40/* STD */ 41/* STD */
41#include <time.h> 42#include <time.h>
@@ -91,31 +92,63 @@ BenchmarkInfo::BenchmarkInfo( QWidget *parent, const char *name, int wFlags )
91 vb->setMargin( 4 ); 92 vb->setMargin( 4 );
92 93
93 tests = new QListView( this ); 94 tests = new QListView( this );
94 tests->setMargin( 1 ); 95 tests->setMargin( 0 );
95 tests->addColumn( "Tests" ); 96 tests->addColumn( tr( "Tests" ) );
96 tests->addColumn( "Results" ); 97 tests->addColumn( tr( "Results" ) );
98 tests->addColumn( tr( "Comparison" ) );
97 tests->setShowSortIndicator( true ); 99 tests->setShowSortIndicator( true );
98 100
99 test_alu = new QCheckListItem( tests, "1: Integer Arithmetic ", QCheckListItem::CheckBox ); 101 test_alu = new QCheckListItem( tests, tr( "1. Integer Arithmetic " ), QCheckListItem::CheckBox );
102 test_fpu = new QCheckListItem( tests, tr( "2. Floating Point Unit " ), QCheckListItem::CheckBox );
103 test_txt = new QCheckListItem( tests, tr( "3. Text Rendering " ), QCheckListItem::CheckBox );
104 test_gfx = new QCheckListItem( tests, tr( "4. Gfx Rendering " ), QCheckListItem::CheckBox );
105 test_ram = new QCheckListItem( tests, tr( "5. RAM Performance " ), QCheckListItem::CheckBox );
106 test_sd = new QCheckListItem( tests, tr( "6. SD Card Performance " ), QCheckListItem::CheckBox );
107 test_cf = new QCheckListItem( tests, tr( "7. CF Card Performance " ), QCheckListItem::CheckBox );
108
100 test_alu->setText( 1, "n/a" ); 109 test_alu->setText( 1, "n/a" );
101 test_fpu = new QCheckListItem( tests, "2: Floating Point Unit ", QCheckListItem::CheckBox ); 110 test_fpu->setText( 1, "n/a" );
102 test_fpu->setText( 1, "n/a" );
103 test_txt = new QCheckListItem( tests, "3: Text Rendering ", QCheckListItem::CheckBox );
104 test_txt->setText( 1, "n/a" ); 111 test_txt->setText( 1, "n/a" );
105 test_gfx = new QCheckListItem( tests, "4: Gfx Rendering ", QCheckListItem::CheckBox );
106 test_gfx->setText( 1, "n/a" ); 112 test_gfx->setText( 1, "n/a" );
107 test_ram = new QCheckListItem( tests, "5: RAM Performance ", QCheckListItem::CheckBox );
108 test_ram->setText( 1, "n/a" ); 113 test_ram->setText( 1, "n/a" );
109 test_sd = new QCheckListItem( tests, "6: SD Card Performance ", QCheckListItem::CheckBox );
110 test_sd->setText( 1, "n/a" ); 114 test_sd->setText( 1, "n/a" );
111 test_cf = new QCheckListItem( tests, "7: CF Card Performance ", QCheckListItem::CheckBox ); 115 test_cf->setText( 1, "n/a" );
112 test_cf->setText( 1, "n/a" ); 116
113 117 test_alu->setText( 2, "n/a" );
118 test_fpu->setText( 2, "n/a" );
119 test_txt->setText( 2, "n/a" );
120 test_gfx->setText( 2, "n/a" );
121 test_ram->setText( 2, "n/a" );
122 test_sd->setText( 2, "n/a" );
123 test_cf->setText( 2, "n/a" );
124
114 startButton = new QPushButton( tr( "&Start Tests!" ), this ); 125 startButton = new QPushButton( tr( "&Start Tests!" ), this );
115 connect( startButton, SIGNAL( clicked() ), this, SLOT( run() ) ); 126 connect( startButton, SIGNAL( clicked() ), this, SLOT( run() ) );
116 127
117 vb->addWidget( tests, 2 ); 128 vb->addWidget( tests, 2 );
118 vb->addWidget( startButton ); 129
130 QFile f( QPEApplication::qpeDir() + "/share/sysinfo/results" );
131 if ( f.open( IO_ReadOnly ) )
132 {
133 machineCombo = new QComboBox( this );
134
135 QTextStream ts( &f );
136 while( !ts.eof() )
137 {
138 QString machline = ts.readLine();
139 qDebug( "sysinfo: parsing benchmark results for '%s'", (const char*) machline );
140 QString resline = ts.readLine();
141 machines.insert( machline, new QStringList( QStringList::split( ",", resline ) ) );
142 machineCombo->insertItem( machline );
143 }
144
145 QHBoxLayout* hb = new QHBoxLayout( vb );
146 hb->addWidget( new QLabel( tr( "Compare To:" ), this ) );
147 hb->addWidget( machineCombo, 2 );
148 connect( machineCombo, SIGNAL( activated( int ) ), this, SLOT( machineActivated( int ) ) );
149 }
150
151 vb->addWidget( startButton, 2 );
119} 152}
120 153
121 154
@@ -123,6 +156,25 @@ BenchmarkInfo::~BenchmarkInfo()
123{} 156{}
124 157
125 158
159void BenchmarkInfo::machineActivated( int index )
160{
161 QStringList* results = machines[ machineCombo->text( index ) ];
162 if ( !results )
163 {
164 qDebug( "sysinfo: no results available." );
165 return;
166 }
167 QStringList::Iterator it = results->begin();
168 test_alu->setText( 2, *(it++) );
169 test_fpu->setText( 2, *(it++) );
170 test_txt->setText( 2, *(it++) );
171 test_gfx->setText( 2, *(it++) );
172 test_ram->setText( 2, *(it++) );
173 test_sd->setText( 2, *(it++) );
174 test_cf->setText( 2, *(it++) );
175}
176
177
126void BenchmarkInfo::run() 178void BenchmarkInfo::run()
127{ 179{
128 startButton->setText( "> Don't touch! Running Tests! Don't touch! <" ); 180 startButton->setText( "> Don't touch! Running Tests! Don't touch! <" );