settings: Improve layout in display settings

This commit is contained in:
Andy Williams 2017-12-08 23:07:02 +00:00
parent 25212aa786
commit 664042bebf
1 changed files with 63 additions and 51 deletions

View File

@ -47,8 +47,9 @@ _edi_settings_panel_create(Evas_Object *parent, const char *title)
frame = elm_frame_add(parent); frame = elm_frame_add(parent);
elm_object_text_set(frame, title); elm_object_text_set(frame, title);
elm_object_part_content_set(frame, "default", box); elm_object_part_content_set(frame, "default", box);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(frame);
return frame; return frame;
} }
@ -208,14 +209,20 @@ _edi_settings_display_alpha_format(double value)
static Evas_Object * static Evas_Object *
_edi_settings_display_create(Evas_Object *parent) _edi_settings_display_create(Evas_Object *parent)
{ {
Evas_Object *box, *hbox, *frame, *label, *spinner, *check, *button, *preview; Evas_Object *container, *box, *frame, *label, *spinner, *check, *button, *preview;
Evas_Object *table, *combobox, *slider; Evas_Object *table, *combobox, *slider;
Elm_Genlist_Item_Class *itc; Elm_Genlist_Item_Class *itc;
Edi_Theme *theme; Edi_Theme *theme;
Eina_List *themes, *l; Eina_List *themes, *l;
container = elm_box_add(parent);
evas_object_size_hint_weight_set(container, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(container, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(container);
frame = _edi_settings_panel_create(parent, _("Display")); frame = _edi_settings_panel_create(parent, _("Display"));
box = elm_object_part_content_get(frame, "default"); box = elm_object_part_content_get(frame, "default");
elm_box_pack_end(container, frame);
table = elm_table_add(parent); table = elm_table_add(parent);
evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@ -263,7 +270,6 @@ _edi_settings_display_create(Evas_Object *parent)
elm_object_text_set(combobox, edi_theme_theme_by_name(_edi_project_config->gui.theme)->title); elm_object_text_set(combobox, edi_theme_theme_by_name(_edi_project_config->gui.theme)->title);
elm_table_pack(table, combobox, 1, 1, 1, 1); elm_table_pack(table, combobox, 1, 1, 1, 1);
elm_box_pack_end(box, table);
itc = elm_genlist_item_class_new(); itc = elm_genlist_item_class_new();
itc->item_style = "default"; itc->item_style = "default";
itc->func.text_get = _edi_settings_display_theme_text_get_cb; itc->func.text_get = _edi_settings_display_theme_text_get_cb;
@ -318,32 +324,56 @@ _edi_settings_display_create(Evas_Object *parent)
evas_object_show(slider); evas_object_show(slider);
evas_object_smart_callback_add(slider, "slider,drag,stop", _edi_settings_display_alpha_changed_cb, NULL); evas_object_smart_callback_add(slider, "slider,drag,stop", _edi_settings_display_alpha_changed_cb, NULL);
// END OF ALPHA SELECTOR label = elm_label_add(table);
elm_object_text_set(label, _("Hide Toolbar"));
evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
elm_table_pack(table, label, 0, 4, 1, 1);
evas_object_show(label);
check = elm_check_add(box); check = elm_check_add(box);
elm_object_text_set(check, _("Display whitespace")); elm_check_state_set(check, _edi_project_config->gui.toolbar_hidden);
elm_check_state_set(check, _edi_project_config->gui.show_whitespace); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.5);
elm_box_pack_end(box, check); evas_object_size_hint_align_set(check, EVAS_HINT_FILL, 0.0);
evas_object_smart_callback_add(check, "changed",
_edi_settings_toolbar_hidden_cb, NULL);
elm_table_pack(table, check, 1, 4, 1, 1);
evas_object_show(check); evas_object_show(check);
elm_box_pack_end(box, table);
// END OF ALPHA SELECTOR
frame = _edi_settings_panel_create(parent, _("Editor"));
box = elm_object_part_content_get(frame, "default");
elm_box_pack_end(container, frame);
table = elm_table_add(parent);
evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_padding_set(table, EDI_SETTINGS_TABLE_PADDING, EDI_SETTINGS_TABLE_PADDING);
evas_object_show(table);
label = elm_label_add(table);
elm_object_text_set(label, _("Display whitespace"));
evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
elm_table_pack(table, label, 0, 0, 1, 1);
evas_object_show(label);
check = elm_check_add(box);
elm_check_state_set(check, _edi_project_config->gui.show_whitespace);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(check, 0.0, 0.5); evas_object_size_hint_align_set(check, 0.0, 0.5);
evas_object_smart_callback_add(check, "changed", evas_object_smart_callback_add(check, "changed",
_edi_settings_display_whitespace_cb, NULL); _edi_settings_display_whitespace_cb, NULL);
elm_table_pack(table, check, 1, 0, 1, 1);
evas_object_show(check);
hbox = elm_box_add(box); label = elm_label_add(box);
elm_box_horizontal_set(hbox, EINA_TRUE);
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, 0.5);
elm_box_pack_end(box, hbox);
evas_object_show(hbox);
label = elm_label_add(hbox);
elm_object_text_set(label, _("Line width marker")); elm_object_text_set(label, _("Line width marker"));
evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5); evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
elm_box_pack_end(hbox, label); elm_table_pack(table, label, 0, 1, 1, 1);
evas_object_show(label); evas_object_show(label);
spinner = elm_spinner_add(hbox); spinner = elm_spinner_add(box);
elm_spinner_value_set(spinner, _edi_project_config->gui.width_marker); elm_spinner_value_set(spinner, _edi_project_config->gui.width_marker);
elm_spinner_editable_set(spinner, EINA_TRUE); elm_spinner_editable_set(spinner, EINA_TRUE);
elm_spinner_step_set(spinner, 1); elm_spinner_step_set(spinner, 1);
@ -353,23 +383,16 @@ _edi_settings_display_create(Evas_Object *parent)
evas_object_size_hint_align_set(spinner, 0.0, 0.95); evas_object_size_hint_align_set(spinner, 0.0, 0.95);
evas_object_smart_callback_add(spinner, "changed", evas_object_smart_callback_add(spinner, "changed",
_edi_settings_display_widthmarker_cb, NULL); _edi_settings_display_widthmarker_cb, NULL);
elm_box_pack_end(hbox, spinner); elm_table_pack(table, spinner, 1, 1, 1, 1);
evas_object_show(spinner); evas_object_show(spinner);
hbox = elm_box_add(parent); label = elm_label_add(box);
elm_box_horizontal_set(hbox, EINA_TRUE);
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, 0.5);
elm_box_pack_end(box, hbox);
evas_object_show(hbox);
label = elm_label_add(hbox);
elm_object_text_set(label, _("Tabstop")); elm_object_text_set(label, _("Tabstop"));
evas_object_size_hint_align_set(label, 0.0, 0.5); evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
elm_box_pack_end(hbox, label); elm_table_pack(table, label, 0, 2, 1, 1);
evas_object_show(label); evas_object_show(label);
spinner = elm_spinner_add(hbox); spinner = elm_spinner_add(box);
elm_spinner_value_set(spinner, _edi_project_config->gui.tabstop); elm_spinner_value_set(spinner, _edi_project_config->gui.tabstop);
elm_spinner_editable_set(spinner, EINA_TRUE); elm_spinner_editable_set(spinner, EINA_TRUE);
elm_spinner_step_set(spinner, 1); elm_spinner_step_set(spinner, 1);
@ -379,30 +402,26 @@ _edi_settings_display_create(Evas_Object *parent)
evas_object_size_hint_align_set(spinner, 0.0, 0.95); evas_object_size_hint_align_set(spinner, 0.0, 0.95);
evas_object_smart_callback_add(spinner, "changed", evas_object_smart_callback_add(spinner, "changed",
_edi_settings_display_tabstop_cb, NULL); _edi_settings_display_tabstop_cb, NULL);
elm_box_pack_end(hbox, spinner); elm_table_pack(table, spinner, 1, 2, 1, 1);
evas_object_show(spinner); evas_object_show(spinner);
label = elm_label_add(box);
elm_object_text_set(label, ("Insert spaces when tab is pressed"));
evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
elm_table_pack(table, label, 0, 3, 1, 1);
evas_object_show(label);
check = elm_check_add(box); check = elm_check_add(box);
elm_object_text_set(check, _("Insert spaces when tab is pressed"));
elm_check_state_set(check, _edi_project_config->gui.tab_inserts_spaces); elm_check_state_set(check, _edi_project_config->gui.tab_inserts_spaces);
elm_box_pack_end(box, check);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(check, 0.0, 0.5); evas_object_size_hint_align_set(check, 0.0, 0.5);
evas_object_smart_callback_add(check, "changed", evas_object_smart_callback_add(check, "changed",
_edi_settings_display_tab_inserts_spaces_cb, NULL); _edi_settings_display_tab_inserts_spaces_cb, NULL);
elm_table_pack(table, check, 1, 3, 1, 1);
evas_object_show(check); evas_object_show(check);
elm_box_pack_end(box, table);
check = elm_check_add(box); return container;
elm_object_text_set(check, _("Hide Toolbar"));
elm_check_state_set(check, _edi_project_config->gui.toolbar_hidden);
elm_box_pack_end(box, check);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.5);
evas_object_size_hint_align_set(check, EVAS_HINT_FILL, 0.0);
evas_object_smart_callback_add(check, "changed",
_edi_settings_toolbar_hidden_cb, NULL);
evas_object_show(check);
return frame;
} }
static void static void
@ -634,10 +653,7 @@ _edi_settings_project_create(Evas_Object *parent)
frames = elm_box_add(parent); frames = elm_box_add(parent);
frame = _edi_settings_panel_create(frames, _("Project Settings")); frame = _edi_settings_panel_create(frames, _("Project Settings"));
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, 0.5);
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(frames, frame); elm_box_pack_end(frames, frame);
evas_object_show(frame);
box = elm_object_part_content_get(frame, "default"); box = elm_object_part_content_get(frame, "default");
table = elm_table_add(parent); table = elm_table_add(parent);
@ -693,13 +709,9 @@ _edi_settings_project_create(Evas_Object *parent)
frame = _edi_settings_panel_create(frames, eina_strbuf_string_get(text)); frame = _edi_settings_panel_create(frames, eina_strbuf_string_get(text));
eina_strbuf_free(text); eina_strbuf_free(text);
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, 0.5);
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(frames, frame); elm_box_pack_end(frames, frame);
evas_object_show(frame);
box = elm_object_part_content_get(frame, "default"); box = elm_object_part_content_get(frame, "default");
table = elm_table_add(parent); table = elm_table_add(parent);
evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, 0.5); evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, 0.5);
evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL);