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
-------------------------------------------------------------------------------
* fm2 needs a right-click file properties dialog
* fm2 needs a way to set custom backgrounds and handle scrolling
* 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
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.)
* fm2 needs a way to use custom icons per dir/file
* 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);
/* no exe field.. not valid. drop it */
// if (!_e_app_exe_valid_get(a->exe))
// goto error;
// if (!_e_app_exe_valid_get(a->exe))
// goto error;
}
else
goto error;
@ -2502,6 +2502,7 @@ _e_app_cb_monitor(void *data, Ecore_File_Monitor *em,
e_app_fields_fill(a, path);
if (a->filled)
{
/* allow invalid apps
if (!_e_app_exe_valid_get(a->exe))
{
a->deleted = 1;
@ -2517,6 +2518,7 @@ _e_app_cb_monitor(void *data, Ecore_File_Monitor *em,
_e_app_subdir_rescan(app);
}
else
*/
{
_e_app_change(a, E_APP_CHANGE);
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_cb_delete(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_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);
@ -85,6 +86,8 @@ e_fwin_new(E_Container *con, const char *dev, const char *path)
e_fm2_config_set(o, &fmc);
evas_object_smart_callback_add(o, "dir_changed",
_e_fwin_changed, fwin);
evas_object_smart_callback_add(o, "dir_deleted",
_e_fwin_deleted, fwin);
evas_object_smart_callback_add(o, "selected",
_e_fwin_selected, fwin);
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);
}
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
_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;
if (e_app_valid_exe_get(a) || (!a->exe))
// if (e_app_valid_exe_get(a) || (!a->exe))
{
int opt = 0;
char label[4096];