From 95596f6d0e9e484b5b5e0dbe29b8c674be8fa3bc Mon Sep 17 00:00:00 2001 From: pavelpa Date: Wed, 20 Jan 2010 16:02:09 +0000 Subject: [PATCH] implemented some error handling --- src/gui/alarmdialog.cpp | 27 ++++++++++++++++++++------- src/gui/mainwindow.cpp | 9 +++++++-- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/gui/alarmdialog.cpp b/src/gui/alarmdialog.cpp index 88ff0e9..e54bc6f 100644 --- a/src/gui/alarmdialog.cpp +++ b/src/gui/alarmdialog.cpp @@ -40,10 +40,18 @@ AlarmDialog::AlarmDialog(int argc, char *argv[], QWidget *aParent) 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()); + try + { + Event event = Event::getById(mEventId,confId); + message->setText(event.title()); + setWindowTitle(event.title()); + } + catch(OrmNoObjectException*) + { + message->setText(QString("No such event in the DB: %1").arg(QString::number(mEventId))); + setWindowTitle("ERROR"); + } + catch(...) {} // TODO: implement } void AlarmDialog::runApp() @@ -66,9 +74,14 @@ void AlarmDialog::snooze() 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"); + try + { + Event event = Event::getById(mEventId,confId); + event.setHasAlarm(false); + event.update("alarm"); + } + catch(OrmNoObjectException*) {} // TODO: implement + catch(...) {} // just close dialog qApp->quit(); } diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 5a6d643..709859a 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -119,8 +119,13 @@ MainWindow::MainWindow(int aEventId, QWidget *aParent) // this is used in case Alarm Dialog request application to start if(aEventId) { - EventDialog dialog(aEventId,this); - dialog.exec(); + try + { + EventDialog dialog(aEventId,this); + dialog.exec(); + } + catch(OrmNoObjectException*) {} // just start application + catch(...) {} // just start application } } -- 2.39.5