From 534805a68844d65bb795322c4c7abb0b1ffa8e9b Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Sun, 7 Aug 2016 04:35:08 +0900 Subject: [PATCH] build_setting: add a main edc file path. Support to change main edc file in build setting. Also, Enventor will support a shortcut key to change main edc file. --- data/themes/default/images/Makefile.am | 2 - data/themes/default/images/brows_logo.png | Bin 3360 -> 3350 bytes data/themes/default/images/folder.png | Bin 395 -> 0 bytes data/themes/default/images/new.png | Bin 288 -> 0 bytes data/themes/default/layout_common.edc | 8 +-- data/themes/default/layout_setting.edc | 73 ++++++++++++++++++++-- src/bin/build_setting.c | 32 +++++++++- src/bin/config_data.c | 1 + src/bin/file_browser.c | 35 ++++++----- src/bin/main.c | 36 ++++++++--- src/include/file_browser.h | 1 + 11 files changed, 152 insertions(+), 36 deletions(-) delete mode 100644 data/themes/default/images/folder.png delete mode 100644 data/themes/default/images/new.png diff --git a/data/themes/default/images/Makefile.am b/data/themes/default/images/Makefile.am index f892b2e..6061a07 100644 --- a/data/themes/default/images/Makefile.am +++ b/data/themes/default/images/Makefile.am @@ -12,7 +12,6 @@ EXTRA_DIST = \ bt_hilight.png \ bt_shine.png \ bub_over_bot.png \ - folder.png \ glow_small.png \ holes_tiny_glow_horiz.png \ holes_tiny_glow_vert.png \ @@ -59,7 +58,6 @@ EXTRA_DIST = \ live_spacer_icon.png \ live_text.png \ live_textblock.png \ - new.png \ slider_up.png \ slider_down.png \ save.png \ diff --git a/data/themes/default/images/brows_logo.png b/data/themes/default/images/brows_logo.png index 4311fb99ca2881db045797f1a848509c701f69c7..5e80ff88fbf7f197d8601e536e19aa053d052e56 100644 GIT binary patch delta 3266 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 A$^ZZW delta 3276 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 diff --git a/data/themes/default/images/new.png b/data/themes/default/images/new.png deleted file mode 100644 index d50e6762c5d1e76c7dfa4293b949f562c63003cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VTavfC3&Vd9T(EcfWS|IVfk$L9 z0|U1(2s1Lwnj--eWH0gbb!C6RB+YCf@cjQOA)wG&PZ!4!i_>o}?B{AM6gl?s{Q1>9 zX4eimg_path_entry, EINA_TRUE); + elm_object_focus_set(bsd->main_edc_entry, EINA_TRUE); } void @@ -101,6 +108,7 @@ build_setting_config_set(build_setting_data *bsd) { if (!bsd) return; + config_input_path_set(elm_object_text_get(bsd->main_edc_entry)); config_img_path_set(elm_object_text_get(bsd->img_path_entry)); config_snd_path_set(elm_object_text_get(bsd->snd_path_entry)); config_fnt_path_set(elm_object_text_get(bsd->fnt_path_entry)); @@ -112,6 +120,7 @@ build_setting_reset(build_setting_data *bsd) { if (!bsd) return; + main_edc_entry_update(bsd->main_edc_entry, config_input_path_get()); img_path_entry_update(bsd->img_path_entry, (Eina_List *)config_img_path_list_get()); snd_path_entry_update(bsd->snd_path_entry, @@ -135,11 +144,29 @@ build_setting_content_get(build_setting_data *bsd, Evas_Object *parent) evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(layout); + //Main EDC Path Entry + Evas_Object *main_edc_entry = entry_create(layout); + main_edc_entry_update(main_edc_entry, config_input_path_get()); + elm_object_focus_set(main_edc_entry, EINA_TRUE); + elm_object_part_content_set(layout, "elm.swallow.main_edc_entry", + main_edc_entry); + elm_layout_text_set(layout, "main_edc_guide", _("Main EDC File:")); + + //Main EDC Path Tooltip + Evas_Object *main_edc_tooltip = elm_button_add(layout); + elm_object_style_set(main_edc_tooltip, ENVENTOR_NAME); + elm_object_part_content_set(layout, "main_edc_tooltip", main_edc_tooltip); + + elm_object_tooltip_text_set(main_edc_tooltip, + _("Main EDC File path, which is containing
" + "collections, used for a current
" + "project.")); + elm_object_focus_allow_set(main_edc_tooltip, EINA_FALSE); + //Image Path Entry Evas_Object *img_path_entry = entry_create(layout); img_path_entry_update(img_path_entry, (Eina_List *)config_img_path_list_get()); - elm_object_focus_set(img_path_entry, EINA_TRUE); elm_object_part_content_set(layout, "elm.swallow.img_path_entry", img_path_entry); elm_layout_text_set(layout, "img_path_guide", _("Image paths:")); @@ -209,6 +236,7 @@ build_setting_content_get(build_setting_data *bsd, Evas_Object *parent) elm_object_focus_allow_set(data_path_tooltip, EINA_FALSE); bsd->layout = layout; + bsd->main_edc_entry = main_edc_entry; bsd->img_path_entry = img_path_entry; bsd->snd_path_entry = snd_path_entry; bsd->fnt_path_entry = fnt_path_entry; diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 4ac403c..689cbd0 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -331,6 +331,7 @@ void config_input_path_set(const char *input_path) { config_data *cd = g_cd; + if (input_path == cd->input_path) return; eina_stringshare_replace(&cd->input_path, input_path); config_edj_path_update(cd); } diff --git a/src/bin/file_browser.c b/src/bin/file_browser.c index 9f62437..d99a3a6 100644 --- a/src/bin/file_browser.c +++ b/src/bin/file_browser.c @@ -586,20 +586,7 @@ static void refresh_btn_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - brows_data *bd = g_bd; - if (!bd) return; - - if (bd->mode == FILE_BROWSER_MODE_DEFAULT) - file_browser_workspace_reset(); - else - { - if (bd->search_file_list) - { - brows_file_list_free(bd->search_file_list); - bd->search_file_list = NULL; - } - search_file_set(config_workspace_path_get()); - } + file_browser_refresh(); } static void @@ -821,3 +808,23 @@ file_browser_tools_visible_set(Eina_Bool visible) else elm_object_signal_emit(bd->base_layout, "elm,state,tools,hide", ""); } + +void +file_browser_refresh(void) +{ + brows_data *bd = g_bd; + if (!bd) return; + + if (bd->mode == FILE_BROWSER_MODE_DEFAULT) + file_browser_workspace_reset(); + else + { + if (bd->search_file_list) + { + brows_file_list_free(bd->search_file_list); + bd->search_file_list = NULL; + } + search_file_set(config_workspace_path_get()); + } + +} diff --git a/src/bin/main.c b/src/bin/main.c index fd64df1..c192b40 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -115,6 +115,19 @@ syntax_color_init(Enventor_Object *enventor) } } +static void +main_edc_update(void) +{ + //Update file browser only if main item is changed, + Enventor_Item *main_it = enventor_object_main_item_get(base_enventor_get()); + const char *prev_path = NULL; + if (main_it) prev_path = enventor_item_file_get(main_it); + if (prev_path == config_input_path_get()) return; + + file_mgr_main_file_set(config_input_path_get()); + file_browser_refresh(); +} + static void config_update_cb(void *data EINA_UNUSED) { @@ -127,6 +140,8 @@ config_update_cb(void *data EINA_UNUSED) base_tools_toggle(EINA_FALSE); base_statusbar_toggle(EINA_FALSE); base_console_auto_hide(); + + main_edc_update(); } static Eina_Bool @@ -563,7 +578,7 @@ enventor_mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, base_edc_navigator_deselect(); } -static void +static Enventor_Object * enventor_setup(app_data *ad) { Enventor_Object *enventor = enventor_object_add(base_layout_get()); @@ -603,8 +618,8 @@ enventor_setup(app_data *ad) enventor_common_setup(enventor); base_enventor_set(enventor); - file_mgr_main_file_set(config_input_path_get()); - base_live_view_set(enventor_object_live_view_get(enventor)); + + return enventor; } static Eina_Bool @@ -1059,33 +1074,38 @@ init(app_data *ad, int argc, char **argv) enventor_init(argc, argv); if (!enventor_lock_create()) return EINA_FALSE; - sigaction_setup(); + sigaction_setup(); Eina_Bool template = EINA_FALSE; Eina_Bool default_edc = EINA_TRUE; if (!config_data_set(argc, argv, &default_edc, &template)) return EINA_FALSE; + newfile_default_set(default_edc); base_gui_init(); statusbar_set(); - enventor_setup(ad); + Enventor_Object *enventor = enventor_setup(ad); file_mgr_init(); + + file_mgr_main_file_set(config_input_path_get()); + base_live_view_set(enventor_object_live_view_get(enventor)); + tools_set(); live_edit_set(); base_gui_show(); //Guarantee Enventor editor has focus. - enventor_object_focus_set(base_enventor_get(), EINA_TRUE); + enventor_object_focus_set(enventor, EINA_TRUE); menu_init(); if (template) menu_edc_new(EINA_TRUE); //Initialize syntax color. - syntax_color_init(base_enventor_get()); - syntax_color_update(base_enventor_get()); + syntax_color_init(enventor); + syntax_color_update(enventor); keygrabber_init(ad); diff --git a/src/include/file_browser.h b/src/include/file_browser.h index 0b2259d..b31b112 100644 --- a/src/include/file_browser.h +++ b/src/include/file_browser.h @@ -3,3 +3,4 @@ void file_browser_term(void); void file_browser_workspace_set(const char *workspace_dir); void file_browser_tools_set(void); void file_browser_tools_visible_set(Eina_Bool visible); +void file_browser_refresh(void);