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);
elm_object_text_set(frame, title);
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_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(frame);
return frame;
}
@ -208,14 +209,20 @@ _edi_settings_display_alpha_format(double value)
static Evas_Object *
_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;
Elm_Genlist_Item_Class *itc;
Edi_Theme *theme;
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"));
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);
@ -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_table_pack(table, combobox, 1, 1, 1, 1);
elm_box_pack_end(box, table);
itc = elm_genlist_item_class_new();
itc->item_style = "default";
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_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);
elm_object_text_set(check, _("Display whitespace"));
elm_check_state_set(check, _edi_project_config->gui.show_whitespace);
elm_box_pack_end(box, check);
elm_check_state_set(check, _edi_project_config->gui.toolbar_hidden);
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);
elm_table_pack(table, check, 1, 4, 1, 1);
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_align_set(check, 0.0, 0.5);
evas_object_smart_callback_add(check, "changed",
_edi_settings_display_whitespace_cb, NULL);
elm_table_pack(table, check, 1, 0, 1, 1);
evas_object_show(check);
hbox = elm_box_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);
label = elm_label_add(box);
elm_object_text_set(label, _("Line width marker"));
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);
spinner = elm_spinner_add(hbox);
spinner = elm_spinner_add(box);
elm_spinner_value_set(spinner, _edi_project_config->gui.width_marker);
elm_spinner_editable_set(spinner, EINA_TRUE);
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_smart_callback_add(spinner, "changed",
_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);
hbox = elm_box_add(parent);
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);
label = elm_label_add(box);
elm_object_text_set(label, _("Tabstop"));
evas_object_size_hint_align_set(label, 0.0, 0.5);
elm_box_pack_end(hbox, label);
evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
elm_table_pack(table, label, 0, 2, 1, 1);
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_editable_set(spinner, EINA_TRUE);
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_smart_callback_add(spinner, "changed",
_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);
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);
elm_object_text_set(check, _("Insert spaces when tab is pressed"));
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_align_set(check, 0.0, 0.5);
evas_object_smart_callback_add(check, "changed",
_edi_settings_display_tab_inserts_spaces_cb, NULL);
elm_table_pack(table, check, 1, 3, 1, 1);
evas_object_show(check);
elm_box_pack_end(box, table);
check = elm_check_add(box);
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;
return container;
}
static void
@ -634,10 +653,7 @@ _edi_settings_project_create(Evas_Object *parent)
frames = elm_box_add(parent);
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);
evas_object_show(frame);
box = elm_object_part_content_get(frame, "default");
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));
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);
evas_object_show(frame);
box = elm_object_part_content_get(frame, "default");
table = elm_table_add(parent);
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);