X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fkitchenalertmainwindow.cpp;fp=src%2Fkitchenalertmainwindow.cpp;h=b2dc0758c7a0ef4a2dc0958c5c81689e695feba3;hb=e3d78d642357c3cbd65564b4784088d548b1ba6a;hp=f5fbfa52f7935b506a62e4e4d3013535e5b3f6c5;hpb=73af518a176ebf08522c7c843bef52d64be82578;p=kitchenalert diff --git a/src/kitchenalertmainwindow.cpp b/src/kitchenalertmainwindow.cpp index f5fbfa5..b2dc075 100644 --- a/src/kitchenalertmainwindow.cpp +++ b/src/kitchenalertmainwindow.cpp @@ -35,8 +35,6 @@ #include "createtimersequencedialog.h" #include "selectsounddialog.h" - - #include #include @@ -45,7 +43,9 @@ #include #include - +#include +#include +#include "stickydialog.h" KitchenAlertMainWindow::KitchenAlertMainWindow(QWidget *parent) : @@ -99,6 +99,13 @@ KitchenAlertMainWindow::KitchenAlertMainWindow(QWidget *parent) : QAction * p_AboutAction = new QAction(tr("About"),this); connect(p_AboutAction,SIGNAL(triggered()),this,SLOT(openAbout())); menuBar()->addAction(p_AboutAction); + + QAction * p_StickyAction = new QAction(tr("Edit sticky timers"),this); + connect(p_StickyAction, SIGNAL(triggered()),this,SLOT(openStickyDialog())); + menuBar()->addAction(p_StickyAction); + + loadStickies(); + } KitchenAlertMainWindow::~KitchenAlertMainWindow() @@ -486,22 +493,12 @@ void KitchenAlertMainWindow::loadTimer() // filename.append(".kitchenalert"); // } - QString errorTitle(tr("Failed to load file ")); - errorTitle.append(filename); - - Timer * p_timer = new Timer(); - if (!p_timer->load(filename)) - { - QMessageBox::critical(this,errorTitle,tr("Unable to open file or not a valid KitchenAlert timer file.")); - delete p_timer; - return; - } + loadTimer(filename,true); //timer gets started - initializeTimer(p_timer); } } -void KitchenAlertMainWindow::initializeTimer(Timer *p_timer) +void KitchenAlertMainWindow::initializeTimer(Timer *p_timer, bool startImmediately) { //connect alert @@ -526,9 +523,53 @@ disableSelectionDependentButtons(); QList timerList; timerList.append(p_timer); -model_.addTimers(timerList,true); //timer gets started in the model +model_.addTimers(timerList,startImmediately); //timer gets started in the model if startImmediately is true (default) + +} + +void KitchenAlertMainWindow::openStickyDialog() +{ + StickyDialog stickyDialog(defaultSaveDirectory_); + + + if (stickyDialog.exec()== QDialog::Accepted) + { + QSettings settings; + settings.setValue("sticky",stickyDialog.getStickyList()); + } +} + +bool KitchenAlertMainWindow::loadStickies() +{ + bool allSuccess = true; + + QSettings settings; + + QStringList stickies = settings.value("sticky").toStringList(); + + foreach (QString stickyFileName, stickies) + { + if (!loadTimer(stickyFileName,false)) //initializes the timer without starting it + allSuccess = false; + } + + return allSuccess; } +bool KitchenAlertMainWindow::loadTimer(QString filename, bool startImmediately) +{ + QString errorTitle(tr("Failed to load file ")); + errorTitle.append(filename); + Timer * p_timer = new Timer(); + if (!p_timer->load(filename)) + { + QMessageBox::critical(this,errorTitle,tr("Unable to open file or not a valid KitchenAlert timer file.")); + delete p_timer; + return false; + } + initializeTimer(p_timer,startImmediately); + return true; +}