aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/datetime/appointment.h1
-rw-r--r--include/datetime/settings-live.h3
-rw-r--r--include/datetime/settings-shared.h13
-rw-r--r--include/datetime/settings.h3
-rw-r--r--include/datetime/snap.h9
5 files changed, 28 insertions, 1 deletions
diff --git a/include/datetime/appointment.h b/include/datetime/appointment.h
index 4778293..2e406a2 100644
--- a/include/datetime/appointment.h
+++ b/include/datetime/appointment.h
@@ -39,6 +39,7 @@ public:
std::string summary;
std::string url;
std::string uid;
+ std::string audio_url;
bool has_alarms = false;
DateTime begin;
DateTime end;
diff --git a/include/datetime/settings-live.h b/include/datetime/settings-live.h
index 202c998..4db2d40 100644
--- a/include/datetime/settings-live.h
+++ b/include/datetime/settings-live.h
@@ -55,6 +55,9 @@ private:
void update_show_year();
void update_time_format_mode();
void update_timezone_name();
+ void update_alarm_sound();
+ void update_alarm_volume();
+ void update_alarm_duration();
GSettings* m_settings;
diff --git a/include/datetime/settings-shared.h b/include/datetime/settings-shared.h
index 17a8ef0..bfddd88 100644
--- a/include/datetime/settings-shared.h
+++ b/include/datetime/settings-shared.h
@@ -30,6 +30,16 @@ typedef enum
}
TimeFormatMode;
+typedef enum
+{
+ ALARM_VOLUME_VERY_QUIET,
+ ALARM_VOLUME_QUIET,
+ ALARM_VOLUME_NORMAL,
+ ALARM_VOLUME_LOUD,
+ ALARM_VOLUME_VERY_LOUD
+}
+AlarmVolume;
+
#define SETTINGS_INTERFACE "com.canonical.indicator.datetime"
#define SETTINGS_SHOW_CLOCK_S "show-clock"
#define SETTINGS_TIME_FORMAT_S "time-format"
@@ -45,5 +55,8 @@ TimeFormatMode;
#define SETTINGS_SHOW_DETECTED_S "show-auto-detected-location"
#define SETTINGS_LOCATIONS_S "locations"
#define SETTINGS_TIMEZONE_NAME_S "timezone-name"
+#define SETTINGS_ALARM_SOUND_S "alarm-default-sound"
+#define SETTINGS_ALARM_VOLUME_S "alarm-default-volume"
+#define SETTINGS_ALARM_DURATION_S "alarm-duration-minutes"
#endif // INDICATOR_DATETIME_SETTINGS_SHARED
diff --git a/include/datetime/settings.h b/include/datetime/settings.h
index ce234d9..a941f05 100644
--- a/include/datetime/settings.h
+++ b/include/datetime/settings.h
@@ -56,6 +56,9 @@ public:
core::Property<bool> show_year;
core::Property<TimeFormatMode> time_format_mode;
core::Property<std::string> timezone_name;
+ core::Property<std::string> alarm_sound;
+ core::Property<AlarmVolume> alarm_volume;
+ core::Property<int> alarm_duration;
};
} // namespace datetime
diff --git a/include/datetime/snap.h b/include/datetime/snap.h
index a493772..9b45b3f 100644
--- a/include/datetime/snap.h
+++ b/include/datetime/snap.h
@@ -21,6 +21,8 @@
#define INDICATOR_DATETIME_SNAP_H
#include <datetime/appointment.h>
+#include <datetime/clock.h>
+#include <datetime/settings.h>
#include <memory>
#include <functional>
@@ -35,13 +37,18 @@ namespace datetime {
class Snap
{
public:
- Snap();
+ Snap(const std::shared_ptr<Clock>& clock,
+ const std::shared_ptr<const Settings>& settings);
virtual ~Snap();
typedef std::function<void(const Appointment&)> appointment_func;
void operator()(const Appointment& appointment,
appointment_func show,
appointment_func dismiss);
+
+private:
+ const std::shared_ptr<Clock> m_clock;
+ const std::shared_ptr<const Settings> m_settings;
};
} // namespace datetime