aboutsummaryrefslogtreecommitdiff
path: root/src/snap.cpp
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.filho@canonical.com>2016-04-18 23:42:53 -0300
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-08-29 14:37:39 +0200
commitbb7b522ef52b240718f33f37b577bacc4fea2db6 (patch)
tree47c2330884f01b896a40e14311c1ac71f8be169f /src/snap.cpp
parentd80df1bbd068f97457575fcd20f9664f2a5d11c4 (diff)
downloadayatana-indicator-datetime-bb7b522ef52b240718f33f37b577bacc4fea2db6.tar.gz
ayatana-indicator-datetime-bb7b522ef52b240718f33f37b577bacc4fea2db6.tar.bz2
ayatana-indicator-datetime-bb7b522ef52b240718f33f37b577bacc4fea2db6.zip
Post message on messaging menu if the notification get timeout.
Diffstat (limited to 'src/snap.cpp')
-rw-r--r--src/snap.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/snap.cpp b/src/snap.cpp
index 259592e..5c530be 100644
--- a/src/snap.cpp
+++ b/src/snap.cpp
@@ -122,8 +122,9 @@ public:
const auto minutes = std::chrono::minutes(m_settings->alarm_duration.get());
ain::Builder b;
b.set_body (appointment.summary);
- b.set_icon_name (appointment.is_ubuntu_alarm() ? "alarm-clock" : "reminder");
+ b.set_icon_name (appointment.is_ubuntu_alarm() ? "alarm-clock" : "appointment");
b.add_hint (ain::Builder::HINT_NONSHAPED_ICON);
+ b.set_start_time (appointment.begin.to_unix());
const char * timefmt;
if (is_locale_12h()) {
@@ -152,6 +153,9 @@ public:
b.add_hint (ain::Builder::HINT_AFFIRMATIVE_HINT);
b.add_action ("ok", _("OK"));
b.add_action ("snooze", _("Snooze"));
+ } else {
+ b.add_hint (ain::Builder::HINT_INTERACTIVE);
+ b.add_action ("ok", _("OK"));
}
// add 'sound', 'haptic', and 'awake' objects to the capture so
@@ -161,10 +165,14 @@ public:
(const std::string& action){
if (action == "snooze")
snooze(appointment, alarm);
- else
+ else if (action == "ok")
ok(appointment, alarm);
});
+ b.set_missed_click_callback([appointment, alarm, ok](){
+ ok(appointment, alarm);
+ });
+
const auto key = m_engine->show(b);
if (key)
m_notifications.insert (key);