forked from enlightenment/edi
settings: Allow configuration of line width marker
This commit is contained in:
parent
2a1320d1f1
commit
f1571f296e
|
@ -188,6 +188,8 @@ _edi_config_init(void)
|
|||
EDI_CONFIG_VAL(D, T, gui.bottomsize, EET_T_DOUBLE);
|
||||
EDI_CONFIG_VAL(D, T, gui.bottomopen, EET_T_UCHAR);
|
||||
EDI_CONFIG_VAL(D, T, gui.bottomtab, EET_T_INT);
|
||||
EDI_CONFIG_VAL(D, T, gui.width_marker, EET_T_UINT);
|
||||
EDI_CONFIG_VAL(D, T, gui.show_whitespace, EET_T_UCHAR);
|
||||
EDI_CONFIG_VAL(D, T, autosave, EET_T_UCHAR);
|
||||
EDI_CONFIG_LIST(D, T, projects, _edi_cfg_proj_edd);
|
||||
EDI_CONFIG_LIST(D, T, mime_assocs, _edi_cfg_mime_edd);
|
||||
|
@ -264,6 +266,10 @@ _edi_config_load(void)
|
|||
_edi_cfg->mime_assocs = NULL;
|
||||
IFCFGEND;
|
||||
|
||||
IFCFG(0x000b);
|
||||
_edi_cfg->gui.width_marker = 80;
|
||||
IFCFGEND;
|
||||
|
||||
/* limit config values so they are sane */
|
||||
EDI_CONFIG_LIMIT(_edi_cfg->font.size, 8, 96);
|
||||
EDI_CONFIG_LIMIT(_edi_cfg->gui.width, 150, 10000);
|
||||
|
|
|
@ -41,6 +41,7 @@ struct _Edi_Config
|
|||
double leftsize, bottomsize;
|
||||
Eina_Bool leftopen, bottomopen;
|
||||
Eina_Bool show_whitespace;
|
||||
unsigned int width_marker;
|
||||
} gui;
|
||||
|
||||
Eina_Bool autosave;
|
||||
|
|
|
@ -604,6 +604,7 @@ _edi_editor_config_changed(void *data, int type EINA_UNUSED, void *event EINA_UN
|
|||
widget = (Elm_Code_Widget *) data;
|
||||
eo_do(widget,
|
||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||
elm_code_widget_line_width_marker_set(_edi_cfg->gui.width_marker),
|
||||
elm_code_widget_show_whitespace_set(_edi_cfg->gui.show_whitespace));
|
||||
|
||||
return ECORE_CALLBACK_RENEW;
|
||||
|
@ -650,7 +651,7 @@ edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
|||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||
elm_code_widget_editable_set(EINA_TRUE),
|
||||
elm_code_widget_line_numbers_set(EINA_TRUE),
|
||||
elm_code_widget_line_width_marker_set(80),
|
||||
elm_code_widget_line_width_marker_set(_edi_cfg->gui.width_marker),
|
||||
elm_code_widget_show_whitespace_set(_edi_cfg->gui.show_whitespace));
|
||||
|
||||
editor = calloc(1, sizeof(*editor));
|
||||
|
|
|
@ -68,6 +68,17 @@ _edi_settings_display_whitespace_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|||
_edi_config_save();
|
||||
}
|
||||
|
||||
static void
|
||||
_edi_settings_display_widthmarker_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
void *event EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *spinner;
|
||||
|
||||
spinner = (Evas_Object *)obj;
|
||||
_edi_cfg->gui.width_marker = (int) elm_spinner_value_get(spinner);
|
||||
_edi_config_save();
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
_edi_settings_display_create(Evas_Object *parent)
|
||||
{
|
||||
|
@ -107,12 +118,38 @@ _edi_settings_display_create(Evas_Object *parent)
|
|||
elm_object_text_set(check, "Display whitespace");
|
||||
elm_check_state_set(check, _edi_cfg->gui.show_whitespace);
|
||||
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, 0.0, 0.05);
|
||||
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);
|
||||
evas_object_show(check);
|
||||
|
||||
hbox = elm_box_add(parent);
|
||||
elm_box_horizontal_set(hbox, EINA_TRUE);
|
||||
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.5);
|
||||
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, 0.05);
|
||||
elm_box_pack_end(box, hbox);
|
||||
evas_object_show(hbox);
|
||||
|
||||
label = elm_label_add(hbox);
|
||||
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);
|
||||
evas_object_show(label);
|
||||
|
||||
spinner = elm_spinner_add(hbox);
|
||||
elm_spinner_value_set(spinner, _edi_cfg->gui.width_marker);
|
||||
elm_spinner_editable_set(spinner, EINA_TRUE);
|
||||
elm_spinner_step_set(spinner, 1);
|
||||
elm_spinner_wrap_set(spinner, EINA_FALSE);
|
||||
elm_spinner_min_max_set(spinner, 0, 1024);
|
||||
evas_object_size_hint_weight_set(spinner, EVAS_HINT_EXPAND, 0.0);
|
||||
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);
|
||||
evas_object_show(spinner);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue