Enlightenment CVS committal
Author : devilhorns
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_entry_dialog.c
Log Message:
Entry dialog now supports "Return" key which will call the "Ok" function.
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_entry_dialog.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_entry_dialog.c 7 Oct 2007 21:22:40 -0000 1.10
+++ e_entry_dialog.c 25 Dec 2007 18:15:26 -0000 1.11
@@ -5,6 +5,7 @@
static void _e_entry_dialog_ok(void *data, E_Dialog *dia);
static void _e_entry_dialog_cancel(void *data, E_Dialog *dia);
static void _e_entry_dialog_delete(E_Win *win);
+static void _e_entry_cb_key_down(void *data, Evas_Object *obj, void
*event_info);
/* Externally accesible functions */
EAPI E_Entry_Dialog *
@@ -49,6 +50,7 @@
}
ed->entry = e_widget_entry_add(dia->win->evas, &(ed->text), NULL, NULL,
NULL);
+ evas_object_smart_callback_add(ed->entry, "key_down", _e_entry_cb_key_down,
ed);
e_widget_list_object_append(o, ed->entry, 1, 1, 0.5);
e_widget_min_size_get(o, &w, &h);
e_dialog_content_set(dia, o, w, h);
@@ -66,6 +68,7 @@
_e_entry_dialog_free(E_Entry_Dialog *ed)
{
e_object_del(E_OBJECT(ed->dia));
+ evas_object_smart_callback_del(ed->entry, "key_down", _e_entry_cb_key_down);
E_FREE(ed->text);
free(ed);
}
@@ -103,4 +106,19 @@
dia = win->data;
ed = dia->data;
e_object_del(E_OBJECT(ed));
+}
+
+static void
+_e_entry_cb_key_down(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Event_Key_Down *ev;
+ E_Entry_Dialog *ed;
+
+ ev = event_info;
+ if (strcmp(ev->keyname, "Return")) return;
+ if (!(ed = data)) return;
+ e_object_ref(E_OBJECT(ed));
+ if (ed->ok.func) ed->ok.func(ed->text, ed->ok.data);
+ e_object_del(E_OBJECT(ed));
+ e_object_unref(E_OBJECT(ed));
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs