author | sandman <sandman> | 2002-08-04 03:39:23 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-08-04 03:39:23 (UTC) |
commit | 71d67cf1646e3277198df677b2de62f8bb45b921 (patch) (side-by-side diff) | |
tree | 20f00167d1496217d87a2f23187f567b4cd13d4e | |
parent | 97cdd27f6f7696e4e6f1239c90ecc2b94c087239 (diff) | |
download | opie-71d67cf1646e3277198df677b2de62f8bb45b921.zip opie-71d67cf1646e3277198df677b2de62f8bb45b921.tar.gz opie-71d67cf1646e3277198df677b2de62f8bb45b921.tar.bz2 |
Fix for bug #102
-rw-r--r-- | core/apps/calibrate/calibrate.cpp | 11 | ||||
-rw-r--r-- | core/launcher/shutdownimpl.cpp | 11 | ||||
-rw-r--r-- | core/launcher/shutdownimpl.h | 2 |
3 files changed, 22 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 @@ -2,49 +2,49 @@ ** 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 <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(); setGeometry( 0, 0, desk.width(), desk.height() ); if ( desk.height() < 250 ) { int w = desk.height() / 3; logo.convertFromImage( Resource::loadImage( "launcher/opielogo" ).smoothScale( w, w ) ); } else { logo = Resource::loadPixmap( "launcher/opielogo" ); } @@ -59,50 +59,57 @@ Calibrate::Calibrate( QWidget* parent, const char * name, WFlags wf ) : timer = new QTimer( this ); connect( timer, SIGNAL( timeout() ), this, SLOT( timeout() ) ); } Calibrate::~Calibrate() { store(); } 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() { QPoint tl = cd.devPoints[QWSPointerCalibrationData::TopLeft]; QPoint tr = cd.devPoints[QWSPointerCalibrationData::TopRight]; QPoint bl = cd.devPoints[QWSPointerCalibrationData::BottomLeft]; QPoint br = cd.devPoints[QWSPointerCalibrationData::BottomRight]; // not needed anywhere .. just calculate it, so it's there cd. devPoints [QWSPointerCalibrationData::Center] = QRect ( tl, br ). normalize ( ). center ( ); diff --git a/core/launcher/shutdownimpl.cpp b/core/launcher/shutdownimpl.cpp index b1925d9..9292bb8 100644 --- a/core/launcher/shutdownimpl.cpp +++ b/core/launcher/shutdownimpl.cpp @@ -1,47 +1,48 @@ /********************************************************************** ** 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 "shutdownimpl.h" #include <qpe/global.h> +#include <qpe/qcopenvelope_qws.h> #include <qtimer.h> #include <qprogressbar.h> #include <qpushbutton.h> #include <qbuttongroup.h> #include <qlabel.h> #include <qlayout.h> #include <qpalette.h> static void changeButtonColor ( QPushButton *btn, const QColor &col ) { QPalette pal = btn-> palette ( ); pal. setColor ( QPalette::Active, QColorGroup::Button, col ); pal. setColor ( QPalette::Disabled, QColorGroup::Button, col ); pal. setColor ( QPalette::Inactive, QColorGroup::Button, col ); btn-> setPalette ( pal ); } ShutdownImpl::ShutdownImpl( QWidget* parent, const char *name, WFlags fl ) : QWidget ( parent, name, fl ) @@ -144,25 +145,35 @@ void ShutdownImpl::buttonClicked ( int b ) timeout ( ); } void ShutdownImpl::cancelClicked ( ) { m_progress-> hide ( ); m_info-> show ( ); if ( m_timer-> isActive ( ) ) m_timer-> stop ( ); else close ( ); } void ShutdownImpl::timeout ( ) { if ( ( m_counter += 2 ) > m_progress-> totalSteps ( ) ) { m_progress-> hide ( ); m_timer-> stop ( ); emit shutdown ( m_operation ); } else m_progress-> setProgress ( m_counter ); } +void ShutdownImpl::hide ( ) +{ + if ( isVisible ( )) { + // hack - shutdown is a launcher dialog, but treated like a standalone app + QCopEnvelope e( "QPE/System", "closing(QString)" ); + e << QString ( "shutdown" ); + + } + QWidget::hide ( ); +} diff --git a/core/launcher/shutdownimpl.h b/core/launcher/shutdownimpl.h index c2ebcc7..12b859d 100644 --- a/core/launcher/shutdownimpl.h +++ b/core/launcher/shutdownimpl.h @@ -13,43 +13,45 @@ ** ** 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. ** **********************************************************************/ #ifndef SHUTDOWNIMPL_H #define SHUTDOWNIMPL_H #include <qwidget.h> class QTimer; class QLabel; class QProgressBar; class ShutdownImpl : public QWidget { Q_OBJECT public: ShutdownImpl( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); enum Type { ShutdownSystem, RebootSystem, RestartDesktop, TerminateDesktop }; + virtual void hide ( ); + signals: void shutdown( ShutdownImpl::Type ); private slots: void buttonClicked( int ); void cancelClicked(); void timeout(); private: QTimer *m_timer; int m_counter; Type m_operation; QLabel * m_info; QProgressBar *m_progress; }; #endif |