Diffstat (limited to 'noncore/settings/netsystemtime/settime.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/netsystemtime/settime.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp index 2cef6e8..b456012 100644 --- a/noncore/settings/netsystemtime/settime.cpp +++ b/noncore/settings/netsystemtime/settime.cpp @@ -189,17 +189,31 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) this, SLOT(commitTime())); QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), timeButton, SLOT( slotTzChange( const QString& ) ) ); QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), SLOT( tzChange( const QString& ) ) ); + + QObject::connect( weekStartCombo, SIGNAL( activated ( int )), + SLOT(updateSystem(int ) )); + QObject::connect( ampmCombo, SIGNAL( activated ( int )), + SLOT(updateSystem(int ) )); + QObject::connect( dateFormatCombo, SIGNAL( activated ( int )), + SLOT(updateSystem(int ) )); + QObject::connect( clockAppletCombo, SIGNAL( activated ( int )), + SLOT(updateSystem(int ) )); } SetDateTime::~SetDateTime() { + writeSettings(); + +} +void SetDateTime::writeSettings() +{ Config config("qpe"); config.setGroup( "Time" ); config.writeEntry( "AMPM", ampmCombo->currentItem() ); config.writeEntry( "MONDAY", weekStartCombo->currentItem() ); config.setGroup( "Date" ); DateFormat df = date_formats[dateFormatCombo->currentItem()]; @@ -244,16 +258,22 @@ void SetDateTime::setTime(QDateTime dt) cfg.writeEntry("time", t ); myTv.tv_usec = 0; if ( myTv.tv_sec != -1 ) ::settimeofday( &myTv, 0 ); Global::writeHWClock(); +} + +void SetDateTime::updateSystem(int i) +{ + qDebug("SetDateTime::updateSystem(int %i)",i); + writeSettings(); // since time has changed quickly load in the datebookdb // to allow the alarm server to get a better grip on itself // (example re-trigger alarms for when we travel back in time) - DateBookDB db; + // DateBookDB db; // set the timezone for everyone else... QCopEnvelope setTimeZone( "QPE/System", "timeChange(QString)" ); setTimeZone << tz->currentZone(); // AM/PM setting and notify time changed @@ -273,23 +293,25 @@ void SetDateTime::setTime(QDateTime dt) enableScreenSaver << -1 << -1 << -1; } void SetDateTime::tzChange( const QString &tz ) { + qDebug("SetDateTime::tzChange"); // set the TZ get the time and leave gracefully... QString strSave; strSave = getenv( "TZ" ); setenv( "TZ", tz, 1 ); QDate d = QDate::currentDate(); // reset the time. if ( !strSave.isNull() ) { setenv( "TZ", strSave, 1 ); } dateButton->setDate( d ); + updateSystem(); } void SetDateTime::formatChanged(int i) { dateButton->setDateFormat(date_formats[i]); } @@ -427,12 +449,13 @@ void SetTime::checkedPM( int c ) hour = show_hour; } void SetTime::slotTzChange( const QString &tz ) { + qDebug("SetTime::slotTzChange"); // set the TZ get the time and leave gracefully... QString strSave; strSave = getenv( "TZ" ); setenv( "TZ", tz, 1 ); QTime t = QTime::currentTime(); |