void ShowDeletePopup();
private:
+ struct ItemData;
static Elm_Genlist_Item_Class alarm_itc;
static Evas_Object *ContentGet(void *data, Evas_Object *obj, const char *part);
static char *TextGet(void *data, Evas_Object *obj, const char *part);
static void SetItemCheckboxStatus(Elm_Object_Item *item, bool is_snoozed);
static void SetItemActiveStatus(Elm_Object_Item *it, bool active);
static void SetCheckboxStatus(Evas_Object *check, bool is_snoozed);
+ static void UpdateItemData(ItemData *data);
};
}
/**
* Genlist data
*/
-struct ItemData {
+struct AlarmListView::ItemData {
/** Owner of data */
AlarmListView *instance;
/** Display text */
elm_object_item_signal_emit(it, "alarm,state,disabled", "clock");
}
+void AlarmListView::UpdateItemData(ItemData *data)
+{
+ if (!data) return;
+ elm_genlist_item_update(data->it);
+
+ SetItemCheckboxStatus(data->it, data->snoozed);
+ SetItemActiveStatus(data->it, data->active);
+ SetItemRepeatIconVisibility(data->it, (data->flags.OnAny(WeekDay::ALL_WEEK)));
+}
+
void AlarmListView::ItemRealized(void *data, Evas_Object *obj, void *info)
{
Elm_Object_Item *it = static_cast<Elm_Object_Item*>(info);
ItemData *id = static_cast<ItemData*>(elm_object_item_data_get(it));
- SetItemCheckboxStatus(it, id->snoozed);
- SetItemActiveStatus(it, id->active);
- SetItemRepeatIconVisibility(it, (id->flags.OnAny(WeekDay::ALL_WEEK)));
+ UpdateItemData(id);
}
void AlarmListView::ItemSelected(void *data, Evas_Object *obj, void *info)
data->time = time;
data->snoozed = is_snoozed;
- elm_genlist_item_update(it);
+ UpdateItemData(data);
}
void AlarmListView::RemoveItem(ItemId id)