hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=b3fcaaa7b1d58af443a2280c5805c3125a60dcff

commit b3fcaaa7b1d58af443a2280c5805c3125a60dcff
Author: ChunEon Park <her...@hermet.pe.kr>
Date:   Thu Aug 14 18:29:53 2014 +0900

    console: keep the previous position even it relaunched
---
 src/bin/base_gui.c        | 12 ++----------
 src/bin/config_data.c     | 18 +++++++++---------
 src/bin/main.c            |  3 +--
 src/bin/panes.c           | 24 ++++++++++++------------
 src/bin/setting.c         |  9 ---------
 src/bin/tools.c           |  2 +-
 src/include/base_gui.h    |  1 -
 src/include/config_data.h |  4 ++--
 src/include/panes.h       |  2 ++
 9 files changed, 29 insertions(+), 46 deletions(-)

diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c
index 5e72a41..cad8e54 100644
--- a/src/bin/base_gui.c
+++ b/src/bin/base_gui.c
@@ -128,12 +128,9 @@ base_live_view_set(Evas_Object *live_view)
 }
 
 void
-base_console_toggle(Eina_Bool config)
+base_console_toggle()
 {
    base_data *bd = g_bd;
-
-   if (config) config_console_set(!config_console_get());
-
    panes_editors_full_view();
 }
 
@@ -149,12 +146,7 @@ static void
 err_noti_cb(void *data, const char *msg)
 {
    base_data *bd = data;
-
-   if (!config_console_get())
-     {
-        base_editors_full_view();
-        config_console_set(EINA_TRUE);
-     }
+   if (panes_editors_full_view_get()) base_editors_full_view();
    elm_object_signal_emit(bd->layout, "elm,state,alert,show", "");
    console_text_set(bd->console, msg);
 }
diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index 2fae866..bc58043 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -17,6 +17,7 @@ typedef struct config_s
 
    float font_size;
    double view_scale;
+   double console_size;
 
    void (*update_cb)(void *data);
    void *update_cb_data;
@@ -29,7 +30,6 @@ typedef struct config_s
    Eina_Bool auto_indent;
    Eina_Bool tools;
    Eina_Bool auto_complete;
-   Eina_Bool console;
    Eina_Bool live_edit;
 } config_data;
 
@@ -131,6 +131,7 @@ config_load(void)
           }
         cd->font_size = 1.0f;
         cd->view_scale = 1;
+        cd->console_size = 0.175;
         cd->stats_bar = EINA_TRUE;
         cd->linenumber = EINA_TRUE;
         cd->part_highlight = EINA_TRUE;
@@ -138,7 +139,6 @@ config_load(void)
         cd->auto_indent = EINA_TRUE;
         cd->tools = EINA_FALSE;
         cd->auto_complete = EINA_TRUE;
-        cd->console = EINA_FALSE;
         cd->live_edit = EINA_FALSE;
      }
 
@@ -200,6 +200,8 @@ eddc_init(void)
                                  EET_T_FLOAT);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "view_scale",
                                  view_scale, EET_T_DOUBLE);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "console_size",
+                                 console_size, EET_T_DOUBLE);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "stats_bar", stats_bar,
                                  EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "linenumber",
@@ -214,8 +216,6 @@ eddc_init(void)
                                  tools, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_complete",
                                     auto_complete, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "console",
-                                 console, EET_T_UCHAR);
 }
 
 void
@@ -680,18 +680,18 @@ config_view_size_get(Evas_Coord *w, Evas_Coord *h)
    if (h) *h = cd->view_size.h;
 }
 
-Eina_Bool
-config_console_get(void)
+double
+config_console_size_get(void)
 {
    config_data *cd = g_cd;
-   return cd->console;
+   return cd->console_size;
 }
 
 void
-config_console_set(Eina_Bool enabled)
+config_console_size_set(double size)
 {
    config_data *cd = g_cd;
-   cd->console = enabled;
+   cd->console_size = size;
 }
 
 Eina_Bool
diff --git a/src/bin/main.c b/src/bin/main.c
index 4c85a56..8d3a428 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -294,7 +294,7 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
    //Console
    if (!strcmp(event->key, "F10"))
      {
-        base_console_toggle(EINA_TRUE);
+        base_console_toggle();
         return ECORE_CALLBACK_DONE;
      }
    //Statusbar
@@ -419,7 +419,6 @@ config_update_cb(void *data)
    edit_font_size_update(ad->ed, EINA_FALSE, EINA_TRUE);
 
    base_tools_toggle(EINA_FALSE);
-   base_console_toggle(EINA_FALSE);
    base_statusbar_toggle(EINA_FALSE);
    edit_part_highlight_toggle(ad->ed, EINA_FALSE);
    view_dummy_toggle(VIEW_DATA, EINA_FALSE);
diff --git a/src/bin/panes.c b/src/bin/panes.c
index 5d8117e..c7945fb 100644
--- a/src/bin/panes.c
+++ b/src/bin/panes.c
@@ -60,6 +60,7 @@ v_unpress_cb(void *data, Evas_Object *obj, void *event_info 
EINA_UNUSED)
     panes_data *pd = data;
     double size = elm_panes_content_right_size_get(obj);
     if (pd->vert.last_size[0] != size) pd->vert.last_size[1] = size;
+    config_console_size_set(size);
 }
 
 static void
@@ -105,8 +106,6 @@ panes_v_full_view_cancel(panes_data *pd)
    elm_transit_go(transit);
 
    pd->vert.state = PANES_SPLIT_VIEW;
-
-   config_console_set(EINA_TRUE);
 }
 
 void
@@ -163,6 +162,14 @@ panes_live_view_full_view(void)
    pd->horiz.state = PANES_LIVE_VIEW_EXPAND;
 }
 
+Eina_Bool
+panes_editors_full_view_get(void)
+{
+   panes_data *pd = g_pd;
+   if (pd->vert.state == PANES_EDITORS_EXPAND) return EINA_TRUE;
+   else return EINA_FALSE;
+}
+
 void
 panes_editors_full_view(void)
 {
@@ -187,8 +194,6 @@ panes_editors_full_view(void)
    elm_transit_go(transit);
 
    pd->vert.state = PANES_EDITORS_EXPAND;
-
-   config_console_set(EINA_FALSE);
 }
 
 void
@@ -250,8 +255,6 @@ panes_term(void)
 Evas_Object *
 panes_init(Evas_Object *parent)
 {
-   const double DEFAULT_CONSOLE_SIZE = 0.175;
-
    panes_data *pd = malloc(sizeof(panes_data));
    if (!pd)
      {
@@ -271,8 +274,8 @@ panes_init(Evas_Object *parent)
 
    pd->vert.obj = panes_v;
    pd->vert.state = PANES_SPLIT_VIEW;
-   pd->vert.last_size[0] = DEFAULT_CONSOLE_SIZE;
-   pd->vert.last_size[1] = DEFAULT_CONSOLE_SIZE;
+   pd->vert.last_size[0] = config_console_size_get();
+   pd->vert.last_size[1] = config_console_size_get();
 
    //Panes Horizontal
    Evas_Object *panes_h = elm_panes_add(parent);
@@ -290,10 +293,7 @@ panes_init(Evas_Object *parent)
    pd->horiz.last_size[0] = 0.5;
    pd->horiz.last_size[1] = 0.5;
 
-   if (config_console_get())
-     elm_panes_content_right_size_set(panes_v, DEFAULT_CONSOLE_SIZE);
-   else
-     elm_panes_content_right_size_set(panes_v, 0.0);
+   elm_panes_content_right_size_set(panes_v, config_console_size_get());
 
    return panes_v;
 }
diff --git a/src/bin/setting.c b/src/bin/setting.c
index 06aa754..2dc303c 100644
--- a/src/bin/setting.c
+++ b/src/bin/setting.c
@@ -12,7 +12,6 @@ struct setting_s
    Evas_Object *slider_font;
    Evas_Object *slider_view;
    Evas_Object *toggle_tools;
-   Evas_Object *toggle_console;
    Evas_Object *toggle_stats;
    Evas_Object *toggle_linenum;
    Evas_Object *toggle_highlight;
@@ -108,7 +107,6 @@ setting_apply_btn_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    config_font_size_set((float) elm_slider_value_get(sd->slider_font));
    config_view_scale_set(elm_slider_value_get(sd->slider_view));
    config_tools_set(elm_check_state_get(sd->toggle_tools));
-   config_console_set(elm_check_state_get(sd->toggle_console));
    config_stats_bar_set(elm_check_state_get(sd->toggle_stats));
    config_linenumber_set(elm_check_state_get(sd->toggle_linenum));
    config_part_highlight_set(elm_check_state_get(sd->toggle_highlight));
@@ -147,7 +145,6 @@ setting_reset_btn_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
    elm_slider_value_set(sd->slider_view, (double) config_view_scale_get());
 
    elm_check_state_set(sd->toggle_tools, config_tools_get());
-   elm_check_state_set(sd->toggle_console, config_console_get());
    elm_check_state_set(sd->toggle_stats, config_stats_bar_get());
    elm_check_state_set(sd->toggle_linenum, config_linenumber_get());
    elm_check_state_set(sd->toggle_highlight, config_part_highlight_get());
@@ -317,11 +314,6 @@ setting_open(void)
                                              config_tools_get());
    elm_box_pack_end(box, toggle_tools);
 
-   //Toggle (Console)
-   Evas_Object *toggle_console = toggle_create(box, "Console",
-                                               config_console_get());
-   elm_box_pack_end(box, toggle_console);
-
    //Toggle (Status)
    Evas_Object *toggle_stats = toggle_create(box, "Status",
                                              config_stats_bar_get());
@@ -381,7 +373,6 @@ setting_open(void)
    sd->slider_font = slider_font;
    sd->slider_view = slider_view;
    sd->toggle_tools = toggle_tools;
-   sd->toggle_console = toggle_console;
    sd->toggle_stats = toggle_stats;
    sd->toggle_linenum = toggle_linenum;
    sd->toggle_highlight = toggle_highlight;
diff --git a/src/bin/tools.c b/src/bin/tools.c
index 5d94a52..badbf5b 100644
--- a/src/bin/tools.c
+++ b/src/bin/tools.c
@@ -105,7 +105,7 @@ static void
 console_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
            void *event_info)
 {
-   base_console_toggle(EINA_TRUE);
+   base_console_toggle();
    item_unselect((Elm_Object_Item *)event_info);
 }
 
diff --git a/src/include/base_gui.h b/src/include/base_gui.h
index 212447c..96c6f36 100644
--- a/src/include/base_gui.h
+++ b/src/include/base_gui.h
@@ -13,7 +13,6 @@ void base_text_editor_full_view(void);
 void base_live_view_full_view(void);
 void base_editors_full_view(void);
 void base_console_full_view(void);
-void base_console_toggle(Eina_Bool config);
 void base_live_view_set(Evas_Object *live_view);
 void base_text_editor_set(Evas_Object *text_editor);
 void base_gui_term(void);
diff --git a/src/include/config_data.h b/src/include/config_data.h
index 7b99273..04afe54 100644
--- a/src/include/config_data.h
+++ b/src/include/config_data.h
@@ -44,5 +44,5 @@ void config_view_scale_set(double view_scale);
 double config_view_scale_get(void);
 Eina_Bool config_tools_get(void);
 void config_tools_set(Eina_Bool enabled);
-Eina_Bool config_console_get(void);
-void config_console_set(Eina_Bool enabled);
+double config_console_size_get(void);
+void config_console_size_set(double size);
diff --git a/src/include/panes.h b/src/include/panes.h
index d80cdbc..5e97d6a 100644
--- a/src/include/panes.h
+++ b/src/include/panes.h
@@ -7,3 +7,5 @@ void panes_console_full_view(void);
 void panes_live_view_set(Evas_Object *live_view);
 void panes_text_editor_set(Evas_Object *text_editor);
 void panes_console_set(Evas_Object *console);
+Eina_Bool panes_editors_full_view_get(void);
+

-- 


Reply via email to