summaryrefslogtreecommitdiff
path: root/core/launcher/shutdownimpl.cpp
authorsandman <sandman>2002-06-27 01:44:44 (UTC)
committer sandman <sandman>2002-06-27 01:44:44 (UTC)
commit6d0df38a805c5560b0815df62b212d4be0913154 (patch) (side-by-side diff)
tree3d6e276d877c4bfe2f1960ec62465cb5122bcade /core/launcher/shutdownimpl.cpp
parented8d1696ca8f0407cb7e6b91cc8d410dede5ccdc (diff)
downloadopie-6d0df38a805c5560b0815df62b212d4be0913154.zip
opie-6d0df38a805c5560b0815df62b212d4be0913154.tar.gz
opie-6d0df38a805c5560b0815df62b212d4be0913154.tar.bz2
Made the launcher dialog "liquid compatible":
remvoed the ui file and hand-coded the gui with smarter palette handling.
Diffstat (limited to 'core/launcher/shutdownimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/shutdownimpl.cpp140
1 files changed, 106 insertions, 34 deletions
diff --git a/core/launcher/shutdownimpl.cpp b/core/launcher/shutdownimpl.cpp
index 06ed756..0c5b4f6 100644
--- a/core/launcher/shutdownimpl.cpp
+++ b/core/launcher/shutdownimpl.cpp
@@ -27,69 +27,141 @@
#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 );
+}
+
-#include <stdio.h>
ShutdownImpl::ShutdownImpl( QWidget* parent, const char *name, WFlags fl )
- : Shutdown( parent, name, fl )
+ : QWidget ( parent, name, fl )
{
- timer = new QTimer( this );
- connect( timer, SIGNAL(timeout()), this, SLOT(timeout()) );
+ setCaption ( tr( "Shut down..." ));
+
+ QVBoxLayout *vbox = new QVBoxLayout ( this );
+ vbox-> setSpacing ( 3 );
+ vbox-> setMargin ( 6 );
+
+ QButtonGroup *btngrp = new QButtonGroup ( this );
+
+ btngrp-> setTitle ( tr( "Terminate" ));
+ btngrp-> setColumnLayout ( 0, Qt::Vertical );
+ btngrp-> layout ( )-> setSpacing ( 0 );
+ btngrp-> layout ( )-> setMargin ( 0 );
+
+ QGridLayout *grid = new QGridLayout ( btngrp-> layout ( ));
+ grid-> setAlignment ( Qt::AlignTop );
+ grid-> setSpacing ( 3 );
+ grid-> setMargin ( 7 );
+
+ QPushButton *quit = new QPushButton ( tr( "Terminate Opie" ), btngrp, "quit" );
+ changeButtonColor ( quit, QColor ( 236, 236, 179 ));
+ btngrp-> insert ( quit, 4 );
+ grid-> addWidget ( quit, 1, 1 );
+
+ QPushButton *reboot = new QPushButton ( tr( "Reboot" ), btngrp, "reboot" );
+ changeButtonColor ( reboot, QColor( 236, 183, 181 ));
+ btngrp-> insert ( reboot, 2 );
+ grid-> addWidget( reboot, 1, 0 );
+
+ QPushButton *restart = new QPushButton ( tr( "Restart Opie" ), btngrp, "restart" );
+ changeButtonColor ( restart, QColor( 236, 236, 179 ));
+ btngrp-> insert ( restart, 3 );
+ grid-> addWidget ( restart, 0, 1 );
- connect( ButtonGroup1, SIGNAL(clicked(int)), this, SLOT(buttonClicked(int)) );
- connect( cancel, SIGNAL(clicked()), this, SLOT(cancelClicked()) );
+ QPushButton *shutdown = new QPushButton( tr( "Shutdown" ), btngrp, "shutdown" );
+ changeButtonColor ( shutdown, QColor( 236, 183, 181 ));
+ btngrp-> insert ( shutdown, 1 );
+ grid-> addWidget ( shutdown, 0, 0 );
+
+ vbox-> addWidget ( btngrp );
+
+ m_info = new QLabel ( this, "info" );
+ m_info-> setText( tr( "<p>\n" "These termination options are provided primarily for use while developing and testing the Opie system. In a normal environment, these concepts are unnecessary." ) );
+ vbox-> addWidget ( m_info );
+
+ m_progress = new QProgressBar ( this, "progressBar" );
+ m_progress-> setFrameShape ( QProgressBar::Panel );
+ m_progress-> setFrameShadow ( QProgressBar::Sunken );
+ m_progress-> setTotalSteps ( 20 );
+ m_progress-> setIndicatorFollowsStyle ( false );
+ vbox-> addWidget ( m_progress );
+
+ vbox-> addItem ( new QSpacerItem ( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ));
+
+ QPushButton *cancel = new QPushButton ( tr( "Cancel" ), this, "cancel" );
+ changeButtonColor ( cancel, QColor( 181, 222, 178 ));
+ cancel-> setDefault ( true );
+ cancel-> setSizePolicy ( QSizePolicy ( QSizePolicy::Minimum, QSizePolicy::Expanding, cancel-> sizePolicy ( ). hasHeightForWidth ( )));
+ vbox-> addWidget ( cancel );
+
+ m_timer = new QTimer ( this );
+ connect ( m_timer, SIGNAL( timeout ( )), this, SLOT( timeout ( )));
+
+ connect ( btngrp, SIGNAL( clicked ( int )), this, SLOT( buttonClicked ( int )));
+ connect ( cancel, SIGNAL( clicked ( )), this, SLOT( cancelClicked ( )));
+
+ m_progress-> hide ( );
+ Global::hideInputMethod ( );
- progressBar->hide();
- Global::hideInputMethod();
#ifdef QT_QWS_CUSTOM
- QPushButton *sb = Shutdown::shutdown;
- sb->hide();
+ shutdown-> hide ( );
#endif
}
-void ShutdownImpl::buttonClicked( int b )
+void ShutdownImpl::buttonClicked ( int b )
{
- progress = 0;
+ m_counter = 0;
+
switch ( b ) {
case 1:
- operation = ShutdownSystem;
+ m_operation = ShutdownSystem;
break;
case 2:
- operation = RebootSystem;
+ m_operation = RebootSystem;
break;
case 3:
- operation = RestartDesktop;
+ m_operation = RestartDesktop;
break;
case 4:
- operation = TerminateDesktop;
+ m_operation = TerminateDesktop;
break;
}
- info->hide();
- progressBar->show();
- timer->start( 300 );
- timeout();
+ m_info-> hide ( );
+ m_progress-> show ( );
+ m_timer-> start ( 300 );
+ timeout ( );
}
-void ShutdownImpl::cancelClicked()
+void ShutdownImpl::cancelClicked ( )
{
- progressBar->hide();
- info->show();
- if ( timer->isActive() )
- timer->stop();
+ m_progress-> hide ( );
+ m_info-> show ( );
+ if ( m_timer-> isActive ( ))
+ m_timer-> stop ( );
else
- close();
+ close ( );
}
-void ShutdownImpl::timeout()
+void ShutdownImpl::timeout ( )
{
- if ( (progress+=2) > progressBar->totalSteps() ) {
- progressBar->hide();
- timer->stop();
- emit shutdown( operation );
- } else {
- progressBar->setProgress( progress );
- }
+ if (( m_counter += 2 ) > m_progress-> totalSteps ( )) {
+ m_progress-> hide ( );
+ m_timer-> stop ( );
+ emit shutdown ( m_operation );
+ }
+ else
+ m_progress-> setProgress ( m_counter );
}