diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 4b83e54e1..b3acfed4d 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -616,6 +616,30 @@ e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, void (*func) (void *da sd->icon_menu.end.data = data; } +EAPI void +e_fm2_icon_menu_flags_set(Evas_Object *obj, E_Fm2_Menu_Flags flags) +{ + E_Fm2_Smart_Data *sd; + + sd = evas_object_smart_data_get(obj); + if (!sd) return; // safety + if (!evas_object_type_get(obj)) return; // safety + if (strcmp(evas_object_type_get(obj), "e_fm")) return; // safety + sd->icon_menu.flags = flags; +} + +EAPI E_Fm2_Menu_Flags +e_fm2_icon_menu_flags_get(Evas_Object *obj) +{ + E_Fm2_Smart_Data *sd; + + sd = evas_object_smart_data_get(obj); + if (!sd) return 0; // safety + if (!evas_object_type_get(obj)) return 0; // safety + if (strcmp(evas_object_type_get(obj), "e_fm")) return 0; // safety + return sd->icon_menu.flags; +} + EAPI void e_fm2_window_object_set(Evas_Object *obj, E_Object *eobj) { @@ -4265,7 +4289,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) E_Container *con; E_Zone *zone; Evas_List *sel; - int x, y, can_w, can_w2, protected; + int x, y, can_w, can_w2, protect; char buf[4096]; sd = ic->sd; @@ -4382,12 +4406,12 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) if ((!sel) || evas_list_count(sel) == 1) { snprintf(buf, sizeof(buf), "%s/%s", sd->realpath, ic->info.file); - protected = e_filereg_file_protected(buf); + protect = e_filereg_file_protected(buf); } else - protected = 0; + protect = 0; - if ((can_w) && (can_w2) && !(protected)) + if ((can_w) && (can_w2) && !(protect)) { mi = e_menu_item_new(mn); e_menu_item_separator_set(mi, 1); diff --git a/src/bin/e_fm.h b/src/bin/e_fm.h index 07096f9b5..aca5b0d47 100644 --- a/src/bin/e_fm.h +++ b/src/bin/e_fm.h @@ -129,6 +129,8 @@ EAPI void e_fm2_file_show(Evas_Object *obj, const char *file); EAPI void e_fm2_icon_menu_replace_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data); EAPI void e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data); EAPI void e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info), void *data); +EAPI void e_fm2_icon_menu_flags_set(Evas_Object *obj, E_Fm2_Menu_Flags flags); +EAPI E_Fm2_Menu_Flags e_fm2_icon_menu_flags_get(Evas_Object *obj); EAPI void e_fm2_window_object_set(Evas_Object *obj, E_Object *eobj); EAPI void e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y); diff --git a/src/bin/e_fwin.c b/src/bin/e_fwin.c index 6b1c8aab1..85619a12d 100644 --- a/src/bin/e_fwin.c +++ b/src/bin/e_fwin.c @@ -831,6 +831,7 @@ _e_fwin_file_open_dialog(E_Fwin *fwin, Evas_List *files, int always) fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(mt, &fmc); + e_fm2_icon_menu_flags_set(mt, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(mt, "selection_change", _e_fwin_cb_fm_selection_change, fad); evas_object_smart_callback_add(mt, "selected", diff --git a/src/bin/e_int_config_apps.c b/src/bin/e_int_config_apps.c index 4968a0fd1..a24fdb91c 100644 --- a/src/bin/e_int_config_apps.c +++ b/src/bin/e_int_config_apps.c @@ -533,6 +533,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf fmc_all.selection.single = 1; fmc_all.selection.windows_modifiers = 0; e_fm2_config_set(mt, &fmc_all); + e_fm2_icon_menu_flags_set(mt, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(mt, "dir_changed", _cb_files_dir_changed_all, cfdata); evas_object_smart_callback_add(mt, "selected", @@ -620,6 +621,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(mt, &fmc); + e_fm2_icon_menu_flags_set(mt, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(mt, "dir_changed", _cb_files_dir_changed, cfdata); evas_object_smart_callback_add(mt, "selection_change", diff --git a/src/bin/e_int_config_desklock.c b/src/bin/e_int_config_desklock.c index a55c1bc2c..78df7b8eb 100644 --- a/src/bin/e_int_config_desklock.c +++ b/src/bin/e_int_config_desklock.c @@ -602,6 +602,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); + e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(o, "dir_changed", _cb_files_changed, cfdata); evas_object_smart_callback_add(o, "selection_change", diff --git a/src/bin/e_int_config_icon_themes.c b/src/bin/e_int_config_icon_themes.c index 6d42e1f3c..4c2a6cfea 100644 --- a/src/bin/e_int_config_icon_themes.c +++ b/src/bin/e_int_config_icon_themes.c @@ -244,6 +244,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(mt, &fmc); + e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(mt, "dir_changed", _cb_files_changed, cfdata); // e_fm2_path_set(cfdata->gui.o_fm, "/opt/kde3/share/icons/crystalsvg", "/"); diff --git a/src/bin/e_int_config_startup.c b/src/bin/e_int_config_startup.c index 7ec5bf58c..1236e627c 100644 --- a/src/bin/e_int_config_startup.c +++ b/src/bin/e_int_config_startup.c @@ -310,6 +310,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); + e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(o, "dir_changed", _cb_files_changed, cfdata); evas_object_smart_callback_add(o, "selection_change", diff --git a/src/bin/e_int_config_theme.c b/src/bin/e_int_config_theme.c index aa0c0b4cc..546d0ef2b 100644 --- a/src/bin/e_int_config_theme.c +++ b/src/bin/e_int_config_theme.c @@ -398,6 +398,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); + e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(o, "dir_changed", _cb_files_changed, cfdata); evas_object_smart_callback_add(o, "selection_change", diff --git a/src/bin/e_int_config_wallpaper.c b/src/bin/e_int_config_wallpaper.c index 4cb186775..0d77ab588 100644 --- a/src/bin/e_int_config_wallpaper.c +++ b/src/bin/e_int_config_wallpaper.c @@ -494,6 +494,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); + e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(o, "dir_changed", _cb_files_changed, cfdata); evas_object_smart_callback_add(o, "selection_change", @@ -649,6 +650,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); + e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN); evas_object_smart_callback_add(o, "dir_changed", _cb_files_changed, cfdata); evas_object_smart_callback_add(o, "selection_change",