static void ItemRealized(void *data, Evas_Object *obj, void *event);
static void ItemSelected(void *data, Evas_Object *obj, void *event);
static void ItemSelectAllClicked(void *data, Evas_Object *obj, void *event);
+ static void SelectAllCheckValueChanged(void *data, Evas_Object *obj, void *event);
void CreateSelectAllItem();
utils::Connection time_format_change_listener_;
void TimeFormatChanged();
void UpdateSelectAllItem();
+ void UpdateView();
};
} /* view */
DestroyContent();
}
+void DeleteAlarmView::UpdateView()
+{
+ UpdateSelectAllItem();
+ UpdateTitle();
+}
+
void DeleteAlarmView::UpdateSelectAllItem()
{
unsigned int items_count = elm_genlist_items_count(content_) - 1;
elm_check_state_set(id->check, id->selected);
}
- id->instance->UpdateSelectAllItem();
- id->instance->UpdateTitle();
+ id->instance->UpdateView();
elm_genlist_item_selected_set(id->it, EINA_FALSE);
}
Elm_Object_Item *it = static_cast<Elm_Object_Item*>(event);
DeleteAlarmView *view = static_cast<DeleteAlarmView*>(data);
- view->all_selected_ = !view->all_selected_;
-
- view->SelectAllStateSet(view->all_selected_);
- view->UpdateSelectAllItem();
- view->UpdateTitle();
+ view->SelectAllStateSet(!view->all_selected_);
+ view->UpdateView();
elm_genlist_item_selected_set(it, EINA_FALSE);
}
+void DeleteAlarmView::SelectAllCheckValueChanged(void *data, Evas_Object *obj, void *event)
+{
+ DeleteAlarmView *view = static_cast<DeleteAlarmView*>(data);
+
+ view->SelectAllStateSet(elm_check_state_get(obj));
+ view->UpdateView();
+}
+
void DeleteAlarmView::CreateSelectAllItem()
{
Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
view->all_selected_check_ = elm_check_add(obj);
elm_check_state_set(view->all_selected_check_, view->all_selected_);
elm_object_focus_allow_set(view->all_selected_check_, EINA_FALSE);
+ evas_object_propagate_events_set(view->all_selected_check_, EINA_FALSE);
+ evas_object_smart_callback_add(view->all_selected_check_, "changed", DeleteAlarmView::SelectAllCheckValueChanged, view);
evas_object_show(view->all_selected_check_);
return view->all_selected_check_;
}
void DeleteAlarmView::SelectAllStateSet(bool state)
{
Elm_Object_Item *it = elm_genlist_nth_item_get(content_, 1);
+ all_selected_ = state;
while (it) {
ItemData *data = static_cast<ItemData*>(elm_object_item_data_get(it));