-rw-r--r-- | noncore/tools/clock/clock.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp index e681650..0ad69d9 100644 --- a/noncore/tools/clock/clock.cpp +++ b/noncore/tools/clock/clock.cpp @@ -53,24 +53,26 @@ #include <qcombobox.h> #include <qcheckbox.h> #include <qgroupbox.h> #include <qlayout.h> #include <qhbox.h> #include <qlineedit.h> static const int sw_prec = 2; static const int magic_daily = 2292922; static const int magic_countdown = 2292923; static const int magic_snooze = 2292924; static const int magic_playmp = 2292925; +static const char ALARM_CLOCK_CHANNEL [] = "QPE/Application/clock"; +static const char ALARM_CLOCK_MESSAGE [] = "alarm(QDateTime,int)"; #include <math.h> #include <unistd.h> #include <sys/types.h> #include <pthread.h> static void toggleScreenSaver( bool on ) { QCopEnvelope e( "QPE/System", "setScreenSaverMode(int)" ); e << ( on ? QPEApplication::Enable : QPEApplication::DisableSuspend ); @@ -118,33 +120,33 @@ AlarmDlg::setText(const QString &txt) alarmDlgLabel->setText(txt); } // // // void AlarmDlg::checkSnooze(void) { // // Ensure we have only one snooze alarm. // - AlarmServer::deleteAlarm(QDateTime(), "QPE/Application/clock", - "alarm(QDateTime,int)", magic_snooze); + AlarmServer::deleteAlarm(QDateTime(), ALARM_CLOCK_CHANNEL, + ALARM_CLOCK_MESSAGE, magic_snooze); if (snoozeTime->value() > 0) { QDateTime wake = QDateTime::currentDateTime(); wake = wake.addSecs(snoozeTime->value() * 60); // snoozeTime in minutes - AlarmServer::addAlarm(wake, "QPE/Application/clock", - "alarm(QDateTime,int)", magic_snooze); + AlarmServer::addAlarm(wake, ALARM_CLOCK_CHANNEL, + ALARM_CLOCK_MESSAGE, magic_snooze); } accept(); } void AlarmDlg::changePrompt(int mins) { cmdOk->setText(mins > 0 ? tr("Snooze") : tr("Close") ); } @@ -562,25 +564,25 @@ void Clock::dailyEdited() scheduleApplyDailyAlarm(); else applyAlarmTimer->stop(); } void Clock::enableDaily( bool ) { scheduleApplyDailyAlarm(); } void Clock::appMessage( const QCString &msg, const QByteArray &data ) { - if ( msg == "alarm(QDateTime,int)" ) { + if ( msg == ALARM_CLOCK_MESSAGE ) { QDataStream ds(data,IO_ReadOnly); QDateTime when; int t; ds >> when >> t; QTime theTime( when.time() ); if ( t == magic_daily || t == magic_snooze || t == magic_playmp ) { QString msg = tr("<b>Daily Alarm:</b><p>"); QString ts; if ( ampm ) { bool pm = FALSE; int h = theTime.hour(); @@ -707,50 +709,53 @@ void Clock::applyDailyAlarm() if (hour == 12) hour = 0; if (dailyAmPm->currentItem() == 1 ) hour += 12; } Config config( "Clock" ); config.setGroup( "Daily Alarm" ); config.writeEntry( "Hour", hour ); config.writeEntry( "Minute", minute ); bool enableDaily = dailyEnabled->isChecked(); - bool wasSound = config.readEntry( "SoundEnabled" ); bool isSound = sndCheck->isChecked(); - int oldMagic = wasSound ? magic_playmp : magic_daily; int isMagic = isSound ? magic_playmp : magic_daily; config.writeEntry( "Enabled", enableDaily ); config.writeEntry( "SoundEnabled", isSound ); QString exclDays; int exclCount = 0; for ( int i = 1; i <= 7; i++ ) { if ( !dayBtn[dayBtnIdx(i)]->isOn() ) { if ( !exclDays.isEmpty() ) exclDays += ","; exclDays += QString::number( i ); exclCount++; } } config.writeEntry( "ExcludeDays", exclDays ); - /* try to delete both */ - AlarmServer::deleteAlarm(QDateTime(), "QPE/Application/clock", - "alarm(QDateTime,int)", oldMagic); + /* try to delete all */ + AlarmServer::deleteAlarm(QDateTime(), ALARM_CLOCK_CHANNEL, + ALARM_CLOCK_MESSAGE, magic_daily); + AlarmServer::deleteAlarm(QDateTime(), ALARM_CLOCK_CHANNEL, + ALARM_CLOCK_MESSAGE, magic_playmp ); + AlarmServer::deleteAlarm(QDateTime(), ALARM_CLOCK_CHANNEL, + ALARM_CLOCK_MESSAGE, magic_snooze); + if ( enableDaily && exclCount < 7 ) { QDateTime when = nextAlarm( hour, minute ); - AlarmServer::addAlarm(when, "QPE/Application/clock", - "alarm(QDateTime,int)", isMagic); + AlarmServer::addAlarm(when, ALARM_CLOCK_CHANNEL, + ALARM_CLOCK_MESSAGE, isMagic); } } bool Clock::validDaysSelected(void) { for ( int i = 1; i <= 7; i++ ) { if ( dayBtn[dayBtnIdx(i)]->isOn() ) { return TRUE; } } return FALSE; } |