/**************************************************************************
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-08-12
- @version 0.1.1
+ @date 2011-04-05
+ @version 0.2.1
The timer class of KitchenAlert.
public:
explicit Timer(QObject *parent = 0);
+ /*! Returns the original time in seconds
+ When the alert restarts, it is set to this time.
+ */
+ int getOriginalTimeInSeconds();
- 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);
+
+ /*! Loads a timer from a file
+ @param filename The file from which to load.
+ */
bool load(QString filename);
+ /*! Returns wheter the alert is running or not.
+ Alerting timers are considered running. */
+ bool isRunning();
-signals:
+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);
+
QTimer _actualTimer;
bool alerting_;
+ QString filenameWithPath_; /*! Name (with full path) of the file where the timer was loaded from. Empty if timer not loaded from file. */
+
QModelIndex whereAmI();
+ AlertSound alertSound_;
+
+
+
+
+
};
#endif // TIMER_H