settings: Line numbers (enable/disable).

Add an option for this as we support it.
This commit is contained in:
Alastair Poole 2020-03-07 19:05:33 +00:00
parent 7602963bd2
commit 1ae1048960
4 changed files with 32 additions and 2 deletions

View File

@ -285,6 +285,7 @@ _edi_config_init(void)
EDI_CONFIG_VAL(D, T, gui.show_whitespace, EET_T_UCHAR);
EDI_CONFIG_VAL(D, T, gui.width_marker, EET_T_UINT);
EDI_CONFIG_VAL(D, T, gui.show_width_marker, EET_T_UCHAR);
EDI_CONFIG_VAL(D, T, gui.show_line_numbers, EET_T_UCHAR);
EDI_CONFIG_VAL(D, T, gui.tabstop, EET_T_UINT);
EDI_CONFIG_VAL(D, T, gui.toolbar_hidden, EET_T_UCHAR);
EDI_CONFIG_VAL(D, T, gui.toolbar_horizontal, EET_T_UCHAR);
@ -523,6 +524,7 @@ _edi_project_config_load()
_edi_project_config->gui.width_marker = 80;
_edi_project_config->gui.show_width_marker = EINA_TRUE;
_edi_project_config->gui.show_line_numbers = EINA_TRUE;
_edi_project_config->gui.tabstop = 8;
_edi_project_config->gui.internal_icons = EINA_TRUE;
_edi_project_config->gui.toolbar_hidden = EINA_FALSE;

View File

@ -96,6 +96,7 @@ struct _Edi_Project_Config
Eina_Bool tab_inserts_spaces;
Eina_Bool show_width_marker;
Eina_Bool show_line_numbers;
} gui;
Edi_Project_Config_Launch launch;

View File

@ -1217,6 +1217,9 @@ _edi_editor_config_changed(void *data, int type EINA_UNUSED, void *event EINA_UN
elm_code_widget_line_width_marker_set(widget, 0);
else
elm_code_widget_line_width_marker_set(widget, _edi_project_config->gui.width_marker);
elm_code_widget_line_numbers_set(widget, _edi_project_config->gui.show_line_numbers);
elm_code_widget_tabstop_set(widget, _edi_project_config->gui.tabstop);
return ECORE_CALLBACK_RENEW;

View File

@ -83,13 +83,22 @@ _edi_settings_display_tab_inserts_spaces_cb(void *data EINA_UNUSED, Evas_Object
static void
_edi_settings_display_show_width_marker_cb(void *data EINA_UNUSED, Evas_Object *obj,
void *event EINA_UNUSED)
void *event EINA_UNUSED)
{
Evas_Object *check = (Evas_Object *)obj;
_edi_project_config->gui.show_width_marker = elm_check_state_get(check);
_edi_project_config_save();
}
static void
_edi_settings_display_line_numbers_cb(void *data EINA_UNUSED, Evas_Object *obj,
void *event EINA_UNUSED)
{
Evas_Object *check = (Evas_Object *)obj;
_edi_project_config->gui.show_line_numbers = elm_check_state_get(check);
_edi_project_config_save();
}
static void
_edi_settings_display_width_marker_cb(void *data EINA_UNUSED, Evas_Object *obj,
void *event EINA_UNUSED)
@ -450,9 +459,24 @@ _edi_settings_display_create(Evas_Object *parent)
evas_object_show(table);
elm_box_pack_end(box, table);
label = elm_label_add(table);
elm_object_text_set(label, _("Display line numbers"));
evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(label, EVAS_HINT_FILL, 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_line_numbers);
evas_object_size_hint_weight_set(check, 0.0, 0.0);
evas_object_size_hint_align_set(check, 0.0, 0.5);
evas_object_smart_callback_add(check, "changed",
_edi_settings_display_line_numbers_cb, NULL);
elm_table_pack(table, check, 1, 0, 1, 1);
evas_object_show(check);
label = elm_label_add(table);
elm_object_text_set(label, _("Display whitespace"));
evas_object_size_hint_align_set(label, EVAS_HINT_EXPAND, 0.5);
evas_object_size_hint_align_set(label, 0.0, 0.5);
elm_table_pack(table, label, 3, 0, 1, 1);
evas_object_show(label);