summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/calibrate/calibrate.cpp62
-rw-r--r--core/apps/calibrate/calibrate.h3
-rw-r--r--core/apps/calibrate/main.cpp4
3 files changed, 33 insertions, 36 deletions
diff --git a/core/apps/calibrate/calibrate.cpp b/core/apps/calibrate/calibrate.cpp
index e079195..5f52bdc 100644
--- a/core/apps/calibrate/calibrate.cpp
+++ b/core/apps/calibrate/calibrate.cpp
@@ -23,14 +23,14 @@
23#include "calibrate.h" 23#include "calibrate.h"
24 24
25#include <qpe/resource.h> 25#include <qpe/resource.h>
26#include <qpe/qcopenvelope_qws.h> 26#include <qpe/qcopenvelope_qws.h>
27#include <qapplication.h> 27#include <qapplication.h>
28 28
29//#if defined(Q_WS_QWS) || defined(_WS_QWS_) 29#include <qpixmap.h>
30 30#include <qimage.h>
31#include <qpainter.h> 31#include <qpainter.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qwindowsystem_qws.h> 33#include <qwindowsystem_qws.h>
34#include <qgfx_qws.h> 34#include <qgfx_qws.h>
35 35
36 36
@@ -39,19 +39,17 @@ Calibrate::Calibrate( QWidget* parent, const char * name, WFlags wf ) :
39{ 39{
40#ifdef QWS 40#ifdef QWS
41 showCross = TRUE; 41 showCross = TRUE;
42 const int offset = 30; 42 const int offset = 30;
43 QRect desk = qApp->desktop() ->geometry(); 43 QRect desk = qApp->desktop() ->geometry();
44 setGeometry( 0, 0, desk.width(), desk.height() ); 44 setGeometry( 0, 0, desk.width(), desk.height() );
45 if ( desk.height() < 250 ) { 45 crosshair.convertFromImage( Resource::loadImage("launcher/crosshair") );
46 int w = desk.height() / 3; 46
47 logo.convertFromImage( Resource::loadImage( "logo/opielogo" ).smoothScale( w, w ) ); 47 splash.convertFromImage( Resource::loadImage("launcher/firstuse").smoothScale( width(), height() ) );
48 } 48 setBackgroundPixmap( splash );
49 else { 49
50 logo = Resource::loadPixmap( "logo/opielogo" );
51 }
52 cd.screenPoints[ QWSPointerCalibrationData::TopLeft ] = QPoint( offset, offset ); 50 cd.screenPoints[ QWSPointerCalibrationData::TopLeft ] = QPoint( offset, offset );
53 cd.screenPoints[ QWSPointerCalibrationData::BottomLeft ] = QPoint( offset, qt_screen->deviceHeight() - offset ); 51 cd.screenPoints[ QWSPointerCalibrationData::BottomLeft ] = QPoint( offset, qt_screen->deviceHeight() - offset );
54 cd.screenPoints[ QWSPointerCalibrationData::BottomRight ] = QPoint( qt_screen->deviceWidth() - offset, qt_screen->deviceHeight() - offset ); 52 cd.screenPoints[ QWSPointerCalibrationData::BottomRight ] = QPoint( qt_screen->deviceWidth() - offset, qt_screen->deviceHeight() - offset );
55 cd.screenPoints[ QWSPointerCalibrationData::TopRight ] = QPoint( qt_screen->deviceWidth() - offset, offset ); 53 cd.screenPoints[ QWSPointerCalibrationData::TopRight ] = QPoint( qt_screen->deviceWidth() - offset, offset );
56 cd.screenPoints[ QWSPointerCalibrationData::Center ] = QPoint( qt_screen->deviceWidth() / 2, qt_screen->deviceHeight() / 2 ); 54 cd.screenPoints[ QWSPointerCalibrationData::Center ] = QPoint( qt_screen->deviceWidth() / 2, qt_screen->deviceHeight() / 2 );
57 goodcd = cd; 55 goodcd = cd;
@@ -83,13 +81,13 @@ void Calibrate::store()
83 QWSServer::mouseHandler() ->calibrate( &goodcd ); 81 QWSServer::mouseHandler() ->calibrate( &goodcd );
84#endif 82#endif
85} 83}
86 84
87void Calibrate::hide() 85void Calibrate::hide()
88{ 86{
89 if ( isVisible ( )) { 87 if ( isVisible()) {
90 store(); 88 store();
91 89
92 // hack - calibrate is a launcher dialog, but treated like a standalone app 90 // hack - calibrate is a launcher dialog, but treated like a standalone app
93 { 91 {
94 QCopEnvelope e( "QPE/System", "closing(QString)" ); 92 QCopEnvelope e( "QPE/System", "closing(QString)" );
95 e << QString ( "calibrate" ); 93 e << QString ( "calibrate" );
@@ -123,13 +121,13 @@ bool Calibrate::sanityCheck()
123 QPoint tl = cd.devPoints[QWSPointerCalibrationData::TopLeft]; 121 QPoint tl = cd.devPoints[QWSPointerCalibrationData::TopLeft];
124 QPoint tr = cd.devPoints[QWSPointerCalibrationData::TopRight]; 122 QPoint tr = cd.devPoints[QWSPointerCalibrationData::TopRight];
125 QPoint bl = cd.devPoints[QWSPointerCalibrationData::BottomLeft]; 123 QPoint bl = cd.devPoints[QWSPointerCalibrationData::BottomLeft];
126 QPoint br = cd.devPoints[QWSPointerCalibrationData::BottomRight]; 124 QPoint br = cd.devPoints[QWSPointerCalibrationData::BottomRight];
127 125
128 // not needed anywhere .. just calculate it, so it's there 126 // not needed anywhere .. just calculate it, so it's there
129 cd. devPoints [QWSPointerCalibrationData::Center] = QRect ( tl, br ). normalize ( ). center ( ); 127 cd.devPoints[QWSPointerCalibrationData::Center] = QRect( tl, br ).normalize().center();
130 128
131 int dlx = QABS( bl. x ( ) - tl. x ( )); 129 int dlx = QABS( bl. x ( ) - tl. x ( ));
132 int dly = QABS( bl. y ( ) - tl. y ( )); 130 int dly = QABS( bl. y ( ) - tl. y ( ));
133 int drx = QABS( br. x ( ) - tr. x ( )); 131 int drx = QABS( br. x ( ) - tr. x ( ));
134 int dry = QABS( br. y ( ) - tr. y ( )); 132 int dry = QABS( br. y ( ) - tr. y ( ));
135 int dtx = QABS( tr. x ( ) - tl. x ( )); 133 int dtx = QABS( tr. x ( ) - tl. x ( ));
@@ -165,47 +163,45 @@ return true;
165#endif 163#endif
166} 164}
167 165
168void Calibrate::moveCrosshair( QPoint pt ) 166void Calibrate::moveCrosshair( QPoint pt )
169{ 167{
170 showCross = FALSE; 168 showCross = FALSE;
171 repaint( crossPos.x() - 8, crossPos.y() - 8, 16, 16 ); 169 repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 );
172 showCross = TRUE; 170 showCross = TRUE;
173 crossPos = pt; 171 crossPos = pt;
174 repaint( crossPos.x() - 8, crossPos.y() - 8, 16, 16 ); 172 repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 );
175} 173}
176 174
177void Calibrate::paintEvent( QPaintEvent * ) 175void Calibrate::paintEvent( QPaintEvent * )
178{ 176{
179 QPainter p( this ); 177 QPainter p( this );
180 178 int y = height() / 3;
181 int y;
182
183 if ( !logo.isNull() ) {
184 y = height() / 2 - logo.height() - 15;
185 p.drawPixmap( ( width() - logo.width() ) / 2, y, logo );
186 }
187
188 y = height() / 2 + 15;
189 179
190 p.drawText( 0, y + height() / 8, width(), height() - y, AlignHCenter, 180 p.drawText( 0, y + height() / 8, width(), height() - y, AlignHCenter,
191 tr( "Touch the crosshairs firmly and\n" 181 tr( "Touch the crosshairs firmly and\n"
192 "accurately to calibrate your screen." ) ); 182 "accurately to calibrate your screen." ) );
193 183
194 QFont f = p.font(); 184 if ( !showCross ) return;
195 f.setBold( TRUE ); 185
196 p.setFont( f ); 186#if 0
197 p.drawText( 0, y, width(), height() - y, AlignHCenter | WordBreak, 187 if ( crosshair.isNull() ) {
198 tr( "Welcome to Opie" ) ); 188#endif
199 189 p.setPen( QColor( 0, 0, 155 ) );
200 if ( showCross ) { 190 p.drawEllipse( crossPos.x()-8, crossPos.y()-8, 16, 16 );
201 p.drawRect( crossPos.x() - 1, crossPos.y() - 8, 2, 7 ); 191 p.setPen( QColor( 250, 220, 220 ) );
202 p.drawRect( crossPos.x() - 1, crossPos.y() + 1, 2, 7 ); 192 p.drawRoundRect( crossPos.x()-12, crossPos.y()-12, 24, 24, 75, 75 );
203 p.drawRect( crossPos.x() - 8, crossPos.y() - 1, 7, 2 ); 193 p.setPen( QColor( 0, 0, 120 ) );
204 p.drawRect( crossPos.x() + 1, crossPos.y() - 1, 7, 2 ); 194 p.drawRect( crossPos.x() - 1, crossPos.y() - 14, 2, 13 );
195 p.drawRect( crossPos.x() - 1, crossPos.y() + 1, 2, 13 );
196 p.drawRect( crossPos.x() - 14, crossPos.y() - 1, 13, 2 );
197 p.drawRect( crossPos.x() + 1, crossPos.y() - 1, 13, 2 );
198#if 0
205 } 199 }
200 else p.drawPixmap( crossPos.x(), crossPos.y(), crosshair );
201#endif
206} 202}
207 203
208void Calibrate::mousePressEvent( QMouseEvent *e ) 204void Calibrate::mousePressEvent( QMouseEvent *e )
209{ 205{
210#ifdef QWS 206#ifdef QWS
211 // map to device coordinates 207 // map to device coordinates
diff --git a/core/apps/calibrate/calibrate.h b/core/apps/calibrate/calibrate.h
index 06aa0c9..c1b990a 100644
--- a/core/apps/calibrate/calibrate.h
+++ b/core/apps/calibrate/calibrate.h
@@ -48,13 +48,14 @@ private:
48private slots: 48private slots:
49 void timeout(); 49 void timeout();
50 50
51private: 51private:
52 void store(); 52 void store();
53 void reset(); 53 void reset();
54 QPixmap logo; 54 QPixmap splash;
55 QPixmap crosshair;
55#ifdef QWS 56#ifdef QWS
56 QWSPointerCalibrationData goodcd,cd; 57 QWSPointerCalibrationData goodcd,cd;
57 QWSPointerCalibrationData::Location location; 58 QWSPointerCalibrationData::Location location;
58#endif 59#endif
59 QPoint crossPos; 60 QPoint crossPos;
60 QPoint penPos; 61 QPoint penPos;
diff --git a/core/apps/calibrate/main.cpp b/core/apps/calibrate/main.cpp
index 0da0fe0..d9d98f5 100644
--- a/core/apps/calibrate/main.cpp
+++ b/core/apps/calibrate/main.cpp
@@ -28,19 +28,19 @@
28 28
29int main( int argc, char ** argv ) 29int main( int argc, char ** argv )
30{ 30{
31 QPEApplication a( argc, argv ); 31 QPEApplication a( argc, argv );
32 int retval = 0; 32 int retval = 0;
33 33
34#ifdef QWS 34#if !defined(QT_DEBUG) && defined(QWS)
35 if ( QWSServer::mouseHandler() && 35 if ( QWSServer::mouseHandler() &&
36 QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) { 36 QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
37#endif 37#endif
38 // Make sure calibration widget starts on top. 38 // Make sure calibration widget starts on top.
39 Calibrate cal; 39 Calibrate cal;
40 a.setMainWidget(&cal); 40 a.setMainWidget(&cal);
41 a.showMainWidget(&cal); 41 a.showMainWidget(&cal);
42 return a.exec(); 42 return a.exec();
43#ifdef QWS 43#if !defined(QT_DEBUG) && defined(QWS)
44 } 44 }
45#endif 45#endif
46} 46}