forked from enlightenment/efl
1. efreet support.
2. edbus init - if u needit 3. efreet init - if u ned it 4. photo widget test/demo 5. icon desktop test... stuff! SVN revision: 42434
This commit is contained in:
parent
847ab424c8
commit
972b69bb98
|
@ -190,6 +190,24 @@ PKG_CHECK_MODULES([ELEMENTARY_EDBUS],
|
|||
)
|
||||
AC_SUBST(ELM_EDBUS_DEF)
|
||||
|
||||
ELM_EFREET_DEF="#undef"
|
||||
have_elementary_efreet="no"
|
||||
PKG_CHECK_MODULES([ELEMENTARY_EFREET],
|
||||
[
|
||||
efreet
|
||||
efreet-mime
|
||||
efreet-trash
|
||||
],
|
||||
[
|
||||
AC_DEFINE(HAVE_ELEMENTARY_EFREET, 1, [Efreet support for Elementary])
|
||||
have_elementary_efreet="yes"
|
||||
ELM_EFREET_DEF="#define"
|
||||
requirement_elm="efreet efreet-mime efreet-trash ${requirement_elm}"
|
||||
],
|
||||
[have_elementary_efreet="no"]
|
||||
)
|
||||
AC_SUBST(ELM_EFREET_DEF)
|
||||
|
||||
ELM_ALLOCA_H_DEF="#undef"
|
||||
AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
|
||||
AC_SUBST(ELM_ALLOCA_H_DEF)
|
||||
|
@ -251,6 +269,7 @@ echo " Windows CE....: ${have_elementary_wince}"
|
|||
echo
|
||||
echo "Features:"
|
||||
echo " EDBus.........: ${have_elementary_edbus}"
|
||||
echo " EFreet........: ${have_elementary_efreet}"
|
||||
echo
|
||||
echo "edje_cc.........: ${edje_cc}"
|
||||
echo
|
||||
|
|
|
@ -8,5 +8,6 @@ Description: Mobile device touchscreen widget library
|
|||
Requires: @requirement_elm@
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lelementary
|
||||
Libs.private: @dlopen_libs@ @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@
|
||||
Cflags: -I${includedir} -I${includedir}/elementary @ELEMENTARY_CFLAGS@ @ELEMENTARY_X_CFLAGS@ @ELEMENTARY_FB_CFLAGS@ @ELEMENTARY_WINCE_CFLAGS@ @ELEMENTARY_EDBUS_CFLAGS@
|
||||
Libs.private: @dlopen_libs@ @my_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@
|
||||
@ELEMENTARY_FB_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@
|
||||
Cflags: -I${includedir} -I${includedir}/elementary @ELEMENTARY_CFLAGS@ @ELEMENTARY_X_CFLAGS@ @ELEMENTARY_FB_CFLAGS@ @ELEMENTARY_WINCE_CFLAGS@ @ELEMENTARY_EDBUS_CFLAGS@ @ELEMENTARY_EFREET_CFLAGS@
|
||||
|
|
|
@ -13,7 +13,8 @@ AM_CPPFLAGS = \
|
|||
@ELEMENTARY_FB_CFLAGS@ \
|
||||
@ELEMENTARY_WIN32_CFLAGS@ \
|
||||
@ELEMENTARY_WINCE_CFLAGS@ \
|
||||
@ELEMENTARY_EDBUS_CFLAGS@
|
||||
@ELEMENTARY_EDBUS_CFLAGS@ \
|
||||
@ELEMENTARY_EFREET_CFLAGS@
|
||||
|
||||
if ELEMENTARY_WINDOWS_BUILD
|
||||
AM_CPPFLAGS += -DELEMENTARY_BUILD
|
||||
|
@ -57,7 +58,10 @@ test_separator.c \
|
|||
test_scroller.c \
|
||||
test_spinner.c \
|
||||
test_index.c \
|
||||
test_photocam.c
|
||||
test_photocam.c \
|
||||
test_photo.c \
|
||||
test_icon_desktops.c
|
||||
|
||||
elementary_test_LDADD = $(top_builddir)/src/lib/libelementary.la
|
||||
elementary_test_LDFLAGS =
|
||||
|
||||
|
|
|
@ -48,6 +48,8 @@ void test_scroller(void *data, Evas_Object *obj, void *event_info);
|
|||
void test_spinner(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_index(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_photocam(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_photo(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_icon_desktops(void *data, Evas_Object *obj, void *event_info);
|
||||
|
||||
static void
|
||||
my_win_del(void *data, Evas_Object *obj, void *event_info)
|
||||
|
@ -177,6 +179,8 @@ my_win_main(void)
|
|||
elm_list_item_append(li, "Spinner", NULL, NULL, test_spinner, NULL);
|
||||
elm_list_item_append(li, "Index", NULL, NULL, test_index, NULL);
|
||||
elm_list_item_append(li, "Photocam", NULL, NULL, test_photocam, NULL);
|
||||
elm_list_item_append(li, "Photo", NULL, NULL, test_photo, NULL);
|
||||
elm_list_item_append(li, "Icon Desktops", NULL, NULL, test_icon_desktops, NULL);
|
||||
|
||||
elm_list_go(li);
|
||||
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
#include <Elementary.h>
|
||||
|
||||
static Elm_Genlist_Item_Class it_desk;
|
||||
|
||||
static char *
|
||||
desk_gl_label_get(const void *data, Evas_Object *obj, const char *part)
|
||||
{
|
||||
#ifdef ELM_EFREET
|
||||
Efreet_Desktop *d = (Efreet_Desktop *)data;
|
||||
return strdup(d->name);
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
static Evas_Object *
|
||||
desk_gl_icon_get(const void *data, Evas_Object *obj, const char *part)
|
||||
{
|
||||
// FIXME: elm_icon should grok this
|
||||
#ifdef ELM_EFREET
|
||||
Efreet_Desktop *d = (Efreet_Desktop *)data;
|
||||
char *path;
|
||||
Evas_Object *ic;
|
||||
ic = elm_icon_add(obj);
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
if (!(!strcmp(part, "elm.swallow.icon"))) return ic;
|
||||
if (!d->icon) return ic;
|
||||
path = efreet_icon_path_find("default", d->icon, 48);
|
||||
if (!path)
|
||||
{
|
||||
path = efreet_icon_path_find("hicolor", d->icon, 48);
|
||||
if (!path)
|
||||
{
|
||||
path = efreet_icon_path_find("gnome", d->icon, 48);
|
||||
if (!path)
|
||||
{
|
||||
path = efreet_icon_path_find("Human", d->icon, 48);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (path)
|
||||
{
|
||||
elm_icon_file_set(ic, path, NULL);
|
||||
free(path);
|
||||
return ic;
|
||||
}
|
||||
return ic;
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
static void
|
||||
desk_gl_del(const void *data, Evas_Object *obj)
|
||||
{
|
||||
#ifdef ELM_EFREET
|
||||
Efreet_Desktop *d = (Efreet_Desktop *)data;
|
||||
efreet_desktop_free(d);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
desktop_sel(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
printf("sel\n");
|
||||
}
|
||||
|
||||
void
|
||||
test_icon_desktops(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Object *win, *bg, *gl;
|
||||
Eina_List *desktops, *l;
|
||||
|
||||
win = elm_win_add(NULL, "icon_desktops", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Icon Desktops");
|
||||
elm_win_autodel_set(win, 1);
|
||||
|
||||
bg = elm_bg_add(win);
|
||||
evas_object_size_hint_weight_set(bg, 1.0, 1.0);
|
||||
elm_win_resize_object_add(win, bg);
|
||||
evas_object_show(bg);
|
||||
|
||||
it_desk.item_style = "default";
|
||||
it_desk.func.label_get = desk_gl_label_get;
|
||||
it_desk.func.icon_get = desk_gl_icon_get;
|
||||
it_desk.func.state_get = NULL;
|
||||
it_desk.func.del = desk_gl_del;
|
||||
|
||||
gl = elm_genlist_add(win);
|
||||
evas_object_size_hint_weight_set(gl, 1.0, 1.0);
|
||||
elm_win_resize_object_add(win, gl);
|
||||
evas_object_show(gl);
|
||||
|
||||
#ifdef ELM_EFREET
|
||||
elm_need_efreet();
|
||||
desktops = efreet_util_desktop_name_glob_list("*");
|
||||
if (desktops)
|
||||
{
|
||||
Efreet_Desktop *d;
|
||||
|
||||
EINA_LIST_FOREACH(desktops, l, d)
|
||||
{
|
||||
elm_genlist_item_append(gl, &it_desk, d,
|
||||
NULL, ELM_GENLIST_ITEM_NONE,
|
||||
desktop_sel, NULL);
|
||||
// efreet_desktop_free(d);
|
||||
}
|
||||
eina_list_free(desktops);
|
||||
}
|
||||
#endif
|
||||
|
||||
evas_object_resize(win, 320, 480);
|
||||
evas_object_show(win);
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
#include <Elementary.h>
|
||||
|
||||
void
|
||||
test_photo(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Object *win, *bg, *sc, *tb, *ph;
|
||||
int i, j, n;
|
||||
char buf[PATH_MAX];
|
||||
const char *img[9] =
|
||||
{
|
||||
"panel_01.jpg",
|
||||
"plant_01.jpg",
|
||||
"rock_01.jpg",
|
||||
"rock_02.jpg",
|
||||
"sky_01.jpg",
|
||||
"sky_02.jpg",
|
||||
"sky_03.jpg",
|
||||
"sky_04.jpg",
|
||||
"wood_01.jpg"
|
||||
};
|
||||
|
||||
win = elm_win_add(NULL, "photo", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Photo");
|
||||
elm_win_autodel_set(win, 1);
|
||||
|
||||
bg = elm_bg_add(win);
|
||||
evas_object_size_hint_weight_set(bg, 1.0, 1.0);
|
||||
elm_win_resize_object_add(win, bg);
|
||||
evas_object_show(bg);
|
||||
|
||||
tb = elm_table_add(win);
|
||||
evas_object_size_hint_weight_set(tb, 1.0, 1.0);
|
||||
|
||||
n = 0;
|
||||
for (j = 0; j < 12; j++)
|
||||
{
|
||||
for (i = 0; i < 12; i++)
|
||||
{
|
||||
ph = elm_photo_add(win);
|
||||
snprintf(buf, sizeof(buf), "%s/images/%s",
|
||||
PACKAGE_DATA_DIR, img[n]);
|
||||
n++;
|
||||
if (n >= 9) n = 0;
|
||||
elm_photo_file_set(ph, buf);
|
||||
evas_object_size_hint_weight_set(ph, 1.0, 1.0);
|
||||
evas_object_size_hint_align_set(ph, -1.0, -1.0);
|
||||
elm_photo_size_set(ph, 80);
|
||||
elm_table_pack(tb, ph, i, j, 1, 1);
|
||||
evas_object_show(ph);
|
||||
}
|
||||
}
|
||||
|
||||
sc = elm_scroller_add(win);
|
||||
evas_object_size_hint_weight_set(sc, 1.0, 1.0);
|
||||
elm_win_resize_object_add(win, sc);
|
||||
|
||||
elm_scroller_content_set(sc, tb);
|
||||
evas_object_show(tb);
|
||||
evas_object_show(sc);
|
||||
|
||||
evas_object_resize(win, 300, 300);
|
||||
evas_object_show(win);
|
||||
}
|
|
@ -12,8 +12,8 @@ test_photocam(void *data, Evas_Object *obj, void *event_info)
|
|||
"/home/raster/t3.jpg"
|
||||
};
|
||||
|
||||
win = elm_win_add(NULL, "photo", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Photo");
|
||||
win = elm_win_add(NULL, "photocam", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Photocam");
|
||||
elm_win_autodel_set(win, 1);
|
||||
|
||||
bg = elm_bg_add(win);
|
||||
|
@ -25,7 +25,7 @@ test_photocam(void *data, Evas_Object *obj, void *event_info)
|
|||
evas_object_size_hint_weight_set(ph, 1.0, 1.0);
|
||||
elm_win_resize_object_add(win, ph);
|
||||
|
||||
elm_photocam_file_set(ph, img[1]);
|
||||
elm_photocam_file_set(ph, img[2]);
|
||||
|
||||
evas_object_show(ph);
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
@ELM_WIN32_DEF@ ELM_WIN32
|
||||
@ELM_WINCE_DEF@ ELM_WINCE
|
||||
@ELM_EDBUS_DEF@ ELM_EDBUS
|
||||
@ELM_EFREET_DEF@ ELM_EFREET
|
||||
@ELM_ALLOCA_H_DEF@ ELM_ALLOCA_H
|
||||
@ELM_LIBINTL_H_DEF@ ELM_LIBINTL_H
|
||||
|
||||
|
@ -75,6 +76,12 @@
|
|||
# include <E_Hal.h>
|
||||
#endif
|
||||
|
||||
#ifdef ELM_EFREET
|
||||
# include <Efreet.h>
|
||||
# include <Efreet_Mime.h>
|
||||
# include <Efreet_Trash.h>
|
||||
#endif
|
||||
|
||||
#ifdef EAPI
|
||||
# undef EAPI
|
||||
#endif
|
||||
|
@ -161,6 +168,9 @@ extern "C" {
|
|||
EAPI void elm_quicklaunch_cleanup(void);
|
||||
EAPI int elm_quicklaunch_fallback(int argc, char **argv);
|
||||
EAPI char *elm_quicklaunch_exe_path_get(const char *exe);
|
||||
|
||||
EAPI void elm_need_efreet(void);
|
||||
EAPI void elm_need_e_dbus(void);
|
||||
|
||||
EAPI void elm_object_scale_set(Evas_Object *obj, double scale);
|
||||
EAPI double elm_object_scale_get(const Evas_Object *obj);
|
||||
|
|
|
@ -13,7 +13,8 @@ AM_CPPFLAGS = \
|
|||
@ELEMENTARY_FB_CFLAGS@ \
|
||||
@ELEMENTARY_WIN32_CFLAGS@ \
|
||||
@ELEMENTARY_WINCE_CFLAGS@ \
|
||||
@ELEMENTARY_EDBUS_CFLAGS@
|
||||
@ELEMENTARY_EDBUS_CFLAGS@ \
|
||||
@ELEMENTARY_EFREET_CFLAGS@
|
||||
|
||||
if ELEMENTARY_WINDOWS_BUILD
|
||||
AM_CPPFLAGS += -DELEMENTARY_BUILD
|
||||
|
@ -79,5 +80,5 @@ els_icon.h
|
|||
|
||||
|
||||
libelementary_la_CFLAGS =
|
||||
libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@
|
||||
libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@
|
||||
libelementary_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
|
||||
|
|
|
@ -348,6 +348,76 @@ elm_shutdown(void)
|
|||
elm_quicklaunch_shutdown();
|
||||
}
|
||||
|
||||
#ifdef ELM_EDBUS
|
||||
static Eina_Bool _elm_need_e_dbus = 0;
|
||||
#endif
|
||||
EAPI void
|
||||
elm_need_e_dbus(void)
|
||||
{
|
||||
#ifdef ELM_EDBUS
|
||||
if (_elm_need_e_dbus) return;
|
||||
_elm_need_e_dbus = 1;
|
||||
e_dbus_init();
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_unneed_e_dbus(void)
|
||||
{
|
||||
#ifdef ELM_EDBUS
|
||||
if (_elm_need_e_dbus)
|
||||
{
|
||||
_elm_need_e_dbus = 0;
|
||||
e_dbus_shutdown();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef ELM_EFREET
|
||||
static Eina_Bool _elm_need_efreet = 0;
|
||||
#endif
|
||||
EAPI void
|
||||
elm_need_efreet(void)
|
||||
{
|
||||
#ifdef ELM_EFREET
|
||||
if (_elm_need_efreet) return;
|
||||
_elm_need_efreet = 1;
|
||||
efreet_init();
|
||||
efreet_util_init();
|
||||
efreet_mime_init();
|
||||
efreet_trash_init();
|
||||
/*
|
||||
{
|
||||
Eina_List **list;
|
||||
|
||||
list = efreet_icon_extra_list_get();
|
||||
if (list)
|
||||
{
|
||||
e_user_dir_concat_static(buf, "icons");
|
||||
*list = eina_list_prepend(*list, (void *)eina_stringshare_add(buf));
|
||||
e_prefix_data_concat_static(buf, "data/icons");
|
||||
*list = eina_list_prepend(*list, (void *)eina_stringshare_add(buf));
|
||||
}
|
||||
}
|
||||
*/
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_unneed_efreet(void)
|
||||
{
|
||||
#ifdef ELM_EDBUS
|
||||
if (_elm_need_efreet)
|
||||
{
|
||||
_elm_need_efreet = 0;
|
||||
efreet_trash_shutdown();
|
||||
efreet_mime_shutdown();
|
||||
efreet_util_shutdown();
|
||||
efreet_shutdown();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_quicklaunch_init(int argc, char **argv)
|
||||
{
|
||||
|
@ -370,7 +440,7 @@ elm_quicklaunch_init(int argc, char **argv)
|
|||
evas_init();
|
||||
edje_init();
|
||||
ecore_evas_init(); // FIXME: check errors
|
||||
|
||||
|
||||
_elm_exit_handler = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, _elm_signal_exit, NULL);
|
||||
|
||||
_elm_appname = strdup(ecore_file_file_get(argv[0]));
|
||||
|
@ -641,6 +711,8 @@ elm_quicklaunch_shutdown(void)
|
|||
|
||||
free(_elm_config);
|
||||
free(_elm_appname);
|
||||
_elm_unneed_efreet();
|
||||
_elm_unneed_e_dbus();
|
||||
ecore_evas_shutdown();
|
||||
edje_shutdown();
|
||||
evas_shutdown();
|
||||
|
|
Loading…
Reference in New Issue