From 141119f0d2a162f8d6747ed4e1d23e94515a0035 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 22 Aug 2012 10:34:28 +0000 Subject: [PATCH] good idea from gustavo - a g command for terminology's cmdbox. g20x20 = make term 20x20 chars. SVN revision: 75537 --- src/bin/termcmd.c | 13 +++++++++++++ src/bin/termio.c | 15 ++++++++++++++- src/bin/termio.h | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/bin/termcmd.c b/src/bin/termcmd.c index ab538c59..4489a5b0 100644 --- a/src/bin/termcmd.c +++ b/src/bin/termcmd.c @@ -86,6 +86,19 @@ termcmd_do(Evas_Object *obj, Evas_Object *win, Evas_Object *bg, const char *cmd) } return EINA_TRUE; } + if ((cmd[0] == 'g') || (cmd[0] == 'G')) // font size + { + int w = -1, h = -1; + + if (sscanf(cmd, "g%ix%i", &w, &h) == 2) + { + if ((w > 0) && (h > 0)) + { + termio_grid_size_set(obj, w, h); + } + } + return EINA_TRUE; + } return EINA_FALSE; obj = win = bg = NULL; } diff --git a/src/bin/termio.c b/src/bin/termio.c index 76281e03..58ce35de 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -770,7 +770,6 @@ _font_size_set(Evas_Object *obj, int size) config->font.size = size; gw = sd->grid.w; gh = sd->grid.h; - evas_object_size_hint_min_get(obj, &mw, &mh); sd->noreqsize = 1; termio_config_update(obj); sd->noreqsize = 0; @@ -786,6 +785,20 @@ termio_font_size_set(Evas_Object *obj, int size) _font_size_set(obj, size); } +void +termio_grid_size_set(Evas_Object *obj, int w, int h) +{ + Termio *sd = evas_object_smart_data_get(obj); + Evas_Coord mw = 1, mh = 1; + + if (w < 1) w = 1; + if (h < 1) h = 1; + if (!sd) return; + evas_object_size_hint_min_get(obj, &mw, &mh); + evas_object_data_del(obj, "sizedone"); + evas_object_size_hint_request_set(obj, mw * w, mh * h); +} + static void _smart_cb_key_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event) { diff --git a/src/bin/termio.h b/src/bin/termio.h index d1a39aab..0e449b6a 100644 --- a/src/bin/termio.h +++ b/src/bin/termio.h @@ -15,5 +15,6 @@ void termio_mouseover_suspend_pushpop(Evas_Object *obj, int dir); void termio_size_get(Evas_Object *obj, int *w, int *h); int termio_scroll_get(Evas_Object *obj); void termio_font_size_set(Evas_Object *obj, int size); +void termio_grid_size_set(Evas_Object *obj, int w, int h); #endif