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 4311fb9..5e80ff8 100644 Binary files a/data/themes/default/images/brows_logo.png and b/data/themes/default/images/brows_logo.png differ diff --git a/data/themes/default/images/folder.png b/data/themes/default/images/folder.png deleted file mode 100644 index 2a51449..0000000 Binary files a/data/themes/default/images/folder.png and /dev/null differ diff --git a/data/themes/default/images/new.png b/data/themes/default/images/new.png deleted file mode 100644 index d50e676..0000000 Binary files a/data/themes/default/images/new.png and /dev/null differ diff --git a/data/themes/default/layout_common.edc b/data/themes/default/layout_common.edc index 6be77cc..81d9f88 100644 --- a/data/themes/default/layout_common.edc +++ b/data/themes/default/layout_common.edc @@ -1,8 +1,8 @@ images { image: "frame_bg.png" COMP; image: "warning.png" COMP; - image: "folder.png" COMP; - image: "new.png" COMP; + image: "icon_folder.png" COMP; + image: "brows_logo.png" COMP; image: "shine.png" COMP; image: "bub_over_bot.png" COMP; image: "disabler.png" COMP; @@ -82,7 +82,7 @@ group { "fileselector_layout"; fixed: 1 1; rel1.to: "title_frame"; rel2.to: "title_frame"; - image.normal: "folder.png"; + image.normal: "icon_folder.png"; } } text { "elm.text.title"; @@ -278,7 +278,7 @@ group { "newfile_layout"; fixed: 1 1; rel1.to: "title_frame"; rel2.to: "title_frame"; - image.normal: "new.png"; + image.normal: "brows_logo.png"; } } text { "elm.text.title"; diff --git a/data/themes/default/layout_setting.edc b/data/themes/default/layout_setting.edc index 72ff376..d75b6fd 100644 --- a/data/themes/default/layout_setting.edc +++ b/data/themes/default/layout_setting.edc @@ -1,7 +1,8 @@ images { image: "frame_bg.png" COMP; image: "setting_icon.png" COMP; - image: "folder.png" COMP; + image: "icon_folder.png" COMP; + image: "brows_logo.png" COMP; } group { "setting_layout"; @@ -210,7 +211,7 @@ group { "setting_layout"; group { "build_setting_layout"; parts { - spacer { "img_path_frame"; + spacer { "main_edc_frame"; desc { rel1 { relative: 0 0; } rel2 { relative: 1 0; } @@ -219,6 +220,15 @@ group { "build_setting_layout"; fixed: 0 1; } } + spacer { "img_path_frame"; + desc { + rel1 { to: "main_edc_frame"; relative: 0 1; } + rel2 { to: "main_edc_frame"; relative: 1 1; } + align: 0.5 0; + min: 0 30; + fixed: 0 1; + } + } spacer { "snd_path_frame"; scale: 1; desc { @@ -259,6 +269,57 @@ group { "build_setting_layout"; fixed: 0 1; } } + image { "main_edc_icon"; + scale: 1; + desc { + align: 0 0.5; + min: 20 20; + max: 20 20; + fixed: 1 1; + rel1.to: "main_edc_frame"; + rel2.to: "main_edc_frame"; + image.normal: "brows_logo.png"; + } + } + text { "main_edc_guide"; + scale: 1; + effect: SHADOW BOTTOM; + desc { + rel1 { to: "main_edc_icon"; relative: 1 0; offset: 5 1; } + rel2 { to: "main_edc_icon"; relative: 1 1; } + color: COL_NM; + align: 0 0.5; + fixed: 1 1; + text { + font: FN; + text: "Main EDC File:"; + size: 11; + align: 0 0.5; + min: 1 0; + ellipsis: -1; + } + } + } + swallow { "elm.swallow.main_edc_entry"; + scale: 1; + desc { + align: 0 0; + fixed: 1 1; + rel1.to_x: "main_edc_guide"; + rel1.to_y: "main_edc_guide"; + rel1.offset: 5 0; + rel1.relative: 1 0; + rel2.to: "main_edc_frame"; + } + } + swallow { "main_edc_tooltip"; + repeat_events: 1; + desc { + rel1.to: "main_edc_frame"; + rel2.to: "main_edc_frame"; + fixed: 1 1; + } + } image { "img_path_icon"; scale: 1; desc { @@ -268,7 +329,7 @@ group { "build_setting_layout"; fixed: 1 1; rel1.to: "img_path_frame"; rel2.to: "img_path_frame"; - image.normal: "folder.png"; + image.normal: "icon_folder.png"; } } text { "img_path_guide"; @@ -319,7 +380,7 @@ group { "build_setting_layout"; fixed: 1 1; rel1.to: "snd_path_frame"; rel2.to: "snd_path_frame"; - image.normal: "folder.png"; + image.normal: "icon_folder.png"; } } text { "snd_path_guide"; @@ -370,7 +431,7 @@ group { "build_setting_layout"; fixed: 1 1; rel1.to: "fnt_path_frame"; rel2.to: "fnt_path_frame"; - image.normal: "folder.png"; + image.normal: "icon_folder.png"; } } text { "fnt_path_guide"; @@ -421,7 +482,7 @@ group { "build_setting_layout"; fixed: 1 1; rel1.to: "dat_path_frame"; rel2.to: "dat_path_frame"; - image.normal: "folder.png"; + image.normal: "icon_folder.png"; } } text { "dat_path_guide"; diff --git a/src/bin/build_setting.c b/src/bin/build_setting.c index c4f4d97..650db00 100644 --- a/src/bin/build_setting.c +++ b/src/bin/build_setting.c @@ -6,6 +6,7 @@ typedef struct build_setting_s { Evas_Object *layout; + Evas_Object *main_edc_entry; Evas_Object *img_path_entry; Evas_Object *snd_path_entry; Evas_Object *fnt_path_entry; @@ -28,6 +29,12 @@ entry_create(Evas_Object *parent) return entry; } +static void +main_edc_entry_update(Evas_Object *entry, const char *path) +{ + elm_entry_entry_set(entry, path); +} + static void img_path_entry_update(Evas_Object *entry, Eina_List *edc_img_paths) { @@ -93,7 +100,7 @@ build_setting_focus_set(build_setting_data *bsd) { EINA_SAFETY_ON_NULL_RETURN(bsd); - elm_object_focus_set(bsd->img_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);