static void OnCancelButtonClickedCb(void *data, Evas_Object *obj, void *event);
static void OnDeleteButtonClickedCb(void *data, Evas_Object *obj, void *event);
static void ItemRealized(void *data, Evas_Object *obj, void *event);
- static void ItemSelectToggle(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);
utils::Connection time_format_change_listener_;
void TimeFormatChanged();
+ void UpdateSelectAllItem();
};
} /* view */
DestroyContent();
}
-void DeleteAlarmView::ItemSelectToggle(void *data, Evas_Object *obj, void *event)
+void DeleteAlarmView::UpdateSelectAllItem()
{
- ItemData *id = static_cast<ItemData*>(data);
- id->selected = !id->selected;
- if (!id->selected) {
- id->instance->all_selected_ = false;
- elm_check_state_set(id->instance->all_selected_check_, id->instance->all_selected_);
- } else {
- unsigned int items_count = elm_genlist_items_count(id->instance->content_) - 1;
- std::vector<int> ids = id->instance->GetSelectedItems();
- if (items_count == ids.size()) {
- id->instance->all_selected_ = true;
- elm_check_state_set(id->instance->all_selected_check_, id->instance->all_selected_);
- }
- }
-
- id->instance->UpdateTitle();
+ unsigned int items_count = elm_genlist_items_count(content_) - 1;
+ std::vector<int> ids = GetSelectedItems();
+ all_selected_ = items_count == ids.size();
+ elm_check_state_set(all_selected_check_, all_selected_);
}
void DeleteAlarmView::ItemSelected(void *data, Evas_Object *obj, void *event)
if (id->check) {
elm_check_state_set(id->check, id->selected);
}
- if (!id->selected) {
- id->instance->all_selected_ = false;
- elm_check_state_set(id->instance->all_selected_check_, id->instance->all_selected_);
- }
+
+ id->instance->UpdateSelectAllItem();
id->instance->UpdateTitle();
elm_genlist_item_selected_set(id->it, EINA_FALSE);
}
view->all_selected_ = !view->all_selected_;
view->SelectAllStateSet(view->all_selected_);
- if (view->all_selected_check_)
- elm_check_state_set(view->all_selected_check_, view->all_selected_);
-
+ view->UpdateSelectAllItem();
view->UpdateTitle();
+
elm_genlist_item_selected_set(it, EINA_FALSE);
}
if (!strcmp(part, "sw.check")) {
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_show(view->all_selected_check_);
return view->all_selected_check_;
}
ItemData *id = static_cast<ItemData*>(data);
if (!strcmp(part, "onoff")) {
id->check = elm_check_add(obj);
- evas_object_propagate_events_set(id->check, EINA_FALSE);
elm_check_state_set(id->check, id->selected ? EINA_TRUE : EINA_FALSE);
- evas_object_smart_callback_add(id->check, "changed", DeleteAlarmView::ItemSelectToggle, id);
+ elm_object_focus_allow_set(id->check, EINA_FALSE);
evas_object_show(id->check);
return id->check;
}