aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/e_fm_op_registry.h
diff options
context:
space:
mode:
authorsemernin <semernin>2009-06-29 14:38:03 +0000
committersemernin <semernin@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2009-06-29 14:38:03 +0000
commit2f76dd5d99a03cc722120d5abc9d9f1d9a5158b0 (patch)
treed70b37f2aaae39c38598c0e562edf73db2fe2e21 /src/bin/e_fm_op_registry.h
parentupdating italian translations (diff)
downloadenlightenment-2f76dd5d99a03cc722120d5abc9d9f1d9a5158b0.tar.gz
List of changes:
1. Gadcon sities: -- 'E_Gadcon_Site' enum to list all available sities, -- added 'is_site' callback for distinguish gadcon sities, -- 'e_gadcon_site_is_*' helpers written to use in gadget modules, -- gadcon config dialogs modified to show only gadgets that appropriate to selected gadcon site, -- all gadget modules updated for using new callback. When callback is not provided in module, then gadget can be used in any gadcon site. 2. Filemanager: -- added error icon to unexisting path dialog, -- added callback 'func.abort' to 'E_Fm2_Op_Registry_Entry' to specify abort operation sequence (if not provided, then operation is not cancelable), -- added parameter to 'e_fm2_op_registry_entry_add' to specify abort method on construct 'E_Fm2_Op_Registry_Entry' or make non-cancelable operation if this function is not provided, -- added 'e_fm2_operation_abort' call to cancel efm2 operation, -- added method '_e_fm2_operation_abort_internal' that represent efm2 default handler of operation cancelling, -- 'done' and 'total' fields of 'E_Fm2_Op_Registry_Entry' changed to off_t type, also all message handlers modified to work with it (to show progress for large files correctly), -- improved file operation progress processing, -- added cancel button to operation progress gadget in filemanager window, -- added delete file glyph to operation progress gadget, -- improved status message for efm2 operation progress. 3. Filemanager slave: -- fixed critical bug in message handling via stdin/stdout, -- fixed critical bug in removing task from list, -- improved 'E_FM_OP_ABORT' handling, -- fix rollback counting on moving files. 4. Fileman_opinfo module: -- a new theme writed: status string and gadget for view operation status in summary and detail modes, -- summary mode: operation glyph, state message, progressbar, abort button, -- detail mode: all for summary + from filename, to filename, -- summary/detailed button works as trigger, -- added source of module theme and used images. 4. Pathbar module: -- non-critical fix, just for safety. Also patch contains several minor updates to serve main task. SVN revision: 41224
Diffstat (limited to 'src/bin/e_fm_op_registry.h')
-rw-r--r--src/bin/e_fm_op_registry.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/bin/e_fm_op_registry.h b/src/bin/e_fm_op_registry.h
index 299e1c7cb..d7b39935b 100644
--- a/src/bin/e_fm_op_registry.h
+++ b/src/bin/e_fm_op_registry.h
@@ -18,12 +18,14 @@ typedef struct _E_Fm2_Op_Registry_Entry E_Fm2_Op_Registry_Entry;
#ifndef E_FM_OP_REGISTRY_H
#define E_FM_OP_REGISTRY_H
+typedef void (*E_Fm2_Op_Registry_Abort_Func)(E_Fm2_Op_Registry_Entry *entry);
+
struct _E_Fm2_Op_Registry_Entry
{
int id;
int percent; /* XXX use char? */
- size_t done;
- size_t total;
+ off_t done;
+ off_t total;
Evas_Object *e_fm;
const char *src; /* stringshared */
const char *dst; /* stringshared */
@@ -33,6 +35,12 @@ struct _E_Fm2_Op_Registry_Entry
E_Fm2_Op_Status status;
Eina_Bool needs_attention:1;
Eina_Bool finished:1;
+
+ // service callbacks
+ struct
+ {
+ E_Fm2_Op_Registry_Abort_Func abort;
+ } func;
};
extern EAPI int E_EVENT_FM_OP_REGISTRY_ADD;
@@ -55,12 +63,13 @@ EAPI void e_fm2_op_registry_get_all_free(Eina_List *list);
EAPI Eina_Bool e_fm2_op_registry_is_empty(void);
EAPI int e_fm2_op_registry_count(void);
+EAPI void e_fm2_op_registry_entry_abort(E_Fm2_Op_Registry_Entry *entry);
EAPI unsigned int e_fm2_op_registry_init(void);
EAPI unsigned int e_fm2_op_registry_shutdown(void);
/* E internal/private functions, symbols not exported outside e binary (e_fm.c mainly) */
-Eina_Bool e_fm2_op_registry_entry_add(int id, Evas_Object *e_fm, E_Fm_Op_Type op);
+Eina_Bool e_fm2_op_registry_entry_add(int id, Evas_Object *e_fm, E_Fm_Op_Type op, E_Fm2_Op_Registry_Abort_Func abort);
Eina_Bool e_fm2_op_registry_entry_del(int id);
void e_fm2_op_registry_entry_changed(const E_Fm2_Op_Registry_Entry *entry);
void e_fm2_op_registry_entry_e_fm_set(E_Fm2_Op_Registry_Entry *entry, Evas_Object *e_fm);