From cfd615d31470924c84e073c4e97bacf51423fe50 Mon Sep 17 00:00:00 2001 From: pavelpa Date: Tue, 19 Jan 2010 15:42:59 +0000 Subject: [PATCH] work on alarm --- src/alarm/alarm.h | 2 +- src/gui/alarmdialog.cpp | 24 +++++++++++++++++++++++- src/gui/alarmdialog.h | 1 + src/sql/sqlengine.cpp | 1 - src/src.pro | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/alarm/alarm.h b/src/alarm/alarm.h index c68b554..61834e7 100644 --- a/src/alarm/alarm.h +++ b/src/alarm/alarm.h @@ -9,7 +9,7 @@ extern "C" #include } -#define APPID "alarm-example" +#define APPID "fosdem-alarm" class Alarm : public QObject { diff --git a/src/gui/alarmdialog.cpp b/src/gui/alarmdialog.cpp index 413ca89..d1411f9 100644 --- a/src/gui/alarmdialog.cpp +++ b/src/gui/alarmdialog.cpp @@ -2,9 +2,14 @@ #include #include +#include + +#include const int SNOOZE_TIME = 5; // in minutes +const int confId = 1; + AlarmDialog::AlarmDialog(int argc, char *argv[], QWidget *aParent) : QDialog(aParent) , mEventId(0) @@ -26,15 +31,23 @@ AlarmDialog::AlarmDialog(int argc, char *argv[], QWidget *aParent) mAlarmId = QString(argv[2]).toInt(); } - connect(stopPB, SIGNAL(clicked()), qApp, SLOT(quit())); + connect(stopPB, SIGNAL(clicked()), SLOT(closeDialog())); connect(appPB, SIGNAL(clicked()), SLOT(runApp())); connect(snoozePB, SIGNAL(clicked()), SLOT(snooze())); + QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE"); + database.setDatabaseName(QDir::homePath() + "/.fosdem/fosdem.sqlite"); + database.open(); + + Event event = Event::getById(mEventId,confId); message->setText(QString(argv[1]).append("-").append(QString(argv[2]))); + message->setText(event.title()); + setWindowTitle(event.title()); } void AlarmDialog::runApp() { + qWarning("runApp(): NOT IMPLEMENTED YET"); } void AlarmDialog::snooze() @@ -47,3 +60,12 @@ void AlarmDialog::snooze() qApp->quit(); } +void AlarmDialog::closeDialog() +{ + // before closing the dialog, it is necessary to remove alarm flag from the DB + Event event = Event::getById(mEventId,confId); + event.setHasAlarm(false); + event.update("alarm"); + qApp->quit(); +} + diff --git a/src/gui/alarmdialog.h b/src/gui/alarmdialog.h index c77031a..58d461e 100644 --- a/src/gui/alarmdialog.h +++ b/src/gui/alarmdialog.h @@ -13,6 +13,7 @@ class AlarmDialog : public QDialog, Ui::AlarmDialog private slots: void runApp(); void snooze(); + void closeDialog(); private: int mEventId; // event ID obtained from 'schedule' int mAlarmId; // cookie assigned by alarmd diff --git a/src/sql/sqlengine.cpp b/src/sql/sqlengine.cpp index 73c4497..e135f43 100644 --- a/src/sql/sqlengine.cpp +++ b/src/sql/sqlengine.cpp @@ -51,7 +51,6 @@ void SqlEngine::initialize() if(!QDir::home().exists(".fosdem")) QDir::home().mkdir(".fosdem"); databaseName = QDir::homePath() + "/.fosdem/" + "fosdem.sqlite"; -qDebug()<