Added saving and loading of timers
[kitchenalert] / src / timer.h
index abe6666..ff2c22b 100644 (file)
@@ -1,7 +1,7 @@
 /**************************************************************************
         KitchenAlert
 
-        Copyright (C) 2010  Heli Hyvättinen
+        Copyright (C) 2010-2011  Heli Hyvättinen
 
         This file is part of KitchenAlert.
 
 
 #include <QModelIndex>
 
-
+#include "alertsound.h"
 
 /*! The timer class of KitchenAlert'
 
   @author Heli Hyvättinen
-  @date 2010-07-20
-  @version 0.1
+  @date 2011-04-05
+  @version 0.2.1
 
 The timer class of KitchenAlert.
 
@@ -52,28 +52,66 @@ class Timer : public QObject
 public:
     explicit Timer(QObject *parent = 0);
 
-    int getOriginalTimeInSeconds();
+    /*! Returns the original time in seconds
+        When the alert restarts, it is set to this time.
+    */
+     int getOriginalTimeInSeconds();
+
+    /*! Sets the original time in seconds */
     void setOriginalTimeInSeconds(int seconds);
 
+    /*! Returns the time remaining before the alert in seconds       */
     int getRemainingTimeInSeconds();
 
+    /*! Returns the alert text */
     QString getAlertText();
+
+    /*! Sets the alert text */
     void setAlertText(QString text);
 
+    /*! Returns whether the timer is alerting */
     bool isAlerting();
 
+    /*! Saves the timer to a file
+      @param filename The file to which to save.
+    */
+    bool save(QString filename);
 
-signals:
+    /*! Loads a timer from a file
+      @param filename The file from which to load.
+    */
+    bool load(QString filename);
 
+
+signals:
+    /*! Emitted when the remaining time in the timer has changed */
     void remainingTimeChanged();
+
+    /*! Emitted when the timer alerts */
     void alert(QModelIndex indexOfAlerter);
 
 public slots:
+    /*! The internal QTimer is connected to this slot */
     void secondPassed();
+
+    /*! Start the timer */
     void start();
+
+    /*! Stop the timer*/
     void stop();
+
+    /*! Snooze the timer
+        Currently sets the timer to alert again in two minutes.
+    */
     void snooze();
 
+    /*! Switches to use the default sound (and saves it to settings */
+    void enableDefaultSound();
+
+    /*! Changes the sound file used and saves it to settings */
+    void changeAlertSound(QString filename);
+
+
 
 
 private:
@@ -85,6 +123,8 @@ private:
 
     QModelIndex whereAmI();
 
+    AlertSound alertSound_;
+
 };
 
 #endif // TIMER_H