From 8032f0fcd6648d07650301677e6debfbb2b7d288 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Wed, 11 Feb 2015 22:39:25 +0000 Subject: [PATCH] editor: delay autosave to 5 secs but save on unfocus too --- src/bin/edi_private.h | 2 +- src/bin/editor/edi_editor.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bin/edi_private.h b/src/bin/edi_private.h index c8dbee7..4d82d3f 100644 --- a/src/bin/edi_private.h +++ b/src/bin/edi_private.h @@ -27,7 +27,7 @@ extern int _edi_log_dom; #define DBG(...) EINA_LOG_DOM_DBG(_edi_log_dom, __VA_ARGS__) #define EDI_CONTENT_AUTOSAVE EINA_TRUE -#define EDI_CONTENT_SAVE_TIMEOUT 2 +#define EDI_CONTENT_SAVE_TIMEOUT 5 Evas_Object *edi_open(const char *path); diff --git a/src/bin/editor/edi_editor.c b/src/bin/editor/edi_editor.c index 05146ad..4976d8f 100644 --- a/src/bin/editor/edi_editor.c +++ b/src/bin/editor/edi_editor.c @@ -740,6 +740,16 @@ _text_set_done(void *data, Evas_Object *obj EINA_UNUSED, void *source EINA_UNUSE _reset_highlight(editor); } +static void +_unfocused_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Edi_Editor *editor; + + editor = (Edi_Editor *)data; + + edi_editor_save(editor); +} + Evas_Object * edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item) { @@ -801,6 +811,7 @@ edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item) evas_object_smart_callback_add(txt, "resize", _resize_cb, editor); evas_object_smart_callback_add(txt, "undo,request", _undo_cb, editor); evas_object_smart_callback_add(txt, "text,set,done", _text_set_done, editor); + evas_object_smart_callback_add(txt, "unfocused", _unfocused_cb, editor); elm_entry_file_set(txt, item->path, ELM_TEXT_FORMAT_PLAIN_UTF8);