aboutsummaryrefslogtreecommitdiff
path: root/src/engine-eds.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine-eds.cpp')
-rw-r--r--src/engine-eds.cpp22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/engine-eds.cpp b/src/engine-eds.cpp
index bd94251..68e2bdd 100644
--- a/src/engine-eds.cpp
+++ b/src/engine-eds.cpp
@@ -604,14 +604,13 @@ private:
}
};
- static std::string get_alarm_text(ECalComponentAlarm * alarm, bool * hasText)
+ static std::string get_alarm_text(ECalComponentAlarm * alarm)
{
std::string ret;
auto action = e_cal_component_alarm_get_action(alarm);
if (action == E_CAL_COMPONENT_ALARM_DISPLAY)
{
- *hasText = true;
auto text = e_cal_component_alarm_get_description(alarm);
if (text != nullptr)
@@ -628,14 +627,14 @@ private:
return ret;
}
- static std::string get_alarm_sound_url(ECalComponentAlarm * alarm, bool * hasSound)
+ static std::string get_alarm_sound_url(ECalComponentAlarm * alarm, const std::string & default_sound)
{
std::string ret;
auto action = e_cal_component_alarm_get_action(alarm);
if (action == E_CAL_COMPONENT_ALARM_AUDIO)
{
- *hasSound = true;
+ ret = default_sound;
ICalAttach *attach = nullptr;
auto attachments = e_cal_component_alarm_get_attachments(alarm);
@@ -1138,23 +1137,16 @@ private:
DateTime{gtz, e_cal_component_alarm_instance_get_occur_end(ai)});
auto trigger_time = DateTime{gtz, e_cal_component_alarm_instance_get_time(ai)};
auto& alarm = alarms[instance_time][trigger_time];
- bool hasText = false;
- bool hasSound = false;
-
if (alarm.text.empty())
- alarm.text = get_alarm_text(a, &hasText);
+ alarm.text = get_alarm_text(a);
if (alarm.audio_url.empty())
- alarm.audio_url = get_alarm_sound_url(a, &hasSound);
+ alarm.audio_url = get_alarm_sound_url(a, baseline.is_ubuntu_alarm() ?
+ ALARM_DEFAULT_SOUND : CALENDAR_DEFAULT_SOUND);
if (!alarm.time.is_set())
alarm.time = trigger_time;
- if (hasText)
- alarm.type = alarm.type | Alarm::TEXT;
- if (hasSound)
- alarm.type = alarm.type | Alarm::SOUND;
-
e_cal_component_alarm_free(a);
}
@@ -1166,7 +1158,7 @@ private:
appointment.alarms.reserve(i.second.size());
for (auto& j : i.second)
{
- if ((j.second.type & Alarm::TEXT) || (j.second.type & Alarm::SOUND))
+ if (j.second.has_text() || (j.second.has_sound()))
appointment.alarms.push_back(j.second);
}
subtask->task->appointments.push_back(appointment);