be more lenient on valid exe's in ibar, e apps, menus.

close fwin's if dir is deleted.


SVN revision: 26657
This commit is contained in:
Carsten Haitzler 2006-10-16 14:26:02 +00:00
parent 44edde0092
commit e46db8b050
4 changed files with 66 additions and 51 deletions

3
TODO
View File

@ -26,11 +26,12 @@ Some of the things (in very short form) that need to be done to E17...
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
ESSENTIAL FEATURES ESSENTIAL FEATURES
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
* fm2 needs a right-click file properties dialog
* fm2 needs a way to set custom backgrounds and handle scrolling * fm2 needs a way to set custom backgrounds and handle scrolling
* fm2 needs to display symlink info on files somehow * fm2 needs to display symlink info on files somehow
* fm2 needs to display more than 1 file being dragged (if more than 1 is being * fm2 needs to display more than 1 file being dragged (if more than 1 is being
dragged) dragged)
* fm2 needs a way of mapping a mimetype to 1 ore more commands to execute or * fm2 needs a way of mapping a mimetype to 1 or more commands to execute or
internal e actions to do (like add as wallpaper etc.) internal e actions to do (like add as wallpaper etc.)
* fm2 needs a way to use custom icons per dir/file * fm2 needs a way to use custom icons per dir/file
* fm2 needs a icon views (auto-arrange, snap to grid and free placement) * fm2 needs a icon views (auto-arrange, snap to grid and free placement)

View File

@ -452,8 +452,8 @@ e_app_new(const char *path, int scan_subdirs)
e_app_fields_fill(a, a->path); e_app_fields_fill(a, a->path);
/* no exe field.. not valid. drop it */ /* no exe field.. not valid. drop it */
// if (!_e_app_exe_valid_get(a->exe)) // if (!_e_app_exe_valid_get(a->exe))
// goto error; // goto error;
} }
else else
goto error; goto error;
@ -2502,6 +2502,7 @@ _e_app_cb_monitor(void *data, Ecore_File_Monitor *em,
e_app_fields_fill(a, path); e_app_fields_fill(a, path);
if (a->filled) if (a->filled)
{ {
/* allow invalid apps
if (!_e_app_exe_valid_get(a->exe)) if (!_e_app_exe_valid_get(a->exe))
{ {
a->deleted = 1; a->deleted = 1;
@ -2517,6 +2518,7 @@ _e_app_cb_monitor(void *data, Ecore_File_Monitor *em,
_e_app_subdir_rescan(app); _e_app_subdir_rescan(app);
} }
else else
*/
{ {
_e_app_change(a, E_APP_CHANGE); _e_app_change(a, E_APP_CHANGE);
for (l = a->references; l; l = l->next) for (l = a->references; l; l = l->next)

View File

@ -12,6 +12,7 @@
static void _e_fwin_free(E_Fwin *fwin); static void _e_fwin_free(E_Fwin *fwin);
static void _e_fwin_cb_delete(E_Win *win); static void _e_fwin_cb_delete(E_Win *win);
static void _e_fwin_cb_resize(E_Win *win); static void _e_fwin_cb_resize(E_Win *win);
static void _e_fwin_deleted(void *data, Evas_Object *obj, void *event_info);
static void _e_fwin_changed(void *data, Evas_Object *obj, void *event_info); static void _e_fwin_changed(void *data, Evas_Object *obj, void *event_info);
static void _e_fwin_selected(void *data, Evas_Object *obj, void *event_info); static void _e_fwin_selected(void *data, Evas_Object *obj, void *event_info);
static void _e_fwin_menu_extend(void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info); static void _e_fwin_menu_extend(void *data, Evas_Object *obj, E_Menu *m, E_Fm2_Icon_Info *info);
@ -85,6 +86,8 @@ e_fwin_new(E_Container *con, const char *dev, const char *path)
e_fm2_config_set(o, &fmc); e_fm2_config_set(o, &fmc);
evas_object_smart_callback_add(o, "dir_changed", evas_object_smart_callback_add(o, "dir_changed",
_e_fwin_changed, fwin); _e_fwin_changed, fwin);
evas_object_smart_callback_add(o, "dir_deleted",
_e_fwin_deleted, fwin);
evas_object_smart_callback_add(o, "selected", evas_object_smart_callback_add(o, "selected",
_e_fwin_selected, fwin); _e_fwin_selected, fwin);
e_fm2_path_set(o, dev, path); e_fm2_path_set(o, dev, path);
@ -161,6 +164,15 @@ _e_fwin_cb_resize(E_Win *win)
evas_object_resize(fwin->scrollframe_obj, fwin->win->w, fwin->win->h); evas_object_resize(fwin->scrollframe_obj, fwin->win->w, fwin->win->h);
} }
static void
_e_fwin_deleted(void *data, Evas_Object *obj, void *event_info)
{
E_Fwin *fwin;
fwin = data;
e_object_del(E_OBJECT(fwin));
}
static void static void
_e_fwin_changed(void *data, Evas_Object *obj, void *event_info) _e_fwin_changed(void *data, Evas_Object *obj, void *event_info)
{ {

View File

@ -496,7 +496,7 @@ _e_int_menus_apps_scan(E_Menu *m)
{ {
a = l->data; a = l->data;
if (e_app_valid_exe_get(a) || (!a->exe)) // if (e_app_valid_exe_get(a) || (!a->exe))
{ {
int opt = 0; int opt = 0;
char label[4096]; char label[4096];