summaryrefslogtreecommitdiff
path: root/core/apps/calibrate/calibrate.cpp
Side-by-side diff
Diffstat (limited to 'core/apps/calibrate/calibrate.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/calibrate/calibrate.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/apps/calibrate/calibrate.cpp b/core/apps/calibrate/calibrate.cpp
index b9ad73d..6d498bc 100644
--- a/core/apps/calibrate/calibrate.cpp
+++ b/core/apps/calibrate/calibrate.cpp
@@ -10,33 +10,33 @@
**
** 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 <math.h>
#include "calibrate.h"
#include <qpe/resource.h>
-
+#include <qpe/qcopenvelope_qws.h>
#include <qapplication.h>
#if defined(Q_WS_QWS) || defined(_WS_QWS_)
#include <qpainter.h>
#include <qtimer.h>
#include <qwindowsystem_qws.h>
#include <qgfx_qws.h>
Calibrate::Calibrate( QWidget* parent, const char * name, WFlags wf ) :
QDialog( parent, name, TRUE, wf | WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop )
{
showCross = TRUE;
const int offset = 30;
QRect desk = qApp->desktop() ->geometry();
@@ -67,34 +67,41 @@ Calibrate::~Calibrate()
void Calibrate::show()
{
grabMouse();
QWSServer::mouseHandler() ->getCalibration( &goodcd );
QWSServer::mouseHandler() ->clearCalibration();
QDialog::show();
}
void Calibrate::store()
{
QWSServer::mouseHandler() ->calibrate( &goodcd );
}
void Calibrate::hide()
{
- if ( isVisible() )
+ if ( isVisible ( )) {
store();
+
+ // hack - calibrate is a launcher dialog, but treated like a standalone app
+ {
+ QCopEnvelope e( "QPE/System", "closing(QString)" );
+ e << QString ( "calibrate" );
+ }
+ }
QDialog::hide();
}
void Calibrate::reset()
{
penPos = QPoint();
location = QWSPointerCalibrationData::TopLeft;
crossPos = fromDevice( cd.screenPoints[ location ] );
}
QPoint Calibrate::fromDevice( const QPoint &p )
{
return qt_screen->mapFromDevice ( p, QSize( qt_screen->deviceWidth ( ), qt_screen->deviceHeight() ) );
}
bool Calibrate::sanityCheck()