hermet pushed a commit to branch master.

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

commit 855373f0022ebc9af49fc5d86676d7f07322d720
Author: Jaehyun Cho <[email protected]>
Date:   Fri Dec 12 19:49:50 2014 +0900

    main: Keep view size set last time.
    
    Summary:
    Keep view size set last time by using "live_view,loaded" enventor callback.
    @feature
    
    Reviewers: Hermet
    
    Reviewed By: Hermet
    
    Differential Revision: https://phab.enlightenment.org/D1745
---
 src/bin/config_data.c | 17 ++++++++++++-----
 src/bin/main.c        | 17 ++++++++++++++++-
 2 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index d4c2886..ef6956e 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -21,7 +21,7 @@ typedef struct config_s
 
    void (*update_cb)(void *data);
    void *update_cb_data;
-   Evas_Coord_Size view_size;
+   Evas_Coord view_size_w, view_size_h;
    Evas_Coord win_size_w, win_size_h;
 
    Eina_Bool stats_bar;
@@ -212,6 +212,10 @@ eddc_init(void)
                                  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, "view_size_w",
+                                 view_size_w, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "view_size_h",
+                                 view_size_h, EET_T_INT);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "win_size_w",
                                  win_size_w, EET_T_INT);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "win_size_h",
@@ -230,6 +234,9 @@ 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,
+                                 "view_size_configurable",
+                                 view_size_configurable, EET_T_UCHAR);
 }
 
 void
@@ -681,8 +688,8 @@ config_view_size_set(Evas_Coord w, Evas_Coord h)
 {
    config_data *cd = g_cd;
 
-   cd->view_size.w = w;
-   cd->view_size.h = h;
+   cd->view_size_w = w;
+   cd->view_size_h = h;
 }
 
 void
@@ -690,8 +697,8 @@ config_view_size_get(Evas_Coord *w, Evas_Coord *h)
 {
    config_data *cd = g_cd;
 
-   if (w) *w = cd->view_size.w;
-   if (h) *h = cd->view_size.h;
+   if (w) *w = cd->view_size_w;
+   if (h) *h = cd->view_size_h;
 }
 
 void
diff --git a/src/bin/main.c b/src/bin/main.c
index b1cff1f..84d1316 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -391,8 +391,21 @@ enventor_live_view_resized_cb(void *data EINA_UNUSED,
 {
    if (!config_stats_bar_get()) return;
    Enventor_Live_View_Size *size = event_info;
-   config_view_size_set(size->w, size->h);
    stats_view_size_update(size->w, size->h);
+
+   if (!config_view_size_configurable_get())
+     config_view_size_set(size->w, size->h);
+}
+
+static void
+enventor_live_view_loaded_cb(void *data EINA_UNUSED, Evas_Object *obj,
+                             void *event_info)
+{
+   if (!config_view_size_configurable_get()) return;
+
+   Evas_Coord w, h;
+   config_view_size_get(&w, &h);
+   enventor_object_live_view_size_set(obj, w, h);
 }
 
 static void
@@ -448,6 +461,8 @@ enventor_setup(app_data *ad)
                                   enventor_cursor_group_changed_cb, ad);
    evas_object_smart_callback_add(enventor, "compile,error",
                                   enventor_compile_error_cb, ad);
+   evas_object_smart_callback_add(enventor, "live_view,loaded",
+                                  enventor_live_view_loaded_cb, ad);
    evas_object_smart_callback_add(enventor, "live_view,cursor,moved",
                                   enventor_live_view_cursor_moved_cb, ad);
    evas_object_smart_callback_add(enventor, "live_view,resized",

-- 


Reply via email to