elm_layout_signal_callback_add(layout, "mouse,clicked,*", "rect.event",
(Edje_Signal_Cb) makeCallback(&AlarmWidget::onContentPressed), this);
- elm_object_part_text_set(layout, PART_TIME, formatTime(m_Alarm->getDate(), TIME_SIZE));
- elm_object_part_text_set(layout, PART_REPEAT, formatRepeat(m_Alarm->getRepeat()));
-
Evas_Object *check = elm_check_add(layout);
evas_object_propagate_events_set(check, EINA_FALSE);
- elm_check_state_set(check, m_Alarm->isEnabled());
elm_object_style_set(check, STYLE_CHECK_ALARM_ON_OFF);
elm_object_part_content_set(layout, PART_ON_OFF, check);
evas_object_smart_callback_add(check, "changed", makeCallback(&AlarmWidget::onCheckedPressed), this);
void AlarmWidget::updateContentLayout(int changes)
{
+ int repeatMask = m_Alarm->getRepeat();
if (changes & Alarm::ChangedDate) {
elm_object_part_text_set(m_Layout, PART_TIME, formatTime(m_Alarm->getDate(), TIME_SIZE));
+ if (!repeatMask) {
+ elm_object_part_text_set(m_Layout, PART_REPEAT, formatDate(m_Alarm->getDate()).c_str());
+ }
}
if (changes & Alarm::ChangedRepeat) {
- elm_object_part_text_set(m_Layout, PART_REPEAT, formatRepeat(m_Alarm->getRepeat()));
+ if (repeatMask) {
+ elm_object_part_text_set(m_Layout, PART_REPEAT, formatRepeat(m_Alarm->getRepeat()));
+ }
}
if (changes & Alarm::ChangedEnabled) {
Evas_Object *check = elm_object_part_content_get(m_Layout, PART_ON_OFF);
m_Layout = createEmptyLayout(parent);
} else {
m_Layout = createContentLayout(parent);
+ updateContentLayout(Alarm::ChangedAll);
}
elm_object_part_content_set(parent, "elm.swallow.content", m_Layout);