-rw-r--r-- | core/launcher/shutdownimpl.cpp | 11 | ||||
-rw-r--r-- | core/launcher/shutdownimpl.h | 2 |
2 files changed, 13 insertions, 0 deletions
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 |