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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs