forked from enlightenment/enventor
setting: Set a custom chain to set the focus order.
When the setting layout is unset and set, the focus order is changed. To make the focus order same, set a custom chain.
This commit is contained in:
parent
995a6ef684
commit
b14f106bf7
|
@ -5,6 +5,8 @@ struct setting_s
|
|||
{
|
||||
Evas_Object *setting_layout;
|
||||
|
||||
Evas_Object *tabbar;
|
||||
|
||||
Evas_Object *general_layout;
|
||||
|
||||
Evas_Object *img_path_entry;
|
||||
|
@ -20,6 +22,10 @@ struct setting_s
|
|||
Evas_Object *toggle_swallow;
|
||||
Evas_Object *toggle_stats;
|
||||
Evas_Object *toggle_tools;
|
||||
|
||||
Evas_Object *apply_btn;
|
||||
Evas_Object *reset_btn;
|
||||
Evas_Object *cancel_btn;
|
||||
};
|
||||
|
||||
typedef struct setting_s setting_data;
|
||||
|
@ -412,6 +418,15 @@ general_tab_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
elm_object_part_content_set(sd->setting_layout, "elm.swallow.content",
|
||||
sd->general_layout);
|
||||
elm_object_focus_set(sd->img_path_entry, EINA_TRUE);
|
||||
|
||||
//Set a custom chain to set the focus order.
|
||||
Eina_List *custom_chain = NULL;
|
||||
custom_chain = eina_list_append(custom_chain, sd->tabbar);
|
||||
custom_chain = eina_list_append(custom_chain, sd->general_layout);
|
||||
custom_chain = eina_list_append(custom_chain, sd->apply_btn);
|
||||
custom_chain = eina_list_append(custom_chain, sd->reset_btn);
|
||||
custom_chain = eina_list_append(custom_chain, sd->cancel_btn);
|
||||
elm_object_focus_custom_chain_set(sd->setting_layout, custom_chain);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -419,7 +434,8 @@ text_setting_tab_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
setting_data *sd = data;
|
||||
text_setting_layout_show(sd->setting_layout);
|
||||
text_setting_layout_show(sd->setting_layout, sd->tabbar, sd->apply_btn,
|
||||
sd->reset_btn, sd->cancel_btn);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -470,27 +486,32 @@ setting_open(void)
|
|||
text_setting_layout = text_setting_layout_create(layout);
|
||||
evas_object_hide(text_setting_layout);
|
||||
|
||||
Evas_Object *btn;
|
||||
|
||||
//Apply Button
|
||||
btn = elm_button_add(layout);
|
||||
elm_object_text_set(btn, "Apply");
|
||||
evas_object_smart_callback_add(btn, "clicked", setting_apply_btn_cb, sd);
|
||||
elm_object_part_content_set(layout, "elm.swallow.apply_btn", btn);
|
||||
Evas_Object *apply_btn = elm_button_add(layout);
|
||||
elm_object_text_set(apply_btn, "Apply");
|
||||
evas_object_smart_callback_add(apply_btn, "clicked", setting_apply_btn_cb,
|
||||
sd);
|
||||
elm_object_part_content_set(layout, "elm.swallow.apply_btn", apply_btn);
|
||||
|
||||
//Reset Button
|
||||
btn = elm_button_add(layout);
|
||||
elm_object_text_set(btn, "Reset");
|
||||
evas_object_smart_callback_add(btn, "clicked", setting_reset_btn_cb, sd);
|
||||
elm_object_part_content_set(layout, "elm.swallow.reset_btn", btn);
|
||||
Evas_Object *reset_btn = elm_button_add(layout);
|
||||
elm_object_text_set(reset_btn, "Reset");
|
||||
evas_object_smart_callback_add(reset_btn, "clicked", setting_reset_btn_cb,
|
||||
sd);
|
||||
elm_object_part_content_set(layout, "elm.swallow.reset_btn", reset_btn);
|
||||
|
||||
//Cancel Button
|
||||
btn = elm_button_add(layout);
|
||||
elm_object_text_set(btn, "Cancel");
|
||||
evas_object_smart_callback_add(btn, "clicked", setting_cancel_btn_cb, sd);
|
||||
elm_object_part_content_set(layout, "elm.swallow.cancel_btn", btn);
|
||||
Evas_Object *cancel_btn = elm_button_add(layout);
|
||||
elm_object_text_set(cancel_btn, "Cancel");
|
||||
evas_object_smart_callback_add(cancel_btn, "clicked", setting_cancel_btn_cb,
|
||||
sd);
|
||||
elm_object_part_content_set(layout, "elm.swallow.cancel_btn", cancel_btn);
|
||||
|
||||
sd->setting_layout = layout;
|
||||
sd->tabbar = tabbar;
|
||||
sd->apply_btn = apply_btn;
|
||||
sd->reset_btn = reset_btn;
|
||||
sd->cancel_btn = cancel_btn;
|
||||
|
||||
menu_activate_request();
|
||||
}
|
||||
|
|
|
@ -758,7 +758,9 @@ text_setting_layout_create(Evas_Object *parent)
|
|||
}
|
||||
|
||||
void
|
||||
text_setting_layout_show(Evas_Object *setting_layout)
|
||||
text_setting_layout_show(Evas_Object *setting_layout, Evas_Object *tabbar,
|
||||
Evas_Object *apply_btn, Evas_Object *reset_btn,
|
||||
Evas_Object *cancel_btn)
|
||||
{
|
||||
text_setting_data *tsd = g_tsd;
|
||||
Evas_Object *content;
|
||||
|
@ -776,6 +778,15 @@ text_setting_layout_show(Evas_Object *setting_layout)
|
|||
elm_object_part_content_set(setting_layout, "elm.swallow.content",
|
||||
tsd->text_setting_layout);
|
||||
elm_object_focus_set(tsd->slider_font, EINA_TRUE);
|
||||
|
||||
//Set a custom chain to set the focus order.
|
||||
Eina_List *custom_chain = NULL;
|
||||
custom_chain = eina_list_append(custom_chain, tabbar);
|
||||
custom_chain = eina_list_append(custom_chain, tsd->text_setting_layout);
|
||||
custom_chain = eina_list_append(custom_chain, apply_btn);
|
||||
custom_chain = eina_list_append(custom_chain, reset_btn);
|
||||
custom_chain = eina_list_append(custom_chain, cancel_btn);
|
||||
elm_object_focus_custom_chain_set(setting_layout, custom_chain);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -25,7 +25,7 @@ struct text_setting_s
|
|||
typedef struct text_setting_s text_setting_data;
|
||||
|
||||
Evas_Object *text_setting_layout_create(Evas_Object *parent);
|
||||
void text_setting_layout_show(Evas_Object *setting_layout);
|
||||
void text_setting_layout_show(Evas_Object *setting_layout, Evas_Object *tabbar, Evas_Object *apply_btn, Evas_Object *reset_btn, Evas_Object *cancel_btn);
|
||||
void text_setting_syntax_color_reset(void);
|
||||
void text_setting_syntax_color_save(void);
|
||||
void text_setting_config_set(void);
|
||||
|
|
Loading…
Reference in New Issue