From e5b1e010c321ba1edac704f9d668df75b22fd074 Mon Sep 17 00:00:00 2001 From: drw Date: Wed, 23 Feb 2005 16:14:09 +0000 Subject: Fix UI to prevent error dialog from displaying when it shouldn't --- diff --git a/noncore/settings/netsystemtime/mainwindow.cpp b/noncore/settings/netsystemtime/mainwindow.cpp index 385d355..486257f 100644 --- a/noncore/settings/netsystemtime/mainwindow.cpp +++ b/noncore/settings/netsystemtime/mainwindow.cpp @@ -1,26 +1,26 @@ /* -                This file is part of the OPIE Project + This file is part of the OPIE Project =. -             .=l. Copyright (c) 2002 OPIE team -           .>+-= - _;:,     .>    :=|. This file is free software; you can -.> <`_,   >  .   <= redistribute it and/or modify it under -:`=1 )Y*s>-.--   : the terms of the GNU General Public -.="- .-=="i,     .._ License as published by the Free Software - - .   .-<_>     .<> Foundation; either version 2 of the License, -     ._= =}       : or (at your option) any later version. -    .%`+i>       _;_. -    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General -..}^=.=       =       ; Public License for more details. -++=   -.     .`     .: - :     =  ...= . :.=- You should have received a copy of the GNU - -.   .:....=;==+<; General Public License along with this file; -  -_. . .   )=.  = see the file COPYING. If not, write to the -    --        :-=` Free Software Foundation, Inc., + .=l. Copyright (c) 2002 OPIE team + .>+-= +_;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: +: = ...= . :.=- You should have received a copy of the GNU +-. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -51,7 +51,7 @@ using namespace Opie::Ui; using namespace Opie::Core; MainWindow::MainWindow( QWidget *parent , const char *name, bool modal, WFlags f ) - : QDialog( 0x0, 0x0, TRUE, 0 ) + : QDialog( parent, name, modal, f ) { setCaption( tr( "SystemTime" ) ); @@ -187,6 +187,11 @@ void MainWindow::runNTP() ntpTab->addNtpOutput( output ); } + // Disable set time buttons & change app caption to indicate time update is happening + ntpTab->setNTPBtnEnabled( false ); + timeTab->setNTPBtnEnabled( false ); + setCaption( tr( "Retrieving time from network..." ) ); + if ( !ntpProcess ) { ntpProcess = new OProcess(); @@ -206,6 +211,11 @@ void MainWindow::runNTP() QMessageBox::critical( this, tr( "Error" ), tr( "Error while getting time from network." ) ); if ( ntpTabEnabled ) ntpTab->addNtpOutput( tr( "Error while executing ntpdate" ) ); + + // Re-enable set time buttons & change app caption to indicate time update is happening + ntpTab->setNTPBtnEnabled( true ); + timeTab->setNTPBtnEnabled( true ); + setCaption( tr( "SystemTime" ) ); } } @@ -298,6 +308,11 @@ void MainWindow::slotNtpFinished( OProcess *p ) QString output; QDateTime dt = QDateTime::currentDateTime(); + // Re-enable set time buttons & change app caption to indicate time update is happening + ntpTab->setNTPBtnEnabled( true ); + timeTab->setNTPBtnEnabled( true ); + setCaption( tr( "SystemTime" ) ); + // Verify run was successful if ( p->exitStatus() != 0 || !p->normalExit() ) { @@ -351,7 +366,7 @@ void MainWindow::slotNtpFinished( OProcess *p ) QString grpname = QString( "lookup_" ).append( QString::number( lookupCount ) ); config.setGroup( grpname ); lookupCount++; - predictTab->setShiftPerSec( timeShift / secsSinceLast ); + predictTab->setShiftPerSec( (int)(timeShift / secsSinceLast) ); config.writeEntry( "secsSinceLast", secsSinceLast ); config.writeEntry( "timeShift", QString::number( timeShift ) ); config.setGroup( "lookups" ); diff --git a/noncore/settings/netsystemtime/ntptabwidget.cpp b/noncore/settings/netsystemtime/ntptabwidget.cpp index d71c230..616bc22 100644 --- a/noncore/settings/netsystemtime/ntptabwidget.cpp +++ b/noncore/settings/netsystemtime/ntptabwidget.cpp @@ -1,26 +1,26 @@ /* -                This file is part of the OPIE Project + This file is part of the OPIE Project =. -             .=l. Copyright (c) 2002 OPIE team -           .>+-= - _;:,     .>    :=|. This file is free software; you can -.> <`_,   >  .   <= redistribute it and/or modify it under -:`=1 )Y*s>-.--   : the terms of the GNU General Public -.="- .-=="i,     .._ License as published by the Free Software - - .   .-<_>     .<> Foundation; either version 2 of the License, -     ._= =}       : or (at your option) any later version. -    .%`+i>       _;_. -    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General -..}^=.=       =       ; Public License for more details. -++=   -.     .`     .: - :     =  ...= . :.=- You should have received a copy of the GNU - -.   .:....=;==+<; General Public License along with this file; -  -_. . .   )=.  = see the file COPYING. If not, write to the -    --        :-=` Free Software Foundation, Inc., + .=l. Copyright (c) 2002 OPIE team + .>+-= +_;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: +: = ...= . :.=- You should have received a copy of the GNU +-. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -46,7 +46,7 @@ NTPTabWidget::NTPTabWidget( QWidget *parent ) sv->setFrameStyle( QFrame::NoFrame ); QWidget *container = new QWidget( sv->viewport() ); sv->addChild( container ); - + QGridLayout *layout = new QGridLayout( container ); layout->setMargin( 2 ); layout->setSpacing( 4 ); @@ -70,15 +70,15 @@ NTPTabWidget::NTPTabWidget( QWidget *parent ) mleNtpOutput = new QMultiLineEdit( container ); QFont font( mleNtpOutput->font() ); font.setPointSize( 7 ); - mleNtpOutput->setFont( font ); + mleNtpOutput->setFont( font ); mleNtpOutput->setWordWrap( QMultiLineEdit::WidgetWidth ); layout->addMultiCellWidget( mleNtpOutput, 3, 3, 0, 1 ); - + // Set NTP time button - QPushButton *pb = new QPushButton( Resource::loadPixmap( "netsystemtime/ntptab" ), - tr( "Get time from the network" ), container ); - connect( pb, SIGNAL(clicked()), this, SIGNAL(getNTPTime()) ); - layout->addMultiCellWidget( pb, 4, 4, 0, 1 ); + m_ntpBtn = new QPushButton( Resource::loadPixmap( "netsystemtime/ntptab" ), + tr( "Get time from the network" ), container ); + connect( m_ntpBtn, SIGNAL(clicked()), this, SIGNAL(getNTPTime()) ); + layout->addMultiCellWidget( m_ntpBtn, 4, 4, 0, 1 ); } NTPTabWidget::~NTPTabWidget() @@ -105,3 +105,8 @@ void NTPTabWidget::addNtpOutput( const QString &str ) mleNtpOutput->append( str ); mleNtpOutput->setCursorPosition( mleNtpOutput->numLines() + 1, 0, FALSE ); } + +void NTPTabWidget::setNTPBtnEnabled( bool enabled ) +{ + m_ntpBtn->setEnabled( enabled ); +} diff --git a/noncore/settings/netsystemtime/ntptabwidget.h b/noncore/settings/netsystemtime/ntptabwidget.h index 811c57e..f05482e 100644 --- a/noncore/settings/netsystemtime/ntptabwidget.h +++ b/noncore/settings/netsystemtime/ntptabwidget.h @@ -1,26 +1,26 @@ /* -                This file is part of the OPIE Project + This file is part of the OPIE Project =. -             .=l. Copyright (c) 2002 OPIE team -           .>+-= - _;:,     .>    :=|. This file is free software; you can -.> <`_,   >  .   <= redistribute it and/or modify it under -:`=1 )Y*s>-.--   : the terms of the GNU General Public -.="- .-=="i,     .._ License as published by the Free Software - - .   .-<_>     .<> Foundation; either version 2 of the License, -     ._= =}       : or (at your option) any later version. -    .%`+i>       _;_. -    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General -..}^=.=       =       ; Public License for more details. -++=   -.     .`     .: - :     =  ...= . :.=- You should have received a copy of the GNU - -.   .:....=;==+<; General Public License along with this file; -  -_. . .   )=.  = see the file COPYING. If not, write to the -    --        :-=` Free Software Foundation, Inc., + .=l. Copyright (c) 2002 OPIE team + .>+-= +_;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: +: = ...= . :.=- You should have received a copy of the GNU +-. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -33,6 +33,7 @@ class QLabel; class QMultiLineEdit; +class QPushButton; class NTPTabWidget : public QWidget { @@ -46,12 +47,15 @@ public: void setTimeShift( const QString & ); void setNewTime( const QString & ); void addNtpOutput( const QString & ); + void setNTPBtnEnabled( bool enabled ); private: QLabel *lblStartTime; QLabel *lblTimeShift; QLabel *lblNewTime; QMultiLineEdit *mleNtpOutput; + QPushButton *m_ntpBtn; + signals: void getNTPTime(); diff --git a/noncore/settings/netsystemtime/timetabwidget.cpp b/noncore/settings/netsystemtime/timetabwidget.cpp index 3cc127d..905461f 100644 --- a/noncore/settings/netsystemtime/timetabwidget.cpp +++ b/noncore/settings/netsystemtime/timetabwidget.cpp @@ -1,26 +1,26 @@ /* -                This file is part of the OPIE Project + This file is part of the OPIE Project =. -             .=l. Copyright (c) 2002 OPIE team -           .>+-= - _;:,     .>    :=|. This file is free software; you can -.> <`_,   >  .   <= redistribute it and/or modify it under -:`=1 )Y*s>-.--   : the terms of the GNU General Public -.="- .-=="i,     .._ License as published by the Free Software - - .   .-<_>     .<> Foundation; either version 2 of the License, -     ._= =}       : or (at your option) any later version. -    .%`+i>       _;_. -    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General -..}^=.=       =       ; Public License for more details. -++=   -.     .`     .: - :     =  ...= . :.=- You should have received a copy of the GNU - -.   .:....=;==+<; General Public License along with this file; -  -_. . .   )=.  = see the file COPYING. If not, write to the -    --        :-=` Free Software Foundation, Inc., + .=l. Copyright (c) 2002 OPIE team + .>+-= +_;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: +: = ...= . :.=- You should have received a copy of the GNU +-. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -109,13 +109,13 @@ TimeTabWidget::TimeTabWidget( QWidget *parent ) layout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ), 7, 0 ); // Set NTP time button - QPushButton *pb = new QPushButton( Resource::loadPixmap( "netsystemtime/ntptab" ), - tr( "Get time from the network" ), container ); - connect( pb, SIGNAL(clicked()), this, SIGNAL(getNTPTime()) ); - layout->addMultiCellWidget( pb, 8, 8, 0, 5 ); + m_ntpBtn = new QPushButton( Resource::loadPixmap( "netsystemtime/ntptab" ), + tr( "Get time from the network" ), container ); + connect( m_ntpBtn, SIGNAL(clicked()), this, SIGNAL(getNTPTime()) ); + layout->addMultiCellWidget( m_ntpBtn, 8, 8, 0, 5 ); // Set predicted time button - pb = new QPushButton( Resource::loadPixmap( "netsystemtime/predicttab" ), tr( "Set predicted time" ), + QPushButton *pb = new QPushButton( Resource::loadPixmap( "netsystemtime/predicttab" ), tr( "Set predicted time" ), container ); connect( pb, SIGNAL(clicked()), this, SIGNAL(getPredictedTime()) ); layout->addMultiCellWidget( pb, 9, 9, 0, 5 ); @@ -192,6 +192,11 @@ void TimeTabWidget::setDateTime( const QDateTime &dt ) btnDate->setDate( dt.date() ); } +void TimeTabWidget::setNTPBtnEnabled( bool enabled ) +{ + m_ntpBtn->setEnabled( enabled ); +} + void TimeTabWidget::setSystemTime( const QDateTime &dt ) { // Set system clock diff --git a/noncore/settings/netsystemtime/timetabwidget.h b/noncore/settings/netsystemtime/timetabwidget.h index f44a1da..949535d 100644 --- a/noncore/settings/netsystemtime/timetabwidget.h +++ b/noncore/settings/netsystemtime/timetabwidget.h @@ -1,26 +1,26 @@ /* -                This file is part of the OPIE Project + This file is part of the OPIE Project =. -             .=l. Copyright (c) 2002 OPIE team -           .>+-= - _;:,     .>    :=|. This file is free software; you can -.> <`_,   >  .   <= redistribute it and/or modify it under -:`=1 )Y*s>-.--   : the terms of the GNU General Public -.="- .-=="i,     .._ License as published by the Free Software - - .   .-<_>     .<> Foundation; either version 2 of the License, -     ._= =}       : or (at your option) any later version. -    .%`+i>       _;_. -    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU General -..}^=.=       =       ; Public License for more details. -++=   -.     .`     .: - :     =  ...= . :.=- You should have received a copy of the GNU - -.   .:....=;==+<; General Public License along with this file; -  -_. . .   )=.  = see the file COPYING. If not, write to the -    --        :-=` Free Software Foundation, Inc., + .=l. Copyright (c) 2002 OPIE team + .>+-= +_;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU General +..}^=.= = ; Public License for more details. +++= -. .` .: +: = ...= . :.=- You should have received a copy of the GNU +-. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -35,6 +35,7 @@ class DateButton; class DateFormat; class QComboBox; class QDateTime; +class QPushButton; class QSpinBox; class TimeZoneSelector; @@ -43,11 +44,12 @@ class TimeTabWidget : public QWidget Q_OBJECT public: - TimeTabWidget( QWidget * = 0x0 ); + TimeTabWidget( QWidget * = 0l ); ~TimeTabWidget(); void saveSettings( bool ); void setDateTime( const QDateTime & ); + void setNTPBtnEnabled( bool enabled ); private: QSpinBox *sbHour; @@ -55,6 +57,7 @@ private: QComboBox *cbAmpm; DateButton *btnDate; TimeZoneSelector *selTimeZone; + QPushButton *m_ntpBtn; bool use12HourTime; -- cgit v0.9.0.2