Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_eap_editor.c e_file_dialog.c e_file_dialog.h 
        e_file_selector.c e_file_selector.h e_fileman.c 
        e_fileman_smart.c e_fileman_smart.h e_icon_canvas.c 
        e_widget_fileman.c e_widget_iconsel.c e_widget_iconsel.h 


Log Message:
Continue working on the eap editor and file dialog.
- add hilite propagation (single click file, press ok is now the same as double 
clicking the file directly)
- eap editor saves new eaps if you give them a path, simple <-> advanced doesnt 
relay the info between each other yet.

Going to try to do a bit every night.


===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_eap_editor.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_eap_editor.c      4 Dec 2005 12:03:58 -0000       1.15
+++ e_eap_editor.c      5 Dec 2005 22:20:33 -0000       1.16
@@ -44,6 +44,7 @@
 static Evas_Object   *_e_eap_edit_basic_create_widgets(E_Config_Dialog *cfd, 
Evas *evas, void *data);
 static Evas_Object   *_e_eap_edit_advanced_create_widgets(E_Config_Dialog 
*cfd, Evas *evas, void *data);
 static void           _e_eap_edit_select_cb(Evas_Object *obj, char *file, void 
*data);
+static void           _e_eap_edit_hilite_cb(Evas_Object *obj, char *file, void 
*data);
 
 #define IFDUP(src, dst) if (src) dst = strdup(src); else dst = NULL
 
@@ -242,6 +243,7 @@
    editor->img_widget = e_widget_iconsel_add(evas, editor->img, 48, 48, 
                                             &(cfdata->image));
    e_widget_iconsel_select_callback_add(editor->img_widget, 
_e_eap_edit_select_cb, editor);
+   e_widget_iconsel_hilite_callback_add(editor->img_widget, 
_e_eap_edit_hilite_cb, editor);
    e_widget_frametable_object_append(o, editor->img_widget,
                                0, 0, 1, 1,
                                1, 1, 1, 1);
@@ -400,3 +402,13 @@
    printf("selected: %s\n", file);
    
 }
+
+void
+_e_eap_edit_hilite_cb(Evas_Object *obj, char *file, void *data)
+{
+   E_App_Edit *editor;
+   
+//   editor = data;
+   printf("hilited: %s\n", file);
+   
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_file_dialog.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_file_dialog.c     4 Dec 2005 12:03:58 -0000       1.9
+++ e_file_dialog.c     5 Dec 2005 22:20:33 -0000       1.10
@@ -10,6 +10,7 @@
 static void _e_file_dialog_button2_click(void *data, E_Dialog *dia);    
 static void _e_file_dialog_free(E_File_Dialog *dia);
 static void _e_file_dialog_file_select_cb(Evas_Object *obj, char *file, void 
*data);
+static void _e_file_dialog_file_hilite_cb(Evas_Object *obj, char *file, void 
*data);
 
 E_File_Dialog *
 e_file_dialog_new(E_Container *con)
@@ -41,6 +42,7 @@
    dia->con = con;
    dia->file = NULL;
    dia->select_func = NULL;
+   dia->hilite_func = NULL;   
    dia->select_data = NULL;
    evas = dia->dia->win->evas;
    
@@ -55,6 +57,7 @@
    
    fm = e_widget_fileman_add(evas, &(dia->file));
    e_widget_fileman_select_callback_add(fm, _e_file_dialog_file_select_cb, 
dia);
+   e_widget_fileman_hilite_callback_add(fm, _e_file_dialog_file_hilite_cb, 
dia);
    e_widget_list_object_append(ol, fm, 1, 1, 0.0);
    
    e_widget_min_size_get(ol, &w, &h);
@@ -86,6 +89,13 @@
    dia->select_data = data;
 }
 
+void
+e_file_dialog_hilite_callback_add(E_File_Dialog *dia, void 
(*func)(E_File_Dialog *dia, char *file, void *data), void *data)
+{    
+   dia->hilite_func = func;
+   dia->hilite_data = data;
+}
+
 /* local subsystem functions */
 
 static void
@@ -96,7 +106,7 @@
    dia = data;
    if(dia->select_func && dia->file)
      dia->select_func(dia, dia->file, dia->select_data);
-   _e_file_dialog_free(dia);   
+   _e_file_dialog_free(dia);
 }
 
 static void
@@ -114,8 +124,20 @@
    if(dia->select_func)
      dia->select_func(dia, file, dia->select_data);
    
-   printf("e_file_dialog: %s\n", file);
+   printf("e_file_dialog (select) : %s\n", file);
+   
+}
+
+static void
+_e_file_dialog_file_hilite_cb(Evas_Object *obj, char *file, void *data)
+{
+   E_File_Dialog *dia;
+   
+   dia = data;
+   if(dia->hilite_func)
+     dia->hilite_func(dia, file, dia->hilite_data);
    
+   printf("e_file_dialog (hilite) : %s\n", file);   
 }
 
 static void
@@ -123,5 +145,5 @@
 {
    e_object_unref(E_OBJECT(dia->dia));
    E_FREE(dia->file);
-   free(dia);
+   //free(dia);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_file_dialog.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_file_dialog.h     28 Oct 2005 23:37:13 -0000      1.2
+++ e_file_dialog.h     5 Dec 2005 22:20:33 -0000       1.3
@@ -22,12 +22,15 @@
    
    void (*select_func)(E_File_Dialog *dia, char *file, void *data);
    void  *select_data;
+   void (*hilite_func)(E_File_Dialog *dia, char *file, void *data);
+   void  *hilite_data;   
 };
 
 EAPI E_File_Dialog  *e_file_dialog_new               (E_Container *con);
 EAPI void            e_file_dialog_show              (E_File_Dialog *dia);
 EAPI void            e_file_dialog_title_set         (E_File_Dialog *dia, 
const char *title);
 EAPI void            e_file_dialog_select_callback_add(E_File_Dialog *dia, 
void (*func)(E_File_Dialog *dia, char *file, void *data), void *data);
+EAPI void            e_file_dialog_hilite_callback_add(E_File_Dialog *dia, 
void (*func)(E_File_Dialog *dia, char *file, void *data), void *data);
 
 #endif
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_file_selector.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_file_selector.c   4 Dec 2005 09:47:49 -0000       1.5
+++ e_file_selector.c   5 Dec 2005 22:20:33 -0000       1.6
@@ -25,6 +25,7 @@
    Evas_Coord     x, y, w, h; /* coords */
 
    void         (*func) (Evas_Object *obj, char *file, void *data); /* 
selection cb */
+   void         (*func_hilite) (Evas_Object *obj, char *file, void *data); /* 
selection cb */   
    void          *func_data; /* selection cb data */
 }; 
 
@@ -40,6 +41,7 @@
 static void _e_smart_clip_unset(Evas_Object *obj);
 static void _e_smart_init(void);
 static void _e_file_selector_selected_cb(Evas_Object *obj, char *file, void 
*data);
+static void _e_file_selector_hilited_cb(Evas_Object *obj, char *file, void 
*data);
 static void _e_file_selector_scroll_set(Evas_Object *obj, Evas_Coord x, 
Evas_Coord y);
 static void _e_file_selector_scroll_get(Evas_Object *obj, Evas_Coord *x, 
Evas_Coord *y);
 static void _e_file_selector_scroll_max_get(Evas_Object *obj, Evas_Coord *x, 
Evas_Coord *y);
@@ -80,10 +82,11 @@
 }
 
 void
-e_file_selector_callback_add(Evas_Object *obj, void (*func) (Evas_Object *obj, 
char *file, void *data), void *data)
+e_file_selector_callback_add(Evas_Object *obj, void (*func) (Evas_Object *obj, 
char *file, void *data), void (*func_hilite) (Evas_Object *obj, char *file, 
void *data), void *data)
 {
    API_ENTRY return;
    sd->func = func;
+   sd->func_hilite = func_hilite;
    sd->func_data = data;
 }
 
@@ -128,6 +131,7 @@
    sd->h = 0;
    sd->parent = obj;
    sd->func = NULL;
+   sd->func_hilite = NULL;   
    sd->func_data = NULL;
    sd->view = E_FILE_SELECTOR_ICONVIEW;
    
@@ -143,7 +147,7 @@
    e_fm_dir_set(sd->files, home);
    E_FREE(home);
    
-   e_fm_selector_enable(sd->files, _e_file_selector_selected_cb, sd);
+   e_fm_selector_enable(sd->files, _e_file_selector_selected_cb, 
_e_file_selector_hilited_cb, sd);
    evas_object_smart_member_add(sd->files, obj);
 
    e_scrollframe_extern_pan_set(sd->frame, sd->files,
@@ -231,6 +235,15 @@
      sd->func(sd->parent, file, sd->func_data);
 }
 
+_e_file_selector_hilited_cb(Evas_Object *obj, char *file, void *data)
+{
+   E_Smart_Data *sd;
+   
+   sd = data;
+   if(sd->func_hilite)
+     sd->func_hilite(sd->parent, file, sd->func_data);
+}
+
 /* never need to touch this */
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_file_selector.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_file_selector.h   4 Nov 2005 21:04:52 -0000       1.2
+++ e_file_selector.h   5 Dec 2005 22:20:33 -0000       1.3
@@ -18,7 +18,7 @@
 EAPI Evas_Object *e_file_selector_add(Evas *evas);
 EAPI void         e_file_selector_view_set(Evas_Object *object, int view);
 EAPI int          e_file_selector_view_get(Evas_Object *object);
-EAPI void         e_file_selector_callback_add(Evas_Object *obj, void (*func) 
(Evas_Object *obj, char *file, void *data), void *data);
+EAPI void         e_file_selector_callback_add(Evas_Object *obj, void (*func) 
(Evas_Object *obj, char *file, void *data), void (*hilite_func) (Evas_Object 
*obj, char *file, void *data), void *data);
     
 #endif
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- e_fileman.c 22 Nov 2005 09:27:25 -0000      1.27
+++ e_fileman.c 5 Dec 2005 22:20:33 -0000       1.28
@@ -152,7 +152,7 @@
 {   
    fileman->selector.func = func;
    fileman->selector.data = data;
-   e_fm_selector_enable(fileman->smart, _e_fileman_selector_cb, fileman);
+   e_fm_selector_enable(fileman->smart, _e_fileman_selector_cb, NULL, fileman);
 }
 
 void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -3 -r1.111 -r1.112
--- e_fileman_smart.c   4 Dec 2005 11:46:09 -0000       1.111
+++ e_fileman_smart.c   5 Dec 2005 22:20:34 -0000       1.112
@@ -180,6 +180,7 @@
    int is_selector;
    void (*selector_func) (Evas_Object *object, char *file, void *data);
    void  *selector_data;
+   void (*selector_hilite_func) (Evas_Object *object, char *file, void *data);
    
    Evas_Coord x, y, w, h;
 
@@ -301,6 +302,7 @@
 static int                 _e_fm_files_sort_layout_name_cb    (void *d1, void 
*d2);
 
 static void                _e_fm_selector_send_file (E_Fm_Icon *icon);
+static void                _e_fm_selector_send_hilite_file (E_Fm_Icon *icon);
 
 static char               *_e_fm_dir_meta_dir_id(char *dir);
 static int                 _e_fm_dir_meta_load(E_Fm_Smart_Data *sd);
@@ -548,7 +550,7 @@
 }
 
 void
-e_fm_selector_enable(Evas_Object *object, void (*func)(Evas_Object *object, 
char *file, void *data), void *data)
+e_fm_selector_enable(Evas_Object *object, void (*func)(Evas_Object *object, 
char *file, void *data), void (*hilite_func)(Evas_Object *object, char *file, 
void *data), void *data)
 {
    E_Fm_Smart_Data *sd;        
    
@@ -558,6 +560,7 @@
    sd->is_selector = 1;
    sd->selector_func = func;
    sd->selector_data = data;
+   sd->selector_hilite_func = hilite_func;
 }
 
 /* This isnt working yet */
@@ -2195,6 +2198,9 @@
         }
        else
         {
+           if(icon->sd->is_selector && icon->file->type == E_FM_FILE_TYPE_FILE)
+             _e_fm_selector_send_hilite_file(icon);
+           
            if(icon->sd->win)
              {
                 icon->sd->drag.start = 1;
@@ -3227,6 +3233,12 @@
    icon->sd->selector_func(icon->sd->object, strdup(icon->file->path), 
icon->sd->selector_data);
 }
 
+static void
+_e_fm_selector_send_hilite_file(E_Fm_Icon *icon)
+{
+   icon->sd->selector_hilite_func(icon->sd->object, strdup(icon->file->path), 
icon->sd->selector_data);
+}
+
 static char *
 _e_fm_dir_meta_dir_id(char *dir)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- e_fileman_smart.h   22 Nov 2005 09:27:25 -0000      1.13
+++ e_fileman_smart.h   5 Dec 2005 22:20:34 -0000       1.14
@@ -43,7 +43,7 @@
 EAPI void                  e_fm_reconfigure_callback_add(Evas_Object *object, 
void (*func)(void *data, Evas_Object *obj, E_Event_Fm_Reconfigure *ev), void 
*data);
 EAPI int                   e_fm_freeze(Evas_Object *freeze);
 EAPI int                   e_fm_thaw(Evas_Object *freeze);
-EAPI void                  e_fm_selector_enable(Evas_Object *object, void 
(*func)(Evas_Object *object, char *file, void *data), void *data);
+EAPI void                  e_fm_selector_enable(Evas_Object *object, void 
(*func)(Evas_Object *object, char *file, void *data), void 
(*hilite_func)(Evas_Object *object, char *file, void *data), void *data);
 EAPI void                  e_fm_background_set(Evas_Object *object, 
Evas_Object *bg);
 
 EAPI Evas_Object          *e_fm_icon_create(void *data);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_icon_canvas.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_icon_canvas.c     22 Nov 2005 09:41:16 -0000      1.1
+++ e_icon_canvas.c     5 Dec 2005 22:20:34 -0000       1.2
@@ -643,6 +643,8 @@
 void
 _e_icon_canvas_tile_pack(E_Icon_Canvas_Tile *t, E_Icon_Canvas_Item *li)
 {   
+   if(!t)
+     return;
    t->items = evas_list_append(t->items, li);
    li->tile = t;
    if(t->visible)     
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_widget_fileman.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_widget_fileman.c  4 Nov 2005 21:02:47 -0000       1.6
+++ e_widget_fileman.c  5 Dec 2005 22:20:34 -0000       1.7
@@ -16,11 +16,14 @@
    char **valptr;
    void (*select_func) (Evas_Object *obj, char *file, void *data);
    void  *select_data;
+   void (*hilite_func) (Evas_Object *obj, char *file, void *data);
+   void  *hilite_data;   
 };
 
 static void _e_wid_del_hook(Evas_Object *obj);
 static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
 static void _e_wid_fileman_selected_cb(Evas_Object *obj, char *file, void 
*data);
+static void _e_wid_fileman_hilited_cb(Evas_Object *obj, char *file, void 
*data);
         
 /* local subsystem functions */
 
@@ -49,13 +52,36 @@
 /* this is crashing, see why */
 #if 0
    E_FREE(*(wd->valptr));
-   *(wd->valptr) = strdup(file);
-#endif
+#endif   
+   if(wd->valptr)
+     *(wd->valptr) = strdup(file);
+
 
    if (wd->select_func)
      wd->select_func(wd->wid, file, wd->select_data);
 
-   printf("e_widget_fileman: %s\n", file);
+   printf("e_widget_fileman (selected) : %s\n", file);
+}
+
+static void
+_e_wid_fileman_hilited_cb(Evas_Object *obj, char *file, void *data)
+{
+   E_Widget_Data *wd;
+   
+   wd = data;
+
+/* this is crashing, see why */
+#if 0
+   E_FREE(*(wd->valptr));
+#endif
+   if(wd->valptr)
+     *(wd->valptr) = strdup(file);
+
+
+   if (wd->hilite_func)
+     wd->hilite_func(wd->wid, file, wd->select_data);
+
+   printf("e_widget_fileman (hilited): %s\n", file);
 }
 
 /* externally accessible functions */
@@ -76,7 +102,7 @@
    e_widget_data_set(obj, wd);
    
    wd->o_fm = e_file_selector_add(evas);
-   e_file_selector_callback_add(wd->o_fm, _e_wid_fileman_selected_cb, wd);
+   e_file_selector_callback_add(wd->o_fm, _e_wid_fileman_selected_cb, 
_e_wid_fileman_hilited_cb, wd);
    evas_object_show(wd->o_fm);   
    evas_object_resize(wd->o_fm, 300, 200);
    e_widget_min_size_set(obj, 300, 200);
@@ -98,3 +124,13 @@
    wd->select_func = func;
    wd->select_data = data;
 }
+
+void
+e_widget_fileman_hilite_callback_add(Evas_Object *obj, void (*func) 
(Evas_Object *obj, char *file, void *data), void *data)
+{
+   E_Widget_Data *wd;   
+   
+   wd = e_widget_data_get(obj);
+   wd->hilite_func = func;
+   wd->hilite_data = data;
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_widget_iconsel.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_widget_iconsel.c  4 Nov 2005 21:02:12 -0000       1.6
+++ e_widget_iconsel.c  5 Dec 2005 22:20:34 -0000       1.7
@@ -21,6 +21,8 @@
    
    void (*select_func) (Evas_Object *obj, char *file, void *data);
    void  *select_data;
+   void (*hilite_func) (Evas_Object *obj, char *file, void *data);
+   void  *hilite_data;      
 };
 
 static void _e_wid_del_hook(Evas_Object *obj);
@@ -31,6 +33,7 @@
 static void _e_wid_signal_cb1(void *data, Evas_Object *obj, const char 
*emission, const char *source);
 static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
 static void _e_wid_select_cb(E_File_Dialog *dia, char *file, void *data);
+static void _e_wid_hilite_cb(E_File_Dialog *dia, char *file, void *data);
     
 /* local subsystem functions */
 
@@ -53,6 +56,8 @@
    wd->valptr = file;
    wd->select_func = NULL;
    wd->select_data = NULL;
+   wd->hilite_func = NULL;
+   wd->hilite_data = NULL;   
    wd->obj = obj;
    e_widget_data_set(obj, wd);
    
@@ -108,7 +113,9 @@
    wd = calloc(1, sizeof(E_Widget_Data));
    wd->valptr = file;
    wd->select_func = NULL;
-   wd->select_data = NULL;   
+   wd->select_data = NULL;
+   wd->hilite_func = NULL;
+   wd->hilite_data = NULL;   
    wd->obj = obj;
    e_widget_data_set(obj, wd);
    
@@ -152,6 +159,16 @@
    wd->select_data = data;     
 }
 
+void
+e_widget_iconsel_hilite_callback_add(Evas_Object *obj, void 
(*func)(Evas_Object *obj, char *file, void *data), void *data)
+{    
+   E_Widget_Data *wd;
+   
+   wd = e_widget_data_get(obj);
+   wd->hilite_func = func;
+   wd->hilite_data = data;     
+}
+
 static void
 _e_wid_del_hook(Evas_Object *obj)
 {
@@ -191,6 +208,7 @@
    if (!dia) return;
    e_file_dialog_title_set(dia, "Select File");
    e_file_dialog_select_callback_add(dia, _e_wid_select_cb, wd);
+   e_file_dialog_hilite_callback_add(dia, _e_wid_hilite_cb, wd);   
    e_file_dialog_show(dia);
 }
 
@@ -265,3 +283,26 @@
    *(wd->valptr) = strdup(file);
    e_object_del(E_OBJECT(dia));
 }
+
+static void
+_e_wid_hilite_cb(E_File_Dialog *dia, char *file, void *data)
+{
+   E_Widget_Data *wd;
+   char *ext;
+   
+   wd = data;
+   
+   ext = strrchr(file, '.');
+   if (!ext) return;
+   if ((strcasecmp(ext, ".png")) &&
+       (strcasecmp(ext, ".jpg")) &&
+       (strcasecmp(ext, ".jpeg")))
+     return;   
+   
+   if (wd->hilite_func)
+     wd->hilite_func(wd->obj, file, wd->select_data);
+      
+   //e_icon_file_set(wd->o_icon, file);
+   E_FREE(*(wd->valptr));
+   *(wd->valptr) = strdup(file);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_widget_iconsel.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_widget_iconsel.h  4 Nov 2005 21:01:37 -0000       1.3
+++ e_widget_iconsel.h  5 Dec 2005 22:20:34 -0000       1.4
@@ -9,6 +9,7 @@
 EAPI Evas_Object *e_widget_iconsel_add(Evas *evas, Evas_Object *icon, 
Evas_Coord minw, Evas_Coord minh, char **file);
 EAPI Evas_Object *e_widget_iconsel_add_from_file(Evas *evas, char *icon, 
Evas_Coord minw, Evas_Coord minh, char **file);
 EAPI void         e_widget_iconsel_select_callback_add(Evas_Object *obj, void 
(*func)(Evas_Object *obj, char *file, void *data), void *data);
+EAPI void         e_widget_iconsel_hilite_callback_add(Evas_Object *obj, void 
(*func)(Evas_Object *obj, char *file, void *data), void *data);
 
 #endif
 #endif




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to