hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=386edb7ab55e2456c7bf5395070fcc425fc48cb8
commit 386edb7ab55e2456c7bf5395070fcc425fc48cb8 Author: Hermet Park <her...@hermet.pe.kr> Date: Fri Apr 22 16:22:53 2016 +0900 edc_navigator: store/restore auto contraction mode. --- src/bin/config_data.c | 18 ++++++++++++++++++ src/bin/edc_navigator.c | 15 +++++++-------- src/include/common.h | 2 +- src/include/config_data.h | 2 ++ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 6b3b98e..b9c0391 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -42,6 +42,7 @@ typedef struct config_s Eina_Bool smart_undo_redo; Eina_Bool file_browser; Eina_Bool edc_navigator; + Eina_Bool auto_contract; } config_data; static config_data *g_cd = NULL; @@ -189,6 +190,7 @@ config_load(void) cd->smart_undo_redo = EINA_FALSE; cd->file_browser = EINA_TRUE; cd->edc_navigator = EINA_TRUE; + cd->auto_contract = EINA_FALSE; } g_cd = cd; @@ -310,6 +312,8 @@ eddc_init(void) file_browser, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "edc_navigator", edc_navigator, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_contract", + auto_contract, EET_T_UCHAR); } void @@ -942,6 +946,20 @@ config_file_browser_get(void) } void +config_auto_contract_set(Eina_Bool enabled) +{ + config_data *cd = g_cd; + cd->auto_contract = enabled; +} + +Eina_Bool +config_auto_contract_get(void) +{ + config_data *cd = g_cd; + return cd->auto_contract; +} + +void config_edc_navigator_set(Eina_Bool enabled) { config_data *cd = g_cd; diff --git a/src/bin/edc_navigator.c b/src/bin/edc_navigator.c index b2c25bb..c83f865 100644 --- a/src/bin/edc_navigator.c +++ b/src/bin/edc_navigator.c @@ -27,8 +27,6 @@ typedef struct edc_navigator_s Elm_Genlist_Item_Class *programs_itc; Elm_Genlist_Item_Class *program_itc; - Eina_Bool auto_contract : 1; - } navi_data; typedef enum @@ -131,9 +129,10 @@ static void check_changed_cb(void *data, Evas_Object *obj, void *event_info) { navi_data *nd = data; - nd->auto_contract = elm_check_state_get(obj); + Eina_Bool auto_contract = elm_check_state_get(obj); + config_auto_contract_set(auto_contract); - if (!nd->auto_contract) return; + if (!auto_contract) return; // Contract all groups instantly. Eina_List *l; @@ -778,7 +777,7 @@ programs_expand(programs_it *pit) sub_programs_update(pit->git->nd, pit); //If auto contraction is enabled, then close other parts - if (!(pit->git->nd->auto_contract)) return; + if (!config_auto_contract_get()) return; //Contract part states part_it *pit2; @@ -1084,7 +1083,7 @@ part_expand(part_it *pit) states_update(pit->git->nd, pit); //If auto contraction is enabled, then close other parts and programs - if (!(pit->git->nd->auto_contract)) return; + if (!config_auto_contract_get()) return; //Contract other part states part_it *pit2; @@ -1129,7 +1128,7 @@ group_expand(group_it *git) group_update(git->nd, git); //If auto contraction is enabled, then close other parts - if (!(git->nd->auto_contract)) return; + if (!config_auto_contract_get()) return; //Contract other groups group_it *git2; @@ -1357,7 +1356,7 @@ edc_navigator_init(Evas_Object *parent) //Check for genlist option Evas_Object *check = elm_check_add(box); elm_object_text_set(check, "Automatic Contraction"); - elm_check_state_set(check, EINA_FALSE); + elm_check_state_set(check, config_auto_contract_get()); evas_object_smart_callback_add(check, "changed", check_changed_cb, nd); elm_object_focus_allow_set(check, EINA_FALSE); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0); diff --git a/src/include/common.h b/src/include/common.h index 5736664..dc87c5d 100644 --- a/src/include/common.h +++ b/src/include/common.h @@ -54,7 +54,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" #define ROUNDING(x, dig) (floor((x) * pow(10, dig) + 0.5) / pow(10, dig)) -#define ENVENTOR_CONFIG_VERSION 8 +#define ENVENTOR_CONFIG_VERSION 9 #define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \ ((MASK & ECORE_EVENT_MODIFIER_##NAME) && \ diff --git a/src/include/config_data.h b/src/include/config_data.h index 3e0ca07..90d765e 100644 --- a/src/include/config_data.h +++ b/src/include/config_data.h @@ -63,3 +63,5 @@ void config_file_browser_set(Eina_Bool enabled); Eina_Bool config_file_browser_get(void); void config_edc_navigator_set(Eina_Bool enabled); Eina_Bool config_edc_navigator_get(void); +void config_auto_contract_set(Eina_Bool enabled); +Eina_Bool config_auto_contract_get(void); --