billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=653173bd85a2c6df26d0ab7c0e852ac2e518c520

commit 653173bd85a2c6df26d0ab7c0e852ac2e518c520
Merge: 8623d4b 85a8638
Author: Boris Faure <[email protected]>
Date:   Sun Feb 11 11:56:13 2018 +0100

    Merge branch 'grouped-input'

 README                       |   2 +
 man/terminology.1            |  10 +-
 src/bin/about.c              | 336 ++++++++---------
 src/bin/about.h              |   2 +-
 src/bin/config.c             |  13 +-
 src/bin/controls.c           | 499 +++++++++++++------------
 src/bin/controls.h           |   8 +-
 src/bin/keyin.c              | 172 ++++-----
 src/bin/keyin.h              |  13 +-
 src/bin/main.c               |   3 +
 src/bin/options.c            | 384 +++++++++----------
 src/bin/options.h            |   7 +-
 src/bin/options_background.c | 437 ++++++++++++----------
 src/bin/options_behavior.c   | 129 ++++---
 src/bin/options_colors.c     | 299 +++++++++------
 src/bin/options_colors.h     |   2 +-
 src/bin/options_font.c       | 232 +++++++-----
 src/bin/options_font.h       |   1 -
 src/bin/options_keys.c       | 212 ++++++-----
 src/bin/options_theme.c      | 101 +++--
 src/bin/options_theme.h      |   1 -
 src/bin/options_video.c      |   4 +-
 src/bin/term_container.h     |   1 +
 src/bin/termio.c             | 291 +++------------
 src/bin/termio.h             |   7 +
 src/bin/termpty.c            |  24 ++
 src/bin/win.c                | 861 +++++++++++++++++++++++++++++++++++++------
 src/bin/win.h                |  12 +
 28 files changed, 2410 insertions(+), 1653 deletions(-)

diff --cc src/bin/about.c
index aa5d2ae,3b9ea3f..7fa6736
--- a/src/bin/about.c
+++ b/src/bin/about.c
@@@ -37,162 -56,143 +56,143 @@@ about_show(Evas_Object *win, Evas_Objec
               void (*donecb) (void *data), void *donedata)
  {
     Evas_Object *o;
+    About_Ctx *ctx;
+    Config *config = termio_config_get(term);
+    char buf[PATH_MAX];
+    const char *txt;
  
-    saved_win = win;
-    saved_bg = bg;
-    if (!ab_layout)
-      {
-         Config *config = termio_config_get(term);
-         char buf[PATH_MAX];
-         const char *txt;
- 
-         ab_layout = o = elm_layout_add(win);
-         if (elm_layout_file_set(o, config_theme_path_get(config),
-                                 "terminology/about") == 0)
-           {
-              snprintf(buf, sizeof(buf), "%s/themes/default.edj",
-                       elm_app_data_dir_get());
-              elm_layout_file_set(o, buf, "terminology/about");
-           }
- 
-         txt = eina_stringshare_printf(_(
-               "<b>Terminology %s</b><br>"
-               "Why should terminals be boring?<br>"
-               "<br>"
-               "This terminal was written for Enlightenment, to use EFL "
-               "and otherwise push the boundaries of what a modern terminal "
-               "emulator should be. We hope you enjoy it.<br>"
-               "<br>"
-               "Copyright © 2012-%d by:<br>"
-               "<br>"
-               "%s" // AUTHORS
-               "<br>"
-               "<br>"
-               "Distributed under the 2-clause BSD license detailed below:<br>"
-               "<br>"
-               "%s" // LICENSE
-               ),
-               PACKAGE_VERSION, 2018,
-               "Boris Faure<br>"
-               "Carsten Haitzler<br>"
-               "Gustavo Sverzut Barbieri<br>"
-               "Cedric BAIL<br>"
-               "Sebastian Dransfeld<br>"
-               "Wonguk Jeong<br>"
-               "Christopher Michael<br>"
-               "Daniel Juyung Seo<br>"
-               "Panagiotis Galatsanos<br>"
-               "Mike Blumenkrantz<br>"
-               "Aleksandar Popadić<br>"
-               "Massimo Maiurana<br>"
-               "Stefan Schmidt<br>"
-               "Davide Andreoli<br>"
-               "Gustavo Lima Chaves<br>"
-               "Jean-Philippe ANDRÉ<br>"
-               "Tom Hacohen<br>"
-               "Alex-P. Natsios<br>"
-               "Lee Gwang-O<br>"
-               "Jean Guyomarc'h<br>"
-               "Jihoon Kim<br>"
-               "Kai Huuhko<br>"
-               "Mike McCormack<br>"
-               "Iván Briano<br>"
-               "Jerome Pinot<br>"
-               "José Roberto de Souza<br>"
-               "Leandro Pereira<br>"
-               "Leif Middelschulte<br>"
-               "Markus Törnqvist<br>"
-               "Thibaut Broggi<br>"
-               "Lucas De Marchi<br>"
-               "Marcel Hollerbach<br>"
-               "Anisse Astier<br>"
-               "Daniel Zaoui<br>"
-               "Doug Newgard<br>"
-               "Flavio Vinicius Alvares Ceolin<br>"
-               "Samuel F. Baggen<br>"
-               "Amitesh Singh<br>"
-               "Anthony F McInerney<br>"
-               "Aurélien Larcher<br>"
-               "Bruno Dilly<br>"
-               "Conrad Meyer<br>"
-               "Daniel Kolesa<br>"
-               "Eduardo Lima<br>"
-               "Flavio Ceolin<br>"
-               "Jason L. Cook<br>"
-               "Jérémy Anger<br>"
-               "Michael BOUCHAUD<br>"
-               "Michael Jennings<br>"
-               "Nicholas Hughart<br>"
-               "Rafael Antognolli<br>"
-               "Rui Seabra<br>"
-               "Sanjeev BA<br>"
-               "Theodor van Nahl<br>"
-               "Vincent Torri<br>"
-               "tantSinnister<br>",
-               "All rights reserved.<br>"
-               "<br>"
-               "Redistribution and use in source and binary forms, with or "
-               "without modification, are permitted provided that the "
-               "following conditions are met:<br>"
-               "<br>"
-               "1. Redistributions of source code must retain the above "
-               "copyright notice, this list of conditions and the following "
-               "disclaimer.<br>"
-               "2. Redistributions in binary form must reproduce the above "
-               "copyright notice, this list of conditions and the following "
-               "disclaimer in the documentation and/or other materials "
-               "provided with the distribution.<br>"
-               "<br>"
-               "<b>THIS SOFTWARE IS PROVIDED \"AS IS\" AND ANY EXPRESS OR "
-               "IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
"
-               "WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR "
-               "PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 
"
-               "OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, "
-               "INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES "
-               "(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE "
-               "GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS "
-               "INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, "
-               "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING "
-               "NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF "
-               "THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH "
-               "DAMAGE.</b>");
-         elm_object_part_text_set(o, "terminology.text", txt);
-         eina_stringshare_del(txt);
-         evas_object_show(o);
-         edje_object_part_swallow(bg, "terminology.about", ab_layout);
-      }
-    if (!ab_out)
-      {
-         ab_over = o = evas_object_rectangle_add(evas_object_evas_get(win));
-         evas_object_color_set(o, 0, 0, 0, 0);
-         edje_object_part_swallow(bg, "terminology.dismiss", o);
-         evas_object_show(o);
-         evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
-                                        _cb_mouse_down, term);
-         
-         edje_object_signal_emit(bg, "about,show", "terminology");
-         elm_object_signal_emit(ab_layout, "begin" ,"terminology");
-         ab_out = EINA_TRUE;
-         ab_donecb = donecb;
-         ab_donedata = donedata;
-         elm_object_focus_set(ab_layout, EINA_TRUE);
-         if (ab_del_timer)
-           {
-              ecore_timer_del(ab_del_timer);
-              ab_del_timer = NULL;
-           }
-      }
-    else
+    ctx = malloc(sizeof(*ctx));
+    assert(ctx);
+ 
+    ctx->win = win;
+    ctx->base = base;
+    ctx->term = term;
+    ctx->donecb = donecb;
+    ctx->donedata = donedata;
+ 
+    ctx->layout = o = elm_layout_add(win);
+    if (elm_layout_file_set(o, config_theme_path_get(config),
+                            "terminology/about") == 0)
       {
-         evas_object_del(ab_over);
-         ab_over = NULL;
-         
-         edje_object_signal_emit(bg, "about,hide", "terminology");
-         ab_out = EINA_FALSE;
-         elm_object_focus_set(ab_layout, EINA_FALSE);
-         if (ab_donecb) ab_donecb(ab_donedata);
- //        elm_object_focus_set(term, EINA_TRUE);
-         if (ab_del_timer) ecore_timer_del(ab_del_timer);
-         ab_del_timer = ecore_timer_add(10.0,  _cb_ab_del_delay, NULL);
+         snprintf(buf, sizeof(buf), "%s/themes/default.edj",
+                  elm_app_data_dir_get());
+         elm_layout_file_set(o, buf, "terminology/about");
       }
+ 
+    txt = eina_stringshare_printf(_(
+          "<b>Terminology %s</b><br>"
+          "Why should terminals be boring?<br>"
+          "<br>"
+          "This terminal was written for Enlightenment, to use EFL "
+          "and otherwise push the boundaries of what a modern terminal "
+          "emulator should be. We hope you enjoy it.<br>"
+          "<br>"
+          "Copyright © 2012-%d by:<br>"
+          "<br>"
+          "%s" // AUTHORS
+          "<br>"
+          "<br>"
+          "Distributed under the 2-clause BSD license detailed below:<br>"
+          "<br>"
+          "%s" // LICENSE
+          ),
 -      PACKAGE_VERSION, 2017,
++      PACKAGE_VERSION, 2018,
+       "Boris Faure<br>"
+       "Carsten Haitzler<br>"
+       "Gustavo Sverzut Barbieri<br>"
+       "Cedric BAIL<br>"
+       "Sebastian Dransfeld<br>"
+       "Wonguk Jeong<br>"
+       "Christopher Michael<br>"
+       "Daniel Juyung Seo<br>"
+       "Panagiotis Galatsanos<br>"
+       "Mike Blumenkrantz<br>"
+       "Aleksandar Popadić<br>"
+       "Massimo Maiurana<br>"
+       "Stefan Schmidt<br>"
+       "Davide Andreoli<br>"
+       "Gustavo Lima Chaves<br>"
+       "Jean-Philippe ANDRÉ<br>"
+       "Tom Hacohen<br>"
+       "Alex-P. Natsios<br>"
+       "Lee Gwang-O<br>"
+       "Jean Guyomarc'h<br>"
+       "Jihoon Kim<br>"
+       "Kai Huuhko<br>"
+       "Mike McCormack<br>"
+       "Iván Briano<br>"
+       "Jerome Pinot<br>"
+       "José Roberto de Souza<br>"
+       "Leandro Pereira<br>"
+       "Leif Middelschulte<br>"
+       "Markus Törnqvist<br>"
+       "Thibaut Broggi<br>"
+       "Lucas De Marchi<br>"
+       "Marcel Hollerbach<br>"
+       "Anisse Astier<br>"
+       "Daniel Zaoui<br>"
+       "Doug Newgard<br>"
+       "Flavio Vinicius Alvares Ceolin<br>"
+       "Samuel F. Baggen<br>"
+       "Amitesh Singh<br>"
+       "Anthony F McInerney<br>"
+       "Aurélien Larcher<br>"
+       "Bruno Dilly<br>"
+       "Conrad Meyer<br>"
+       "Daniel Kolesa<br>"
+       "Eduardo Lima<br>"
+       "Flavio Ceolin<br>"
+       "Jason L. Cook<br>"
+       "Jérémy Anger<br>"
+       "Michael BOUCHAUD<br>"
+       "Michael Jennings<br>"
+       "Nicholas Hughart<br>"
+       "Rafael Antognolli<br>"
+       "Rui Seabra<br>"
+       "Sanjeev BA<br>"
+       "Theodor van Nahl<br>"
+       "Vincent Torri<br>"
+       "tantSinnister<br>",
+       "All rights reserved.<br>"
+          "<br>"
+          "Redistribution and use in source and binary forms, with or "
+          "without modification, are permitted provided that the "
+          "following conditions are met:<br>"
+          "<br>"
+          "1. Redistributions of source code must retain the above "
+          "copyright notice, this list of conditions and the following "
+          "disclaimer.<br>"
+          "2. Redistributions in binary form must reproduce the above "
+          "copyright notice, this list of conditions and the following "
+          "disclaimer in the documentation and/or other materials "
+          "provided with the distribution.<br>"
+          "<br>"
+          "<b>THIS SOFTWARE IS PROVIDED \"AS IS\" AND ANY EXPRESS OR "
+          "IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED "
+          "WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR "
+          "PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER "
+          "OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, "
+          "INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES "
+          "(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE "
+          "GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS "
+          "INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, "
+          "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING "
+          "NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF "
+          "THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH "
+          "DAMAGE.</b>");
+    elm_object_part_text_set(o, "terminology.text", txt);
+    eina_stringshare_del(txt);
+    evas_object_show(o);
+    edje_object_part_swallow(base, "terminology.about", ctx->layout);
+ 
+    ctx->over = o = evas_object_rectangle_add(evas_object_evas_get(win));
+    evas_object_color_set(o, 0, 0, 0, 0);
+    edje_object_part_swallow(base, "terminology.dismiss", o);
+    evas_object_show(o);
+    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
+                                   _cb_mouse_down, ctx);
+ 
+    edje_object_signal_emit(base, "about,show", "terminology");
+    elm_object_signal_emit(ctx->layout, "begin" ,"terminology");
+    elm_object_focus_set(ctx->layout, EINA_TRUE);
  }

-- 


Reply via email to