author | drw <drw> | 2005-02-23 16:14:09 (UTC) |
---|---|---|
committer | drw <drw> | 2005-02-23 16:14:09 (UTC) |
commit | e5b1e010c321ba1edac704f9d668df75b22fd074 (patch) (unidiff) | |
tree | c76221c7d8292f66ef05040721edf816a04fbeba /noncore/settings/netsystemtime/mainwindow.cpp | |
parent | 30857db6ca3f355aa3d50b59f03a13c82f265af2 (diff) | |
download | opie-e5b1e010c321ba1edac704f9d668df75b22fd074.zip opie-e5b1e010c321ba1edac704f9d668df75b22fd074.tar.gz opie-e5b1e010c321ba1edac704f9d668df75b22fd074.tar.bz2 |
Fix UI to prevent error dialog from displaying when it shouldn't
Diffstat (limited to 'noncore/settings/netsystemtime/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/netsystemtime/mainwindow.cpp | 61 |
1 files changed, 38 insertions, 23 deletions
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,29 +1,29 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the OPIE Project | 2 | This file is part of the OPIE Project |
3 | =. | 3 | =. |
4 | .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> | 4 | .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> |
5 | .>+-= | 5 | .>+-= |
6 | _;:, .> :=|. This file is free software; you can | 6 | _;:, .> :=|. This file is free software; you can |
7 | .> <`_, > . <= redistribute it and/or modify it under | 7 | .> <`_, > . <= redistribute it and/or modify it under |
8 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | 8 | :`=1 )Y*s>-.-- : the terms of the GNU General Public |
9 | .="- .-=="i, .._ License as published by the Free Software | 9 | .="- .-=="i, .._ License as published by the Free Software |
10 | - . .-<_> .<> Foundation; either version 2 of the License, | 10 | - . .-<_> .<> Foundation; either version 2 of the License, |
11 | ._= =} : or (at your option) any later version. | 11 | ._= =} : or (at your option) any later version. |
12 | .%`+i> _;_. | 12 | .%`+i> _;_. |
13 | .i_,=:_. -<s. This file is distributed in the hope that | 13 | .i_,=:_. -<s. This file is distributed in the hope that |
14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
15 | : .. .:, . . . without even the implied warranty of | 15 | : .. .:, . . . without even the implied warranty of |
16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General | 17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General |
18 | ..}^=.= = ; Public License for more details. | 18 | ..}^=.= = ; Public License for more details. |
19 | ++= -. .` .: | 19 | ++= -. .` .: |
20 | : = ...= . :.=- You should have received a copy of the GNU | 20 | : = ...= . :.=- You should have received a copy of the GNU |
21 | -. .:....=;==+<; General Public License along with this file; | 21 | -. .:....=;==+<; General Public License along with this file; |
22 | -_. . . )=. = see the file COPYING. If not, write to the | 22 | -_. . . )=. = see the file COPYING. If not, write to the |
23 | -- :-=` Free Software Foundation, Inc., | 23 | -- :-=` Free Software Foundation, Inc., |
24 | 59 Temple Place - Suite 330, | 24 | 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. | 25 | Boston, MA 02111-1307, USA. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | #include "mainwindow.h" | 29 | #include "mainwindow.h" |
@@ -48,13 +48,13 @@ | |||
48 | #include <qstring.h> | 48 | #include <qstring.h> |
49 | #include <qtimer.h> | 49 | #include <qtimer.h> |
50 | 50 | ||
51 | using namespace Opie::Ui; | 51 | using namespace Opie::Ui; |
52 | using namespace Opie::Core; | 52 | using namespace Opie::Core; |
53 | MainWindow::MainWindow( QWidget *parent , const char *name, bool modal, WFlags f ) | 53 | MainWindow::MainWindow( QWidget *parent , const char *name, bool modal, WFlags f ) |
54 | : QDialog( 0x0, 0x0, TRUE, 0 ) | 54 | : QDialog( parent, name, modal, f ) |
55 | { | 55 | { |
56 | setCaption( tr( "SystemTime" ) ); | 56 | setCaption( tr( "SystemTime" ) ); |
57 | 57 | ||
58 | QVBoxLayout *layout = new QVBoxLayout( this ); | 58 | QVBoxLayout *layout = new QVBoxLayout( this ); |
59 | layout->setMargin( 2 ); | 59 | layout->setMargin( 2 ); |
60 | layout->setSpacing( 4 ); | 60 | layout->setSpacing( 4 ); |
@@ -184,12 +184,17 @@ void MainWindow::runNTP() | |||
184 | ntpTab->setStartTime( QDateTime::currentDateTime().toString() ); | 184 | ntpTab->setStartTime( QDateTime::currentDateTime().toString() ); |
185 | QString output = tr( "Running:\nntpdate " ); | 185 | QString output = tr( "Running:\nntpdate " ); |
186 | output.append( srv ); | 186 | output.append( srv ); |
187 | ntpTab->addNtpOutput( output ); | 187 | ntpTab->addNtpOutput( output ); |
188 | } | 188 | } |
189 | 189 | ||
190 | // Disable set time buttons & change app caption to indicate time update is happening | ||
191 | ntpTab->setNTPBtnEnabled( false ); | ||
192 | timeTab->setNTPBtnEnabled( false ); | ||
193 | setCaption( tr( "Retrieving time from network..." ) ); | ||
194 | |||
190 | if ( !ntpProcess ) | 195 | if ( !ntpProcess ) |
191 | { | 196 | { |
192 | ntpProcess = new OProcess(); | 197 | ntpProcess = new OProcess(); |
193 | connect( ntpProcess, SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)), | 198 | connect( ntpProcess, SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)), |
194 | this, SLOT(slotNtpOutput(Opie::Core::OProcess*,char*,int)) ); | 199 | this, SLOT(slotNtpOutput(Opie::Core::OProcess*,char*,int)) ); |
195 | connect( ntpProcess, SIGNAL(processExited(Opie::Core::OProcess*)), | 200 | connect( ntpProcess, SIGNAL(processExited(Opie::Core::OProcess*)), |
@@ -203,12 +208,17 @@ void MainWindow::runNTP() | |||
203 | bool ret = ntpProcess->start( OProcess::NotifyOnExit, OProcess::AllOutput ); | 208 | bool ret = ntpProcess->start( OProcess::NotifyOnExit, OProcess::AllOutput ); |
204 | if ( !ret ) | 209 | if ( !ret ) |
205 | { | 210 | { |
206 | QMessageBox::critical( this, tr( "Error" ), tr( "Error while getting time from network." ) ); | 211 | QMessageBox::critical( this, tr( "Error" ), tr( "Error while getting time from network." ) ); |
207 | if ( ntpTabEnabled ) | 212 | if ( ntpTabEnabled ) |
208 | ntpTab->addNtpOutput( tr( "Error while executing ntpdate" ) ); | 213 | ntpTab->addNtpOutput( tr( "Error while executing ntpdate" ) ); |
214 | |||
215 | // Re-enable set time buttons & change app caption to indicate time update is happening | ||
216 | ntpTab->setNTPBtnEnabled( true ); | ||
217 | timeTab->setNTPBtnEnabled( true ); | ||
218 | setCaption( tr( "SystemTime" ) ); | ||
209 | } | 219 | } |
210 | } | 220 | } |
211 | 221 | ||
212 | bool MainWindow::ntpDelayElapsed() | 222 | bool MainWindow::ntpDelayElapsed() |
213 | { | 223 | { |
214 | // Determine if time elapsed is greater than time delay | 224 | // Determine if time elapsed is greater than time delay |
@@ -295,12 +305,17 @@ void MainWindow::slotNtpOutput( OProcess *, char *buffer, int buflen ) | |||
295 | 305 | ||
296 | void MainWindow::slotNtpFinished( OProcess *p ) | 306 | void MainWindow::slotNtpFinished( OProcess *p ) |
297 | { | 307 | { |
298 | QString output; | 308 | QString output; |
299 | QDateTime dt = QDateTime::currentDateTime(); | 309 | QDateTime dt = QDateTime::currentDateTime(); |
300 | 310 | ||
311 | // Re-enable set time buttons & change app caption to indicate time update is happening | ||
312 | ntpTab->setNTPBtnEnabled( true ); | ||
313 | timeTab->setNTPBtnEnabled( true ); | ||
314 | setCaption( tr( "SystemTime" ) ); | ||
315 | |||
301 | // Verify run was successful | 316 | // Verify run was successful |
302 | if ( p->exitStatus() != 0 || !p->normalExit() ) | 317 | if ( p->exitStatus() != 0 || !p->normalExit() ) |
303 | { | 318 | { |
304 | if ( isVisible() && ntpInteractive ) | 319 | if ( isVisible() && ntpInteractive ) |
305 | { | 320 | { |
306 | output = tr( "Error while getting time from\n server: " ); | 321 | output = tr( "Error while getting time from\n server: " ); |
@@ -348,13 +363,13 @@ void MainWindow::slotNtpFinished( OProcess *p ) | |||
348 | 363 | ||
349 | if ( lastNtp && lastLookup > 0 && secsSinceLast > 60 * ntpDelay ) | 364 | if ( lastNtp && lastLookup > 0 && secsSinceLast > 60 * ntpDelay ) |
350 | { | 365 | { |
351 | QString grpname = QString( "lookup_" ).append( QString::number( lookupCount ) ); | 366 | QString grpname = QString( "lookup_" ).append( QString::number( lookupCount ) ); |
352 | config.setGroup( grpname ); | 367 | config.setGroup( grpname ); |
353 | lookupCount++; | 368 | lookupCount++; |
354 | predictTab->setShiftPerSec( timeShift / secsSinceLast ); | 369 | predictTab->setShiftPerSec( (int)(timeShift / secsSinceLast) ); |
355 | config.writeEntry( "secsSinceLast", secsSinceLast ); | 370 | config.writeEntry( "secsSinceLast", secsSinceLast ); |
356 | config.writeEntry( "timeShift", QString::number( timeShift ) ); | 371 | config.writeEntry( "timeShift", QString::number( timeShift ) ); |
357 | config.setGroup( "lookups" ); | 372 | config.setGroup( "lookups" ); |
358 | config.writeEntry( "count", lookupCount ); | 373 | config.writeEntry( "count", lookupCount ); |
359 | config.writeEntry( "lastNtp", TRUE ); | 374 | config.writeEntry( "lastNtp", TRUE ); |
360 | } | 375 | } |