Hello, All.

In message from 15 мая 2009 Carsten Haitzler wrote:

> On Tue, 12 May 2009 15:28:42 +0400 "Sergey P. Semernin"
> <sergey.semer...@gmail.com> said:
>
> hey may! again - can you attach the patch not inline it? :)
>

Ok. Sorry. Attaching.



Sincerely yours, Sergey.

--
Jabber/XMPP: sergey.semer...@gmail.com
Cellular: +7-909-206-5992
Some improvements on efm_path module:
    1. fixed "Location:" label sizing,
    2. added button to clear path entry,
    3. added button to go to the path specified in entry,
    4. added image files for modified module theme.

What need to do:
    1. Make path entry history in efm2 user configuration file.
    2. Make combobox for path entry. (We have'nt combobox in "e" now?
       In etk and ewl combos are exists, but not in e...)
    3. Make path autocompletion in entry (from history and real path).

 Makefile.am           |    2 
 e-module-efm_path.edc |  295 ++++++++++++++++++++++++++++++++++++++++++++++++--
 src/e_mod_main.c      |   56 ++++++---
 3 files changed, 326 insertions(+), 27 deletions(-)

Index: E-MODULES-EXTRA/efm_path/e-module-efm_path.edc
===================================================================
--- E-MODULES-EXTRA/efm_path/e-module-efm_path.edc	(revision 40597)
+++ E-MODULES-EXTRA/efm_path/e-module-efm_path.edc	(working copy)
@@ -1,6 +1,12 @@
 images 
 {
    image: "entry.png" COMP;
+   image: "bt_base1.png" COMP;
+   image: "bt_base2.png" COMP;
+   image: "clear.png" COMP;
+   image: "go.png" COMP;
+   image: "bt_hilight.png" COMP;
+   image: "bt_shine.png" COMP;
 }
 
 collections 
@@ -41,22 +47,139 @@
 		       color: 255 255 255 0;
 		    }
 	       }
-	     part 
+	       
+	     // Clear button
+	     part
 	       {
-		  name: "e.swallow.location";
-		  type: SWALLOW;
-		  description 
+	          name: "bg_clear";
+	          type: IMAGE;
+	          mouse_events: 1;
+	          repeat_events: 1;
+	          description 
+	            {
+	               state: "default" 0.0;
+	               align: 0.0 0.5;
+	               rel1.to: "base";
+	               rel2
+	                 {
+	                    relative: 0.0 1.0;
+	                    to: "base";
+	                 }
+	               max: 28 28;
+	               aspect: 1.0 1.0;
+	               aspect_preference: VERTICAL;
+	               image
+	                 {
+	                    normal: "bt_base2.png";
+	                    border: 7 7 7 7;
+	                 }
+	            }
+	          description
+	            {
+	               state: "down" 0.0;
+	               inherit: "default" 0.0;
+	               image.normal: "bt_base1.png";
+	            }
+	       }
+	     part
+	       {
+		  name: "img_clear";
+		  type: IMAGE;
+		  mouse_events: 0;
+		  description
 		    {
 		       state: "default" 0.0;
-		       align: 0.0 0.5;
-		       rel1.to: "base";
+		       max: 18 18;
+		       rel1
+			 {
+			    offset: 7 7;
+			    to: "bg_clear";
+			 }
+		       rel2
+			 {
+			    offset: -8 -8;
+			    to: "bg_clear";
+			 }
+		       image.normal: "clear.png";
+		    }
+	       }
+	     part
+	       {
+		  name: "fg1_clear";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_clear";
 		       rel2 
+		         {
+		            relative: 1.0 0.5;
+		            to: "bg_clear";
+		         }
+		       image
 			 {
-			    relative: 0.2 1.0;
-			    to: "base";
+			    normal: "bt_hilight.png";
+			    border: 7 7 7 0;
 			 }
 		    }
 	       }
+	     part
+	       {
+		  name: "fg2_clear";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_clear";
+		       rel2.to: "bg_clear";
+		       image
+			 {
+			    normal: "bt_shine.png";
+			    border: 7 7 7 7;
+			 }
+		    }
+	       }
+	       
+	     // Location text label
+	     part
+	       {
+	          name: "e.text.title";
+	          type: TEXT;
+	          mouse_events: 0;
+	          scale: 1;
+	          description
+	            {
+	               state: "default" 0.0;
+	               visible: 1;
+	               align: 0.0 0.5;
+	               rel1
+	                 {
+	                    relative: 1.0 0.0;
+	                    to_x: "bg_clear";
+	                    to_y: "base";
+	                 }
+	               rel2
+	                 {
+	                    relative: 0.0 1.0;
+	                    to_x: "e.swallow.entry";
+	                    to_y: "base";
+	                 }
+	               color: 0 0 0 255;
+	               text
+	                 {
+	                    font: "Sans";
+	                    size: 10;
+	                    min: 1 1;
+	                    max: 1 1;
+	                    align: 0.0 0.5;
+	                 }	               
+	            }
+	       }
+	     // Path entry
 	     part 
 	       {
 		  name: "e.swallow.entry";
@@ -67,11 +190,163 @@
 		       rel1 
 			 {
 			    relative: 1.0 0.0;
-			    to_x: "e.swallow.location";
+			    to_x: "e.text.title";
+			    to_y: "base";
 			 }
-		       rel2.to: "base";
+		       rel2
+		         {
+		            relative: 0.0 1.0;
+		            to_x: "bg_go";
+		            to_y: "base";
+		         }
 		    }
 	       }
+	       
+	     // Go button
+	     part
+	       {
+	          name: "bg_go";
+	          type: IMAGE;
+	          mouse_events: 1;
+	          repeat_events: 1;
+	          description 
+	            {
+	               state: "default" 0.0;
+	               align: 1.0 0.5;
+	               rel1
+	                 {
+	                   relative: 1.0 0.0;
+	                   to: "base";
+	                 }
+	               rel2.to: "base";
+	               max: 28 28;
+	               aspect: 1.0 1.0;
+	               aspect_preference: VERTICAL;
+	               image
+	                 {
+	                    normal: "bt_base2.png";
+	                    border: 7 7 7 7;
+	                 }
+	            }
+	          description
+	            {
+	               state: "down" 0.0;
+	               inherit: "default" 0.0;
+	               image.normal: "bt_base1.png";
+	            }
+	       }  
+	     part
+	       {
+		  name: "img_go";
+		  type: IMAGE;
+		  mouse_events: 0;
+		  description
+		    {
+		       state: "default" 0.0;
+		       max: 18 18;
+		       rel1
+			 {
+			    offset: 7 7;
+			    to: "bg_go";
+			 }
+		       rel2
+			 {
+			    offset: -8 -8;
+			    to: "bg_go";
+			 }
+		       image.normal: "go.png";
+		    }
+	       }
+	     part
+	       {
+		  name: "fg1_go";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_go";
+		       rel2 
+		         {
+		            relative: 1.0 0.5;
+		            to: "bg_go";
+		         }
+		       image
+			 {
+			    normal: "bt_hilight.png";
+			    border: 7 7 7 0;
+			 }
+		    }
+	       }
+	     part
+	       {
+		  name: "fg2_go";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_go";
+		       rel2.to: "bg_go";
+		       image
+			 {
+			    normal: "bt_shine.png";
+			    border: 7 7 7 7;
+			 }
+		    }
+	       }
 	  }
+
+	programs
+	  {
+	     program
+	       {
+		  name: "clear_down";
+		  signal: "mouse,down,1";
+		  source: "bg_clear";
+		  action: STATE_SET "down" 0.0;
+		  target: "bg_clear";
+	       }
+	     program
+	       {
+		  name: "clear_up";
+		  signal: "mouse,up,1";
+		  source: "bg_clear";
+		  action: STATE_SET "default" 0.0;
+		  target: "bg_clear";
+	       }
+	     program
+	       {
+		  name: "clear_click";
+		  signal: "mouse,clicked,1";
+		  source: "bg_clear";
+		  action: SIGNAL_EMIT "e,clear,click" "";
+	       }
+	     program
+	       {
+		  name: "go_down";
+		  signal: "mouse,down,1";
+		  source: "bg_go";
+		  action: STATE_SET "down" 0.0;
+		  target: "bg_go";
+	       }
+	     program
+	       {
+		  name: "go_up";
+		  signal: "mouse,up,1";
+		  source: "bg_go";
+		  action: STATE_SET "default" 0.0;
+		  target: "bg_go";
+	       }
+	     program
+	       {
+		  name: "go_click";
+		  signal: "mouse,clicked,1";
+		  source: "bg_go";
+		  action: SIGNAL_EMIT "e,go,click" "";
+	       }
+	  }
      }
 }
Index: E-MODULES-EXTRA/efm_path/src/e_mod_main.c
===================================================================
--- E-MODULES-EXTRA/efm_path/src/e_mod_main.c	(revision 40597)
+++ E-MODULES-EXTRA/efm_path/src/e_mod_main.c	(working copy)
@@ -5,7 +5,7 @@
 struct _Instance 
 {
    E_Gadcon_Client *gcc;
-   Evas_Object *o_entry, *o_base, *o_loc, *o_event;
+   Evas_Object *o_entry, *o_base, *o_event;
    E_Toolbar *tbar;
    char *path;
 };
@@ -34,6 +34,10 @@
 					   void *event_info);
 static void             _cb_mouse_down    (void *data, Evas *e, 
 					   Evas_Object *obj, void *event_info);
+static void             _cb_clear_click   (void *data, Evas_Object *obj,
+                                           const char *emission, const char *source);
+static void             _cb_go_click      (void *data, Evas_Object *obj,
+                                           const char *emission, const char *source);
 
 static Eina_List *instances = NULL;
 static E_Module *path_mod = NULL;
@@ -65,14 +69,17 @@
 				  _cb_mouse_down, inst);
    evas_object_show(inst->o_base);
 
-   inst->o_loc = e_widget_label_add(gc->evas, D_("Location:"));
-   edje_object_part_swallow(inst->o_base, "e.swallow.location", inst->o_loc);
-   evas_object_show(inst->o_loc);
+   edje_object_part_text_set(inst->o_base, "e.text.title", D_("Location:"));
 
    inst->o_entry = e_widget_entry_add(gc->evas, &(inst->path), NULL, NULL, NULL);
    edje_object_part_swallow(inst->o_base, "e.swallow.entry", inst->o_entry);
    evas_object_show(inst->o_entry);
 
+   edje_object_signal_callback_add(inst->o_base, "e,clear,click", "", 
+                                   _cb_clear_click, inst);
+   edje_object_signal_callback_add(inst->o_base, "e,go,click", "", 
+                                   _cb_go_click, inst);
+   
    /* add hook to know when user changes entry */
    evas_object_smart_callback_add(inst->o_entry, "key_down", 
 				  _cb_key_down, inst);
@@ -118,7 +125,6 @@
    evas_object_event_callback_del(inst->o_base, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down);
 
    if (inst->o_event) evas_object_del(inst->o_event);
-   if (inst->o_loc) evas_object_del(inst->o_loc);
    if (inst->o_entry) evas_object_del(inst->o_entry);
    if (inst->o_base) evas_object_del(inst->o_base);
    if (inst->path) free(inst->path);
@@ -301,19 +307,10 @@
 _cb_key_down(void *data, Evas_Object *obj, void *event_info) 
 {
    Evas_Event_Key_Down *ev;
-   Instance *inst;
-   Evas_Object *o_fm;
-   const char *p;
 
    ev = event_info;
-   if (strcmp(ev->keyname, "Return")) return;
-
-   inst = data;
-   if ((!inst) || (!inst->tbar)) return;
-   p = e_widget_entry_text_get(inst->o_entry);
-   o_fm = e_toolbar_fm2_get(inst->tbar);
-   if (!o_fm) return;
-   e_fm2_path_set(o_fm, p, "/");
+   if (!strcmp(ev->keyname, "Return")) 
+      _cb_go_click(data, obj, NULL, NULL);
 }
 
 static void 
@@ -335,3 +332,30 @@
    e_menu_activate_mouse(mn, zone, x, y, 1, 1, 
 			 E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
 }
+
+static void             
+_cb_clear_click(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+   Instance *inst;
+   
+   inst = data;
+   if (!inst) return;
+
+   e_widget_entry_clear(inst->o_entry);
+}
+
+static void
+_cb_go_click(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+   Instance *inst;
+   Evas_Object *o_fm;
+   const char *p;
+   
+   inst = data;
+   if (!inst || !inst->tbar) return;
+   o_fm = e_toolbar_fm2_get(inst->tbar);
+   if (!o_fm) return;
+   
+   p = e_widget_entry_text_get(inst->o_entry);
+   e_fm2_path_set(o_fm, p, "/");
+}
Index: E-MODULES-EXTRA/efm_path/Makefile.am
===================================================================
--- E-MODULES-EXTRA/efm_path/Makefile.am	(revision 40597)
+++ E-MODULES-EXTRA/efm_path/Makefile.am	(working copy)
@@ -6,7 +6,7 @@
 SUBDIRS = src po
 
 EDJE_FLAGS = -v \
-	   -id $(top_srcdir)
+	   -id $(top_srcdir)/images
 
 filesdir = $(datadir)
 files_DATA = \
Index: E-MODULES-EXTRA/efm_path/e-module-efm_path.edc
===================================================================
--- E-MODULES-EXTRA/efm_path/e-module-efm_path.edc	(revision 40597)
+++ E-MODULES-EXTRA/efm_path/e-module-efm_path.edc	(working copy)
@@ -1,6 +1,12 @@
 images 
 {
    image: "entry.png" COMP;
+   image: "bt_base1.png" COMP;
+   image: "bt_base2.png" COMP;
+   image: "clear.png" COMP;
+   image: "go.png" COMP;
+   image: "bt_hilight.png" COMP;
+   image: "bt_shine.png" COMP;
 }
 
 collections 
@@ -41,22 +47,139 @@
 		       color: 255 255 255 0;
 		    }
 	       }
-	     part 
+	       
+	     // Clear button
+	     part
 	       {
-		  name: "e.swallow.location";
-		  type: SWALLOW;
-		  description 
+	          name: "bg_clear";
+	          type: IMAGE;
+	          mouse_events: 1;
+	          repeat_events: 1;
+	          description 
+	            {
+	               state: "default" 0.0;
+	               align: 0.0 0.5;
+	               rel1.to: "base";
+	               rel2
+	                 {
+	                    relative: 0.0 1.0;
+	                    to: "base";
+	                 }
+	               max: 28 28;
+	               aspect: 1.0 1.0;
+	               aspect_preference: VERTICAL;
+	               image
+	                 {
+	                    normal: "bt_base2.png";
+	                    border: 7 7 7 7;
+	                 }
+	            }
+	          description
+	            {
+	               state: "down" 0.0;
+	               inherit: "default" 0.0;
+	               image.normal: "bt_base1.png";
+	            }
+	       }
+	     part
+	       {
+		  name: "img_clear";
+		  type: IMAGE;
+		  mouse_events: 0;
+		  description
 		    {
 		       state: "default" 0.0;
-		       align: 0.0 0.5;
-		       rel1.to: "base";
+		       max: 18 18;
+		       rel1
+			 {
+			    offset: 7 7;
+			    to: "bg_clear";
+			 }
+		       rel2
+			 {
+			    offset: -8 -8;
+			    to: "bg_clear";
+			 }
+		       image.normal: "clear.png";
+		    }
+	       }
+	     part
+	       {
+		  name: "fg1_clear";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_clear";
 		       rel2 
+		         {
+		            relative: 1.0 0.5;
+		            to: "bg_clear";
+		         }
+		       image
 			 {
-			    relative: 0.2 1.0;
-			    to: "base";
+			    normal: "bt_hilight.png";
+			    border: 7 7 7 0;
 			 }
 		    }
 	       }
+	     part
+	       {
+		  name: "fg2_clear";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_clear";
+		       rel2.to: "bg_clear";
+		       image
+			 {
+			    normal: "bt_shine.png";
+			    border: 7 7 7 7;
+			 }
+		    }
+	       }
+	       
+	     // Location text label
+	     part
+	       {
+	          name: "e.text.title";
+	          type: TEXT;
+	          mouse_events: 0;
+	          scale: 1;
+	          description
+	            {
+	               state: "default" 0.0;
+	               visible: 1;
+	               align: 0.0 0.5;
+	               rel1
+	                 {
+	                    relative: 1.0 0.0;
+	                    to_x: "bg_clear";
+	                    to_y: "base";
+	                 }
+	               rel2
+	                 {
+	                    relative: 0.0 1.0;
+	                    to_x: "e.swallow.entry";
+	                    to_y: "base";
+	                 }
+	               color: 0 0 0 255;
+	               text
+	                 {
+	                    font: "Sans";
+	                    size: 10;
+	                    min: 1 1;
+	                    max: 1 1;
+	                    align: 0.0 0.5;
+	                 }	               
+	            }
+	       }
+	     // Path entry
 	     part 
 	       {
 		  name: "e.swallow.entry";
@@ -67,11 +190,163 @@
 		       rel1 
 			 {
 			    relative: 1.0 0.0;
-			    to_x: "e.swallow.location";
+			    to_x: "e.text.title";
+			    to_y: "base";
 			 }
-		       rel2.to: "base";
+		       rel2
+		         {
+		            relative: 0.0 1.0;
+		            to_x: "bg_go";
+		            to_y: "base";
+		         }
 		    }
 	       }
+	       
+	     // Go button
+	     part
+	       {
+	          name: "bg_go";
+	          type: IMAGE;
+	          mouse_events: 1;
+	          repeat_events: 1;
+	          description 
+	            {
+	               state: "default" 0.0;
+	               align: 1.0 0.5;
+	               rel1
+	                 {
+	                   relative: 1.0 0.0;
+	                   to: "base";
+	                 }
+	               rel2.to: "base";
+	               max: 28 28;
+	               aspect: 1.0 1.0;
+	               aspect_preference: VERTICAL;
+	               image
+	                 {
+	                    normal: "bt_base2.png";
+	                    border: 7 7 7 7;
+	                 }
+	            }
+	          description
+	            {
+	               state: "down" 0.0;
+	               inherit: "default" 0.0;
+	               image.normal: "bt_base1.png";
+	            }
+	       }  
+	     part
+	       {
+		  name: "img_go";
+		  type: IMAGE;
+		  mouse_events: 0;
+		  description
+		    {
+		       state: "default" 0.0;
+		       max: 18 18;
+		       rel1
+			 {
+			    offset: 7 7;
+			    to: "bg_go";
+			 }
+		       rel2
+			 {
+			    offset: -8 -8;
+			    to: "bg_go";
+			 }
+		       image.normal: "go.png";
+		    }
+	       }
+	     part
+	       {
+		  name: "fg1_go";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_go";
+		       rel2 
+		         {
+		            relative: 1.0 0.5;
+		            to: "bg_go";
+		         }
+		       image
+			 {
+			    normal: "bt_hilight.png";
+			    border: 7 7 7 0;
+			 }
+		    }
+	       }
+	     part
+	       {
+		  name: "fg2_go";
+		  type: IMAGE;
+		  mouse_events: 1;
+		  repeat_events: 1;
+		  description
+		    {
+		       state: "default" 0.0;
+		       rel1.to: "bg_go";
+		       rel2.to: "bg_go";
+		       image
+			 {
+			    normal: "bt_shine.png";
+			    border: 7 7 7 7;
+			 }
+		    }
+	       }
 	  }
+
+	programs
+	  {
+	     program
+	       {
+		  name: "clear_down";
+		  signal: "mouse,down,1";
+		  source: "bg_clear";
+		  action: STATE_SET "down" 0.0;
+		  target: "bg_clear";
+	       }
+	     program
+	       {
+		  name: "clear_up";
+		  signal: "mouse,up,1";
+		  source: "bg_clear";
+		  action: STATE_SET "default" 0.0;
+		  target: "bg_clear";
+	       }
+	     program
+	       {
+		  name: "clear_click";
+		  signal: "mouse,clicked,1";
+		  source: "bg_clear";
+		  action: SIGNAL_EMIT "e,clear,click" "";
+	       }
+	     program
+	       {
+		  name: "go_down";
+		  signal: "mouse,down,1";
+		  source: "bg_go";
+		  action: STATE_SET "down" 0.0;
+		  target: "bg_go";
+	       }
+	     program
+	       {
+		  name: "go_up";
+		  signal: "mouse,up,1";
+		  source: "bg_go";
+		  action: STATE_SET "default" 0.0;
+		  target: "bg_go";
+	       }
+	     program
+	       {
+		  name: "go_click";
+		  signal: "mouse,clicked,1";
+		  source: "bg_go";
+		  action: SIGNAL_EMIT "e,go,click" "";
+	       }
+	  }
      }
 }
Index: E-MODULES-EXTRA/efm_path/src/e_mod_main.c
===================================================================
--- E-MODULES-EXTRA/efm_path/src/e_mod_main.c	(revision 40597)
+++ E-MODULES-EXTRA/efm_path/src/e_mod_main.c	(working copy)
@@ -5,7 +5,7 @@
 struct _Instance 
 {
    E_Gadcon_Client *gcc;
-   Evas_Object *o_entry, *o_base, *o_loc, *o_event;
+   Evas_Object *o_entry, *o_base, *o_event;
    E_Toolbar *tbar;
    char *path;
 };
@@ -34,6 +34,10 @@
 					   void *event_info);
 static void             _cb_mouse_down    (void *data, Evas *e, 
 					   Evas_Object *obj, void *event_info);
+static void             _cb_clear_click   (void *data, Evas_Object *obj,
+                                           const char *emission, const char *source);
+static void             _cb_go_click      (void *data, Evas_Object *obj,
+                                           const char *emission, const char *source);
 
 static Eina_List *instances = NULL;
 static E_Module *path_mod = NULL;
@@ -65,14 +69,17 @@
 				  _cb_mouse_down, inst);
    evas_object_show(inst->o_base);
 
-   inst->o_loc = e_widget_label_add(gc->evas, D_("Location:"));
-   edje_object_part_swallow(inst->o_base, "e.swallow.location", inst->o_loc);
-   evas_object_show(inst->o_loc);
+   edje_object_part_text_set(inst->o_base, "e.text.title", D_("Location:"));
 
    inst->o_entry = e_widget_entry_add(gc->evas, &(inst->path), NULL, NULL, NULL);
    edje_object_part_swallow(inst->o_base, "e.swallow.entry", inst->o_entry);
    evas_object_show(inst->o_entry);
 
+   edje_object_signal_callback_add(inst->o_base, "e,clear,click", "", 
+                                   _cb_clear_click, inst);
+   edje_object_signal_callback_add(inst->o_base, "e,go,click", "", 
+                                   _cb_go_click, inst);
+   
    /* add hook to know when user changes entry */
    evas_object_smart_callback_add(inst->o_entry, "key_down", 
 				  _cb_key_down, inst);
@@ -118,7 +125,6 @@
    evas_object_event_callback_del(inst->o_base, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down);
 
    if (inst->o_event) evas_object_del(inst->o_event);
-   if (inst->o_loc) evas_object_del(inst->o_loc);
    if (inst->o_entry) evas_object_del(inst->o_entry);
    if (inst->o_base) evas_object_del(inst->o_base);
    if (inst->path) free(inst->path);
@@ -301,19 +307,10 @@
 _cb_key_down(void *data, Evas_Object *obj, void *event_info) 
 {
    Evas_Event_Key_Down *ev;
-   Instance *inst;
-   Evas_Object *o_fm;
-   const char *p;
 
    ev = event_info;
-   if (strcmp(ev->keyname, "Return")) return;
-
-   inst = data;
-   if ((!inst) || (!inst->tbar)) return;
-   p = e_widget_entry_text_get(inst->o_entry);
-   o_fm = e_toolbar_fm2_get(inst->tbar);
-   if (!o_fm) return;
-   e_fm2_path_set(o_fm, p, "/");
+   if (!strcmp(ev->keyname, "Return")) 
+      _cb_go_click(data, obj, NULL, NULL);
 }
 
 static void 
@@ -335,3 +332,30 @@
    e_menu_activate_mouse(mn, zone, x, y, 1, 1, 
 			 E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
 }
+
+static void             
+_cb_clear_click(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+   Instance *inst;
+   
+   inst = data;
+   if (!inst) return;
+
+   e_widget_entry_clear(inst->o_entry);
+}
+
+static void
+_cb_go_click(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+   Instance *inst;
+   Evas_Object *o_fm;
+   const char *p;
+   
+   inst = data;
+   if (!inst || !inst->tbar) return;
+   o_fm = e_toolbar_fm2_get(inst->tbar);
+   if (!o_fm) return;
+   
+   p = e_widget_entry_text_get(inst->o_entry);
+   e_fm2_path_set(o_fm, p, "/");
+}
Index: E-MODULES-EXTRA/efm_path/Makefile.am
===================================================================
--- E-MODULES-EXTRA/efm_path/Makefile.am	(revision 40597)
+++ E-MODULES-EXTRA/efm_path/Makefile.am	(working copy)
@@ -6,7 +6,7 @@
 SUBDIRS = src po
 
 EDJE_FLAGS = -v \
-	   -id $(top_srcdir)
+	   -id $(top_srcdir)/images
 
 filesdir = $(datadir)
 files_DATA = \
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to