behavior entries now should all work and save.

SVN revision: 72242
This commit is contained in:
Carsten Haitzler 2012-06-16 17:31:54 +00:00
parent 0049982fe1
commit 4aed1d8a50
5 changed files with 50 additions and 3 deletions

View File

@ -26,13 +26,29 @@ _cb_op_behavior_trans_chg(void *data, Evas_Object *obj, void *event)
static void
_cb_op_behavior_wsep_chg(void *data, Evas_Object *obj, void *event)
{
// XXX: do
char *txt;
if (config->wordsep)
{
eina_stringshare_del(config->wordsep);
config->wordsep = NULL;
}
txt = elm_entry_markup_to_utf8(elm_object_text_get(obj));
if (txt)
{
config->wordsep = eina_stringshare_add(txt);
free(txt);
}
termio_config_update(data);
config_save();
}
static void
_cb_op_behavior_sback_chg(void *data, Evas_Object *obj, void *event)
{
// XXX: do
config->scrollback = elm_slider_value_get(obj) + 0.5;
termio_config_update(data);
config_save();
}
void
@ -105,5 +121,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
_cb_op_behavior_sback_chg, term);
elm_box_pack_end(opbox, o);
evas_object_size_hint_weight_set(opbox, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(opbox, EVAS_HINT_FILL, 0.0);
evas_object_show(o);
}

View File

@ -305,5 +305,7 @@ options_font(Evas_Object *opbox, Evas_Object *term)
elm_genlist_item_class_free(it_group);
elm_box_pack_end(opbox, o);
evas_object_size_hint_weight_set(opbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(opbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(o);
}

View File

@ -1072,6 +1072,11 @@ termio_config_update(Evas_Object *obj)
sd->font.name = eina_stringshare_add(config->font.name);
sd->font.size = config->font.size;
sd->jump_on_change = config->jump_on_change;
termpty_backscroll_set(sd->pty, config->scrollback);
sd->scroll = 0;
evas_object_textgrid_font_set(sd->grid.obj, sd->font.name, sd->font.size);
evas_object_textgrid_cell_size_get(sd->grid.obj, &w, &h);
if (w < 1) w = 1;

View File

@ -1572,3 +1572,25 @@ termpty_resize(Termpty *ty, int w, int h)
_pty_size(ty);
}
void
termpty_backscroll_set(Termpty *ty, int size)
{
int i;
Termsave *tso;
if (ty->backmax == size) return;
if (ty->back)
{
for (i = 0; i < ty->backmax; i++)
{
if (ty->back[i]) free(ty->back[i]);
}
free(ty->back);
}
ty->back = calloc(1, sizeof(Termsave *) * ty->backmax);
ty->backscroll_num = 0;
ty->backpos = 0;
ty->backmax = size;
}

View File

@ -103,4 +103,4 @@ void termpty_free(Termpty *ty);
Termcell *termpty_cellrow_get(Termpty *ty, int y, int *wret);
void termpty_write(Termpty *ty, const char *input, int len);
void termpty_resize(Termpty *ty, int w, int h);
void termpty_backscroll_set(Termpty *ty, int size);