summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/clock/clock.cpp29
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
@@ -41,48 +41,50 @@
#include <qlcdnumber.h>
#include <qslider.h>
#include <qlabel.h>
#include <qtimer.h>
#include <qpushbutton.h>
#include <qtoolbutton.h>
#include <qpainter.h>
#include <qmessagebox.h>
#include <qdatetime.h>
#include <qspinbox.h>
#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 );
}
static void startPlayer()
{
Config config( "qpe" );
config.setGroup( "Time" );
sleep(15);
QCopEnvelope e( "QPE/Application/opieplayer", "setDocument(QString)" );
e << config.readEntry( "mp3File", "" );
}
class MySpinBox : public QSpinBox
@@ -106,57 +108,57 @@ AlarmDlg::AlarmDlg(QWidget *parent, const char *name, bool modal,
connect(snoozeTime, SIGNAL(valueChanged(int)), this,
SLOT(changePrompt(int)));
connect(cmdOk, SIGNAL(clicked()), this, SLOT(checkSnooze()));
}
//
//
//
void
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") );
}
Clock::Clock( QWidget * parent, const char *, WFlags f )
: ClockBase( parent, "clock", f ), swatch_splitms(99), init(FALSE) // No tr
{
alarmDlg = 0;
swLayout = 0;
dayBtn = new QToolButton * [7];
Config config( "qpe" );
config.setGroup("Time");
ampm = config.readBoolEntry( "AMPM", TRUE );
@@ -550,49 +552,49 @@ void Clock::setDailyAmPm(int)
{
scheduleApplyDailyAlarm();
}
void Clock::setDailyMinute( int m )
{
dailyMinute->setPrefix( m <= 9 ? "0" : "" );
}
void Clock::dailyEdited()
{
if ( spinBoxValid(dailyMinute) && spinBoxValid(dailyHour) )
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();
if (h > 12) {
h -= 12;
pm = TRUE;
}
if (h == 0) h = 12;
ts.sprintf( "%02d:%02d %s", h, theTime.minute(), pm?"PM":"AM" );
} else {
ts.sprintf( "%02d:%02d", theTime.hour(), theTime.minute() );
}
msg += ts;
if (t == magic_playmp ) {
@@ -695,74 +697,77 @@ void Clock::scheduleApplyDailyAlarm()
applyAlarmTimer->start( 5000, TRUE );
}
void Clock::applyDailyAlarm()
{
if ( !init )
return;
applyAlarmTimer->stop();
int minute = dailyMinute->value();
int hour = dailyHour->value();
if ( ampm ) {
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;
}
void Clock::closeEvent( QCloseEvent *e )
{
if (dailyEnabled->isChecked()) {
if (!validDaysSelected()) {
QMessageBox::warning(this, tr("Select Day"),
tr("Daily alarm requires at least\none day to be selected."));
return;
}
}
applyDailyAlarm();