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 *setting_layout;
|
||||||
|
|
||||||
|
Evas_Object *tabbar;
|
||||||
|
|
||||||
Evas_Object *general_layout;
|
Evas_Object *general_layout;
|
||||||
|
|
||||||
Evas_Object *img_path_entry;
|
Evas_Object *img_path_entry;
|
||||||
|
@ -20,6 +22,10 @@ struct setting_s
|
||||||
Evas_Object *toggle_swallow;
|
Evas_Object *toggle_swallow;
|
||||||
Evas_Object *toggle_stats;
|
Evas_Object *toggle_stats;
|
||||||
Evas_Object *toggle_tools;
|
Evas_Object *toggle_tools;
|
||||||
|
|
||||||
|
Evas_Object *apply_btn;
|
||||||
|
Evas_Object *reset_btn;
|
||||||
|
Evas_Object *cancel_btn;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct setting_s setting_data;
|
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",
|
elm_object_part_content_set(sd->setting_layout, "elm.swallow.content",
|
||||||
sd->general_layout);
|
sd->general_layout);
|
||||||
elm_object_focus_set(sd->img_path_entry, EINA_TRUE);
|
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
|
static void
|
||||||
|
@ -419,7 +434,8 @@ text_setting_tab_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
setting_data *sd = data;
|
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
|
void
|
||||||
|
@ -470,27 +486,32 @@ setting_open(void)
|
||||||
text_setting_layout = text_setting_layout_create(layout);
|
text_setting_layout = text_setting_layout_create(layout);
|
||||||
evas_object_hide(text_setting_layout);
|
evas_object_hide(text_setting_layout);
|
||||||
|
|
||||||
Evas_Object *btn;
|
|
||||||
|
|
||||||
//Apply Button
|
//Apply Button
|
||||||
btn = elm_button_add(layout);
|
Evas_Object *apply_btn = elm_button_add(layout);
|
||||||
elm_object_text_set(btn, "Apply");
|
elm_object_text_set(apply_btn, "Apply");
|
||||||
evas_object_smart_callback_add(btn, "clicked", setting_apply_btn_cb, sd);
|
evas_object_smart_callback_add(apply_btn, "clicked", setting_apply_btn_cb,
|
||||||
elm_object_part_content_set(layout, "elm.swallow.apply_btn", btn);
|
sd);
|
||||||
|
elm_object_part_content_set(layout, "elm.swallow.apply_btn", apply_btn);
|
||||||
|
|
||||||
//Reset Button
|
//Reset Button
|
||||||
btn = elm_button_add(layout);
|
Evas_Object *reset_btn = elm_button_add(layout);
|
||||||
elm_object_text_set(btn, "Reset");
|
elm_object_text_set(reset_btn, "Reset");
|
||||||
evas_object_smart_callback_add(btn, "clicked", setting_reset_btn_cb, sd);
|
evas_object_smart_callback_add(reset_btn, "clicked", setting_reset_btn_cb,
|
||||||
elm_object_part_content_set(layout, "elm.swallow.reset_btn", btn);
|
sd);
|
||||||
|
elm_object_part_content_set(layout, "elm.swallow.reset_btn", reset_btn);
|
||||||
|
|
||||||
//Cancel Button
|
//Cancel Button
|
||||||
btn = elm_button_add(layout);
|
Evas_Object *cancel_btn = elm_button_add(layout);
|
||||||
elm_object_text_set(btn, "Cancel");
|
elm_object_text_set(cancel_btn, "Cancel");
|
||||||
evas_object_smart_callback_add(btn, "clicked", setting_cancel_btn_cb, sd);
|
evas_object_smart_callback_add(cancel_btn, "clicked", setting_cancel_btn_cb,
|
||||||
elm_object_part_content_set(layout, "elm.swallow.cancel_btn", btn);
|
sd);
|
||||||
|
elm_object_part_content_set(layout, "elm.swallow.cancel_btn", cancel_btn);
|
||||||
|
|
||||||
sd->setting_layout = layout;
|
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();
|
menu_activate_request();
|
||||||
}
|
}
|
||||||
|
|
|
@ -758,7 +758,9 @@ text_setting_layout_create(Evas_Object *parent)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
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;
|
text_setting_data *tsd = g_tsd;
|
||||||
Evas_Object *content;
|
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",
|
elm_object_part_content_set(setting_layout, "elm.swallow.content",
|
||||||
tsd->text_setting_layout);
|
tsd->text_setting_layout);
|
||||||
elm_object_focus_set(tsd->slider_font, EINA_TRUE);
|
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
|
void
|
||||||
|
|
|
@ -25,7 +25,7 @@ struct text_setting_s
|
||||||
typedef struct text_setting_s text_setting_data;
|
typedef struct text_setting_s text_setting_data;
|
||||||
|
|
||||||
Evas_Object *text_setting_layout_create(Evas_Object *parent);
|
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_reset(void);
|
||||||
void text_setting_syntax_color_save(void);
|
void text_setting_syntax_color_save(void);
|
||||||
void text_setting_config_set(void);
|
void text_setting_config_set(void);
|
||||||
|
|
Loading…
Reference in New Issue