diff options
author | Gustavo Sverzut Barbieri <barbieri@gmail.com> | 2009-03-18 01:33:06 +0000 |
---|---|---|
committer | Gustavo Sverzut Barbieri <barbieri@gmail.com> | 2009-03-18 01:33:06 +0000 |
commit | 92cab40cdaeecd1060facd7bcd9be6f58741090f (patch) | |
tree | 94d711708f30863ce93d0f2bd3dd0516108e92fa /src/bin/e_fm_main.c | |
parent | 4598a292ed27d61cfb75f62bc1920740eaf26fca (diff) | |
download | enlightenment-92cab40cdaeecd1060facd7bcd9be6f58741090f.tar.gz |
add filemanager operation registry.
This huge commit will add e_fm2_op_registry, a central place that will
store all on-going operations. You will find that it will report when
operations are added, remove and when they change, for example when
they change progress.
Please notice that the recommended way to present information is to
add listener to specific entries, as opposed to use
E_EVENT_FM_OP_REGISTRY_CHANGED since it will be called immediately and
you do not have to filter which entry is being changed.
Entries will be associated with the e_fm object that originated
it. With that one can get the Ecore_X_Window and request the window to
be raised from somewhere else (ie: gadman/gadget). If object is
deleted (ie: window is closed), the pointer will be made NULL and it
will be a "windowless operation".
TO DO (I need someone to do those):
- e_fwin: windows should present on-going operations as an overlay,
Dave Andreolli already started such work, it's just a matter of
using the new infrastructure.
- create a new gadget that present all on-going operations and maybe
a history. It would be nice to show the e_fwin of if the entry is
clicked, as well as a cancel button and a progress bar. See
"places" module, make them similar.
SVN revision: 39541
Diffstat (limited to 'src/bin/e_fm_main.c')
-rw-r--r-- | src/bin/e_fm_main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/bin/e_fm_main.c b/src/bin/e_fm_main.c index 18c8072be5..158d69b520 100644 --- a/src/bin/e_fm_main.c +++ b/src/bin/e_fm_main.c @@ -1605,6 +1605,7 @@ static int _e_fm_slave_del_cb(void *data, int type, void *event) if (!e) return 1; slave = ecore_exe_data_get(e->exe); + _e_client_send(slave->id, E_FM_OP_QUIT, NULL, 0); if (!slave) return 1; |