billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=2b43b9bab2bad6d0ecfd4e51d858514da2dcdcec

commit 2b43b9bab2bad6d0ecfd4e51d858514da2dcdcec
Author: Boris Faure <bill...@gmail.com>
Date:   Sun Sep 8 20:19:25 2019 +0200

    options_elm: add scale slider
---
 src/bin/options_elm.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/bin/win.c         |  4 +--
 2 files changed, 73 insertions(+), 3 deletions(-)

diff --git a/src/bin/options_elm.c b/src/bin/options_elm.c
index f48b6f3..fa9689c 100644
--- a/src/bin/options_elm.c
+++ b/src/bin/options_elm.c
@@ -15,10 +15,37 @@ launch_elm_config(void *_data EINA_UNUSED,
    ecore_exe_free(exe);
 }
 
+static void
+_scale_round(void *data       EINA_UNUSED,
+             Evas_Object     *obj,
+             void *event_info EINA_UNUSED)
+{
+   double val = elm_slider_value_get(obj);
+   double v;
+
+   v = ((double)((int)(val * 10.0))) / 10.0;
+   if (v != val) elm_slider_value_set(obj, v);
+}
+
+static void
+_scale_change(void *data       EINA_UNUSED,
+              Evas_Object     *obj,
+              void *event_info EINA_UNUSED)
+{
+   double scale = elm_config_scale_get();
+   double val = elm_slider_value_get(obj);
+
+   if (scale == val)
+     return;
+   elm_config_scale_set(val);
+   elm_config_all_flush();
+}
+
 void
 options_elm(Evas_Object *opbox, Evas_Object *_term EINA_UNUSED)
 {
-   Evas_Object *o, *fr, *bx, *bt, *en;
+   Evas_Object *o, *fr, *bx, *bt, *en, *lbl, *sl, *sp;
+   const char *txt;
 
    fr = o = elm_frame_add(opbox);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -48,4 +75,47 @@ options_elm(Evas_Object *opbox, Evas_Object *_term 
EINA_UNUSED)
    elm_layout_text_set(bt, NULL, _("Launch elementary_config"));
    elm_box_pack_end(bx, bt);
    evas_object_show(bt);
+
+   sp = elm_separator_add(opbox);
+   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
+   elm_separator_horizontal_set(sp, EINA_TRUE);
+   elm_box_pack_end(bx, sp);
+   evas_object_show(sp);
+
+   lbl = elm_label_add(opbox);
+   evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 0.5);
+   txt = eina_stringshare_printf("<hilight>%s</>",_("Scale"));
+   elm_object_text_set(lbl, txt);
+   eina_stringshare_del(txt);
+   elm_box_pack_end(bx, lbl);
+   evas_object_show(lbl);
+
+   sl = elm_slider_add(opbox);
+   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
+   elm_slider_span_size_set(sl, 120);
+   elm_slider_unit_format_set(sl, "%1.2f");
+   elm_slider_indicator_format_set(sl, "%1.2f");
+   elm_slider_min_max_set(sl, 0.25, 5.0);
+   elm_slider_value_set(sl, elm_config_scale_get());
+   elm_box_pack_end(bx, sl);
+   evas_object_show(sl);
+   evas_object_smart_callback_add(sl, "changed", _scale_round, NULL);
+   evas_object_smart_callback_add(sl, "delay,changed", _scale_change, NULL);
+
+   lbl = elm_label_add(opbox);
+   evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(lbl, 0.0, 0.0);
+   elm_object_text_set(lbl, _("Select prefered size so that this text is 
readable."));
+   elm_box_pack_end(bx, lbl);
+   evas_object_show(lbl);
+
+   lbl = elm_label_add(opbox);
+   evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(lbl, 0.0, 0.0);
+   elm_object_text_set(lbl, _("The scale configuration can also be changed 
through <hilight>elementary</hilight>'s configuration panel."));
+   elm_box_pack_end(bx, lbl);
+   evas_object_show(lbl);
 }
diff --git a/src/bin/win.c b/src/bin/win.c
index 0ec73ae..ae330ea 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -322,14 +322,14 @@ win_scale_wizard(Evas_Object *win, Term *term)
    lbl = elm_label_add(win);
    evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 0.5);
-   elm_object_text_set(lbl, _("Select prefered size so that is text is 
readable"));
+   elm_object_text_set(lbl, _("Select prefered size so that this text is 
readable."));
    elm_box_pack_end(bx, lbl);
    evas_object_show(lbl);
 
    lbl = elm_label_add(win);
    evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 0.5);
-   elm_object_text_set(lbl, _("The scale configuration can be changed in the 
Settings (right click on the terminal) →  Toolkit, or by starting the command 
<keyword>elementary_config</keyword>"));
+   elm_object_text_set(lbl, _("The scale configuration can be changed in the 
Settings (right click on the terminal) →  Toolkit, or by starting the command 
<keyword>elementary_config</keyword>."));
    elm_box_pack_end(bx, lbl);
    evas_object_show(lbl);
 

-- 


Reply via email to