From: <enl...@li...> - 2004-07-09 13:24:57
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: ewl_test.c Log Message: - Make the ewl_init() and ewl_shutdown() routines return 0 on failure and > 0 on success. shutdown returns the number of times init has been called for which no shutdown has been called =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/ewl_test.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- ewl_test.c 28 Jun 2004 05:19:23 -0000 1.64 +++ ewl_test.c 9 Jul 2004 13:24:50 -0000 1.65 @@ -114,7 +114,10 @@ heap_start = sbrk(0); - ewl_init(&argc, argv); + if (!ewl_init(&argc, argv)) { + fprintf(stderr, "Could not init ewl. Exiting...\n"); + return 1; + } heap_end = sbrk(0); printf("HEAP SIZE:\t%u bytes\n", heap_end - heap_start); |
From: <enl...@li...> - 2004-07-09 13:24:57
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_misc.c ewl_misc.h Log Message: - Make the ewl_init() and ewl_shutdown() routines return 0 on failure and > 0 on success. shutdown returns the number of times init has been called for which no shutdown has been called =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_misc.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -3 -r1.73 -r1.74 --- ewl_misc.c 28 Jun 2004 16:08:06 -0000 1.73 +++ ewl_misc.c 9 Jul 2004 13:24:50 -0000 1.74 @@ -26,6 +26,8 @@ static unsigned int use_engine = EWL_ENGINE_ALL; static unsigned int phase_status = 0; +static int _ewl_init_count = 0; + /* * */ @@ -75,21 +77,31 @@ /** * @param argc: the argc passed into the main function * @param argv: the argv passed into the main function - * @return Returns no value. + * @return Returns 1 or greater on success, 0 otherwise. * @brief Initialize the internal variables of ewl to begin the program * * Sets up necessary internal variables for executing ewl * functions. This should be called before any other ewl functions are used. */ -void ewl_init(int *argc, char **argv) +int ewl_init(int *argc, char **argv) { - static int initialized = 0; - DENTER_FUNCTION(DLEVEL_STABLE); - initialized++; - if (initialized > 1) - DRETURN(DLEVEL_STABLE); + if (++_ewl_init_count > 1) + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); + + ewl_init_parse_options(argc, argv); + + if (!ecore_init()) { + DERROR("Could not init ecore...."); + DRETURN_INT(--_ewl_init_count, DLEVEL_STABLE); + } + + if (!edje_init()) { + DERROR("Could not init edje...."); + ecore_shutdown(); + DRETURN_INT(--_ewl_init_count, DLEVEL_STABLE); + } configure_list = ecore_list_new(); realize_list = ecore_list_new(); @@ -98,11 +110,6 @@ free_evas_object_list = ecore_list_new(); child_add_list = ecore_list_new(); - ewl_init_parse_options(argc, argv); - - ecore_init(); - edje_init(); - #ifdef HAVE_EVAS_ENGINE_SOFTWARE_X11_H /* * Attempt to pick the correct engine by adjusting the bitmask @@ -131,24 +138,28 @@ if (!use_engine) { fprintf(stderr, "ERRR: Cannot open display!\n"); - exit(-1); + ewl_shutdown(); + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } if (!ewl_config_init()) { - DERROR("Couldn not init config data. Exiting...."); - exit(-1); + DERROR("Could not init config data...."); + ewl_shutdown(); + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } if (!ewl_ev_init()) { - DERROR("Could not init event data. Exiting...."); - exit(-1); + DERROR("Could not init event data...."); + ewl_shutdown(); + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } ewl_callbacks_init(); if (!ewl_theme_init()) { - DERROR("Could not init theme data. Exiting...."); - exit(-1); + DERROR("Could not init theme data...."); + ewl_shutdown(); + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } ewl_embed_list = ecore_list_new(); @@ -161,20 +172,22 @@ ewl_reread_config(NULL); config_timer = ecore_timer_add(0.5, ewl_reread_config, NULL); - DLEAVE_FUNCTION(DLEVEL_STABLE); + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } /** - * @return Returns no value. * @brief Cleanup internal data structures used by ewl. * * This should be called to cleanup internal EWL data structures, if using * ecore directly rather than using ewl_main(). */ -void ewl_shutdown() +int ewl_shutdown() { DENTER_FUNCTION(DLEVEL_STABLE); + if (--_ewl_init_count) + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); + ecore_timer_del(config_timer); ewl_callbacks_shutdown(); ewl_theme_shutdown(); @@ -190,10 +203,20 @@ ecore_list_destroy(ewl_window_list); edje_shutdown(); - ecore_x_shutdown(); + +#ifdef HAVE_EVAS_ENGINE_SOFTWARE_X11_H + if (use_engine & EWL_ENGINE_X11) + ecore_x_shutdown(); +#endif + +#ifdef HAVE_EVAS_ENGINE_FB_H + if (use_engine & EWL_ENGINE_FB) + ecore_fb_shutdown(); +#endif + ecore_shutdown(); - DLEAVE_FUNCTION(DLEVEL_STABLE); + DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_misc.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- ewl_misc.h 27 Feb 2004 00:30:58 -0000 1.26 +++ ewl_misc.h 9 Jul 2004 13:24:50 -0000 1.27 @@ -15,8 +15,8 @@ char *xdisplay; }; -void ewl_init(int *argc, char **argv); -void ewl_shutdown(void); +int ewl_init(int *argc, char **argv); +int ewl_shutdown(void); void ewl_main(void); void ewl_main_quit(void); void ewl_configure_request(Ewl_Widget * w); |
From: <enl...@li...> - 2004-07-09 13:39:14
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_debug.h Log Message: - DERROR should always be displayed if we are DEBUG compiled or not =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_debug.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- ewl_debug.h 21 Apr 2004 05:18:52 -0000 1.21 +++ ewl_debug.h 9 Jul 2004 13:39:08 -0000 1.22 @@ -71,14 +71,6 @@ return num; \ } -#define DERROR(fmt) \ -{ \ - ewl_print_warning(); \ - fprintf(stderr, "\tIn function:\n\n" \ - "\t%s();\n\n", __FUNCTION__); \ - fprintf(stderr, fmt); \ -} - #define DWARNING(fmt) \ { \ ewl_print_warning(); \ @@ -124,7 +116,6 @@ #define DRETURN_PTR(ptr, lvl) return (void *)ptr #define DRETURN_FLOAT(num, lvl) return num #define DRETURN_INT(num, lvl) return num -#define DERROR(fmt) #define DWARNING(fmt) #define DCHECK_PARAM_PTR(str, ptr) \ { \ @@ -141,4 +132,13 @@ } #endif +#define DERROR(fmt) \ +{ \ + ewl_print_warning(); \ + fprintf(stderr, "\tIn function:\n\n" \ + "\t%s();\n\n", __FUNCTION__); \ + fprintf(stderr, fmt); \ +} + #endif /* __EWL_DEBUG_H__ */ + |
From: <enl...@li...> - 2004-07-15 03:23:27
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_fileselector.c Log Message: - fix segv if you double click on the .. button while looking at the / directory. - the one issue with this is, if you use hits open while viewing the / directory the returned value is // =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_fileselector.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -3 -r1.36 -r1.37 --- ewl_fileselector.c 13 May 2004 06:03:00 -0000 1.36 +++ ewl_fileselector.c 15 Jul 2004 03:23:12 -0000 1.37 @@ -320,14 +320,19 @@ ptr++; if (!strcmp (ptr, "..")) { ptr--; - *ptr = '\0'; - ptr = strrchr(path, '/'); - ptr++; - *ptr = '\0'; - if (strcmp(path, "/")) { - ptr--; + if (ptr != path) { *ptr = '\0'; + ptr = strrchr(path, '/'); + ptr++; + *ptr = '\0'; + + if (strcmp(path, "/")) { + ptr--; + *ptr = '\0'; + } + } else { + *++ptr = '\0'; } } snprintf (dir, PATH_MAX, "%s", path); |
From: <enl...@li...> - 2004-07-15 14:20:03
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: Makefile.am Added Files: ewl_media_test.c Log Message: - Add Ewl_Media which is an Emotion wrapper for ewl. - check test/ewl_media_test.c to see how it works =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/Makefile.am,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- Makefile.am 14 Jul 2004 01:45:02 -0000 1.40 +++ Makefile.am 15 Jul 2004 14:19:56 -0000 1.41 @@ -2,9 +2,9 @@ MAINTAINERCLEANFILES = Makefile.in CFLAGS = -g -W -Wall -Wno-implicit -INCLUDES = -I$(top_srcdir)/src @edje_cflags@ @ecore_cflags@ @evas_cflags@ +INCLUDES = -I$(top_srcdir)/src @edje_cflags@ @ecore_cflags@ @evas_cflags@ @emotion_cflags@ -bin_PROGRAMS = ewl_test ewl_embed_test ewl_simple_test +bin_PROGRAMS = ewl_test ewl_embed_test ewl_simple_test ewl_media_test ewl_test_DEPENDENCIES = $(top_builddir)/src/libewl.la ewl_test_SOURCES = ewl_test.h \ @@ -32,22 +32,29 @@ ewl_tree_test.c # ewl_test_LDFLAGS = -ewl_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ +ewl_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ @emotion_libs@ ewl_embed_test_DEPENDENCIES = $(top_builddir)/src/libewl.la ewl_embed_test_SOURCES = ewl_embed_test.c # ewl_embed_test_LDFLAGS = -ewl_embed_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ +ewl_embed_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ @emotion_libs@ ewl_simple_test_DEPENDENCIES = $(top_builddir)/src/libewl.la ewl_simple_test_SOURCES = ewl_simple_test.c # ewl_simple_test_LDFLAGS = -ewl_simple_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ +ewl_simple_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ @emotion_libs@ + +ewl_media_test_DEPENDENCIES = $(top_builddir)/src/libewl.la +ewl_media_test_SOURCES = ewl_media_test.c + +# ewl_media_test_LDFLAGS = +ewl_media_test_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ @emotion_libs@ EXTRA_DIST = $(ewl_test_SOURCES) $(ewl_embed_test_SOURCES) \ - $(ewl_simple_test_SOURCES) + $(ewl_simple_test_SOURCES) $(ewl_media_test_SOURCES) exampledir = $(pkgdatadir)/examples/ example_DATA = $(ewl_test_SOURCES) + |
From: <enl...@li...> - 2004-07-15 14:20:03
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/tools/ewl_config Modified Files: Makefile.am Log Message: - Add Ewl_Media which is an Emotion wrapper for ewl. - check test/ewl_media_test.c to see how it works =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/tools/ewl_config/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 24 Mar 2004 05:20:19 -0000 1.4 +++ Makefile.am 15 Jul 2004 14:19:56 -0000 1.5 @@ -8,4 +8,4 @@ ewl_config_DEPENDENCIES = $(top_builddir)/src/libewl.la ewl_config_SOURCES = ewl_config.c -ewl_config_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ +ewl_config_LDADD = $(top_builddir)/src/libewl.la @edje_libs@ @ecore_libs@ @evas_libs@ @emotion_libs@ |
From: <enl...@li...> - 2004-07-15 14:20:32
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl Modified Files: configure.in Log Message: - Add Ewl_Media which is an Emotion wrapper for ewl. - check test/ewl_media_test.c to see how it works =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/configure.in,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- configure.in 14 Jul 2004 00:28:20 -0000 1.32 +++ configure.in 15 Jul 2004 14:19:55 -0000 1.33 @@ -242,6 +242,41 @@ fi ]) +EMOTION_CONFIG="emotion-config" +AC_ARG_WITH(emotion-config, +[ --with-emotion-config=FILE emotion-config script to use (eg /usr/bin/emotion-config)], +[ + EMOTION_CONFIG=$withval + AC_CHECK_PROG(EMOTION_CONFIG_IN_PATH, $EMOTION_CONFIG, yes, no) + if test $EMOTION_CONFIG_IN_PATH = no; then + echo "ERROR:" + echo "The emotion-config development script you specified:" + echo "$EMOTION_CONFIG" + echo "was not found. Please check the path and make sure " + echo "the script exists and is executable." + AC_MSG_ERROR([Fatal Error: no emotion-config detected.]) + exit; + fi + ], +[ + AC_CHECK_PROG(EMOTION_CONFIG_IN_PATH, $EMOTION_CONFIG, yes, no) + if test $EMOTION_CONFIG_IN_PATH = no; then + echo "ERROR:" + echo "The emotion-config development script was not found in your execute" + echo "path. This may mean one of several things" + echo "1. You may not have installed the emotion-devel (or emotion-dev)" + echo " packages." + echo "2. You may have emotion installed somewhere not covered by your path." + echo "" + echo "If this is the case make sure you have the packages installed, AND" + echo "that the emotion-config script is in your execute path (see your" + echo "shell's manual page on setting the \$PATH environment variable), OR" + echo "alternatively, specify the script to use with --with-emotion-config." + AC_MSG_ERROR([Fatal Error: no emotion-config detected.]) + exit; + fi +]) + AC_SUBST(edb_cflags) AC_SUBST(edb_libs) edb_cflags=`$EDB_CONFIG --cflags` @@ -267,7 +302,12 @@ edje_cflags=`$EDJE_CONFIG --cflags` edje_libs=`$EDJE_CONFIG --libs` -requirements="evas ecore edb etox edje" +AC_SUBST(emotion_cflags) +AC_SUBST(emotion_libs) +emotion_cflags=`$EMOTION_CONFIG --cflags` +emotion_libs=`$EMOTION_CONFIG --libs` + +requirements="evas ecore edb etox edje emotion" AC_SUBST(requirements) AC_OUTPUT([ |
From: <enl...@li...> - 2004-07-15 14:20:33
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: Ewl.h Makefile.am Added Files: ewl_media.c ewl_media.h Log Message: - Add Ewl_Media which is an Emotion wrapper for ewl. - check test/ewl_media_test.c to see how it works =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/Ewl.h,v retrieving revision 1.57 retrieving revision 1.58 diff -u -3 -r1.57 -r1.58 --- Ewl.h 29 Jun 2004 19:21:40 -0000 1.57 +++ Ewl.h 15 Jul 2004 14:19:56 -0000 1.58 @@ -280,6 +280,7 @@ #include <Ecore.h> #include <Edb.h> #include <Etox.h> +#include <Emotion.h> #include <stdio.h> #include <stdlib.h> @@ -355,6 +356,7 @@ #include <ewl_selectionbar.h> #include <ewl_selectionbook.h> #include <ewl_tooltip.h> +#include <ewl_media.h> #include <ewl_tree.h> =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/Makefile.am,v retrieving revision 1.52 retrieving revision 1.53 diff -u -3 -r1.52 -r1.53 --- Makefile.am 16 Jun 2004 07:19:09 -0000 1.52 +++ Makefile.am 15 Jul 2004 14:19:56 -0000 1.53 @@ -30,6 +30,7 @@ ewl_grid.h \ ewl_image.h \ ewl_imenu.h \ + ewl_media.h \ ewl_menu.h \ ewl_macros.h \ ewl_menu_base.h \ @@ -81,6 +82,7 @@ ewl_grid.c \ ewl_image.c \ ewl_imenu.c \ + ewl_media.c \ ewl_menu.c \ ewl_menu_base.c \ ewl_misc.c \ |
From: <enl...@li...> - 2004-07-16 00:26:21
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: ewl_media_test.c Log Message: - Allow ewl_media_init to recieve the path (api change) - fix possible mem leak - change ewl_media_test to allow specifing file on cmd line =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/ewl_media_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ewl_media_test.c 15 Jul 2004 14:19:56 -0000 1.1 +++ ewl_media_test.c 16 Jul 2004 00:26:13 -0000 1.2 @@ -122,12 +122,16 @@ int main(int argc, char ** argv) { Ewl_Widget *win = NULL, *o = NULL, *b = NULL; Ewl_Widget *controls = NULL; + char * file = NULL; if (!ewl_init(&argc, argv)) { printf("Can't init ewl"); return 1; } + if (argc > 1) + file = argv[1]; + win = ewl_window_new(); ewl_window_set_title(EWL_WINDOW(win), "EWL Media test"); ewl_window_set_name(EWL_WINDOW(win), "EWL_Media_test"); @@ -143,7 +147,7 @@ ewl_widget_show(b); /* the video */ - video = ewl_media_new(); + video = ewl_media_new(file); ewl_container_append_child(EWL_CONTAINER(b), video); ewl_widget_show(video); |
From: <enl...@li...> - 2004-07-16 00:26:50
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_media.c ewl_media.h Log Message: - Allow ewl_media_init to recieve the path (api change) - fix possible mem leak - change ewl_media_test to allow specifing file on cmd line =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_media.c 16 Jul 2004 00:04:43 -0000 1.2 +++ ewl_media.c 16 Jul 2004 00:26:13 -0000 1.3 @@ -3,10 +3,11 @@ static void ewl_media_size_update(Ewl_Media *m); /** + * @param media: the media to be played or NULL * @return Returns a pointer to a new media on success, NULL on failure. * @brief Allocate a new media widget */ -Ewl_Widget *ewl_media_new() +Ewl_Widget *ewl_media_new(char *media) { Ewl_Media *m; @@ -16,19 +17,20 @@ if (!m) DRETURN_PTR(NULL, DLEVEL_STABLE); - ewl_media_init(m); + ewl_media_init(m, media); DRETURN_PTR(EWL_WIDGET(m), DLEVEL_STABLE); } /** * @param m: the media area to be initialized + * @param media: the media to be played or NULL * @return Returns no value. * @brief Initialize the fields and callbacks of a media object * * Sets the internal fields and callbacks of a media object to there defaults. */ -void ewl_media_init(Ewl_Media *m) +void ewl_media_init(Ewl_Media *m, char *media) { Ewl_Widget *w; @@ -46,6 +48,9 @@ ewl_callback_append(w, EWL_CALLBACK_CONFIGURE, ewl_media_configure_cb, NULL); + if (media) + ewl_media_media_set(m, media); + DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -63,6 +68,7 @@ DCHECK_PARAM_PTR("m", m); DCHECK_PARAM_PTR("media", media); + IF_FREE(m->media); m->media = strdup(media); /* =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_media.h 16 Jul 2004 00:04:43 -0000 1.2 +++ ewl_media.h 16 Jul 2004 00:26:13 -0000 1.3 @@ -31,8 +31,8 @@ char *media; /**< Path to the media file */ }; -Ewl_Widget *ewl_media_new(); -void ewl_media_init(Ewl_Media * m); +Ewl_Widget *ewl_media_new(char *media); +void ewl_media_init(Ewl_Media * m, char *media); void ewl_media_media_set(Ewl_Media * m, char *media); char *ewl_media_media_get(Ewl_Media * m); |
From: <enl...@li...> - 2004-07-16 00:31:44
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_media.c Log Message: - fix segv on file load =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- ewl_media.c 16 Jul 2004 00:26:13 -0000 1.3 +++ ewl_media.c 16 Jul 2004 00:31:37 -0000 1.4 @@ -334,6 +334,6 @@ int width, height; emotion_object_size_get(m->video, &width, &height); if (width && height) - ewl_object_set_preferred_size(EWL_OBJECT(m->video), - width, height); + ewl_object_set_preferred_size(EWL_OBJECT(m), width, height); } + |
From: <enl...@li...> - 2004-07-16 23:48:54
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: ewl_media_test.c Log Message: - add a seeker bar and hook it up - some fill policy changes =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/ewl_media_test.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ewl_media_test.c 16 Jul 2004 20:09:37 -0000 1.4 +++ ewl_media_test.c 16 Jul 2004 23:48:48 -0000 1.5 @@ -2,6 +2,7 @@ static Ewl_Widget *video; static Ewl_Widget *fd_win; +static Ewl_Widget *seeker; typedef struct { char *name; @@ -56,6 +57,36 @@ data = NULL; } +void video_realize_cb(Ewl_Widget *w, void *event, void *data) { + double len = ewl_media_length_get(EWL_MEDIA(video)); + ewl_seeker_set_range(EWL_SEEKER(seeker), len); + + return; + w = NULL; + event = NULL; + data = NULL; +} + +void video_change_cb(Ewl_Widget *w, void *event, void *data) { + double val = ewl_media_position_get(EWL_MEDIA(video)); + ewl_seeker_set_value(EWL_SEEKER(seeker), val); + + return; + w = NULL; + event = NULL; + data = NULL; +} + +void seeker_move_cb(Ewl_Widget *w, void *event, void *data) { + double val = ewl_seeker_get_value(EWL_SEEKER(seeker)); + ewl_media_position_set(EWL_MEDIA(video), val); + + return; + w = NULL; + event = NULL; + data = NULL; +} + void fd_win_del_cb(Ewl_Widget *w, void *event, void *data) { ewl_widget_hide(w); ewl_widget_destroy(w); @@ -139,16 +170,21 @@ ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, del_cb, NULL); ewl_callback_append(win, EWL_CALLBACK_KEY_UP, key_up_cb, NULL); ewl_object_request_size(EWL_OBJECT(win), 320, 280); + ewl_object_set_fill_policy(EWL_OBJECT(win), EWL_FLAG_FILL_ALL); ewl_widget_show(win); /* box to contain everything */ b = ewl_vbox_new(); ewl_container_append_child(EWL_CONTAINER(win), b); + ewl_object_set_fill_policy(EWL_OBJECT(b), EWL_FLAG_FILL_ALL); ewl_widget_show(b); /* the video */ video = ewl_media_new(file); ewl_container_append_child(EWL_CONTAINER(b), video); + ewl_object_set_fill_policy(EWL_OBJECT(video), EWL_FLAG_FILL_ALL); + ewl_callback_append(video, EWL_CALLBACK_REALIZE, video_realize_cb, NULL); + ewl_callback_append(video, EWL_CALLBACK_VALUE_CHANGED, video_change_cb, NULL); ewl_widget_show(video); /* box to contain contols and scrollers */ @@ -183,6 +219,20 @@ } } + b = ewl_hbox_new(); + ewl_container_append_child(EWL_CONTAINER(controls), b); + ewl_widget_show(b); + + seeker = ewl_seeker_new(EWL_ORIENTATION_HORIZONTAL); + ewl_container_append_child(EWL_CONTAINER(b), seeker); + ewl_object_set_fill_policy(EWL_OBJECT(seeker), + EWL_FLAG_FILL_VSHRINK | EWL_FLAG_FILL_HFILL); + ewl_seeker_set_value(EWL_SEEKER(seeker), 0.0); + ewl_seeker_set_range(EWL_SEEKER(seeker), 0.0); + ewl_seeker_set_step(EWL_SEEKER(seeker), 1.0); + ewl_callback_append(seeker, EWL_CALLBACK_VALUE_CHANGED, seeker_move_cb, NULL); + ewl_widget_show(seeker); + ewl_main(); return 0; } |
From: <enl...@li...> - 2004-07-16 23:48:54
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_media.c Log Message: - add a seeker bar and hook it up - some fill policy changes =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ewl_media.c 16 Jul 2004 00:31:37 -0000 1.4 +++ ewl_media.c 16 Jul 2004 23:48:48 -0000 1.5 @@ -1,6 +1,8 @@ #include <Ewl.h> static void ewl_media_size_update(Ewl_Media *m); +static void ewl_media_update_timer_cb(void *data, Evas_Object *obj, void + *event_info); /** * @param media: the media to be played or NULL @@ -324,6 +326,8 @@ evas_object_move(m->video, CURRENT_X(w), CURRENT_Y(w)); evas_object_resize(m->video, CURRENT_W(w), CURRENT_H(w)); evas_object_layer_set(m->video, ewl_widget_get_layer_sum(w)); + evas_object_smart_callback_add(m->video, "frame_decode", + ewl_media_update_timer_cb, m); } DLEAVE_FUNCTION(DLEVEL_STABLE); @@ -337,3 +341,11 @@ ewl_object_set_preferred_size(EWL_OBJECT(m), width, height); } +static void ewl_media_update_timer_cb(void *data, Evas_Object *obj, void *event_info) +{ + Ewl_Widget *m = (Ewl_Widget *)data; + ewl_callback_call(m, EWL_CALLBACK_VALUE_CHANGED); +} + + + |
From: <enl...@li...> - 2004-07-17 00:18:50
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: Makefile.am Log Message: - this makes it build again, but the Emotion.h file is still not being put in correctly =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/Makefile.am,v retrieving revision 1.55 retrieving revision 1.56 diff -u -3 -r1.55 -r1.56 --- Makefile.am 16 Jul 2004 23:39:40 -0000 1.55 +++ Makefile.am 17 Jul 2004 00:18:36 -0000 1.56 @@ -122,7 +122,7 @@ libewl_la_SOURCES = \ $(EWLSOURCES) \ - $(EWLEMOTIONHEADERS) + $(EWLEMOTIONSOURCES) installed_headersdir = $(prefix)/include/ewl installed_headers_DATA = $(EWLHEADERS) |
From: <enl...@li...> - 2004-07-17 03:42:51
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_media.c Log Message: - need to include ewl-config.h so Emotion.h will be included correctly =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ewl_media.c 17 Jul 2004 00:03:30 -0000 1.6 +++ ewl_media.c 17 Jul 2004 03:42:44 -0000 1.7 @@ -1,3 +1,4 @@ +#include "ewl-config.h" #include <Ewl.h> static void ewl_media_size_update(Ewl_Media *m); |
From: <enl...@li...> - 2004-07-17 04:08:42
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: ewl_media_test.c Log Message: - add a time display to the media test. the formatting and figuring out of the values for the time are taken from benr's envision =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/ewl_media_test.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ewl_media_test.c 16 Jul 2004 23:48:48 -0000 1.5 +++ ewl_media_test.c 17 Jul 2004 04:08:35 -0000 1.6 @@ -68,8 +68,20 @@ } void video_change_cb(Ewl_Widget *w, void *event, void *data) { - double val = ewl_media_position_get(EWL_MEDIA(video)); - ewl_seeker_set_value(EWL_SEEKER(seeker), val); + char buf[512]; + int h, m; + double s; + Ewl_Text *t = (Ewl_Text *)data; + double pos = ewl_media_position_get(EWL_MEDIA(video)); + + ewl_seeker_set_value(EWL_SEEKER(seeker), pos); + + /* stolen from envision by benr */ + h = (int)pos / (60 * 60); + m = ((int)pos / 60) - (h * 60); + s = pos - (h * 60 * 60) - (m * 60); + snprintf(buf, sizeof(buf), "%02i:%02i:%02.0f", h, m, s); + ewl_text_text_set(t, buf); return; w = NULL; @@ -152,7 +164,7 @@ int main(int argc, char ** argv) { Ewl_Widget *win = NULL, *o = NULL, *b = NULL; - Ewl_Widget *controls = NULL; + Ewl_Widget *controls = NULL, *time = NULL; char * file = NULL; if (!ewl_init(&argc, argv)) { @@ -179,12 +191,15 @@ ewl_object_set_fill_policy(EWL_OBJECT(b), EWL_FLAG_FILL_ALL); ewl_widget_show(b); + /* create the time widget now so we can pass it to the video as data */ + time = ewl_text_new("00:00:00"); + /* the video */ video = ewl_media_new(file); ewl_container_append_child(EWL_CONTAINER(b), video); ewl_object_set_fill_policy(EWL_OBJECT(video), EWL_FLAG_FILL_ALL); ewl_callback_append(video, EWL_CALLBACK_REALIZE, video_realize_cb, NULL); - ewl_callback_append(video, EWL_CALLBACK_VALUE_CHANGED, video_change_cb, NULL); + ewl_callback_append(video, EWL_CALLBACK_VALUE_CHANGED, video_change_cb, time); ewl_widget_show(video); /* box to contain contols and scrollers */ @@ -223,6 +238,7 @@ ewl_container_append_child(EWL_CONTAINER(controls), b); ewl_widget_show(b); + /* the video seeker */ seeker = ewl_seeker_new(EWL_ORIENTATION_HORIZONTAL); ewl_container_append_child(EWL_CONTAINER(b), seeker); ewl_object_set_fill_policy(EWL_OBJECT(seeker), @@ -233,6 +249,12 @@ ewl_callback_append(seeker, EWL_CALLBACK_VALUE_CHANGED, seeker_move_cb, NULL); ewl_widget_show(seeker); + /* the time text spot */ + ewl_container_append_child(EWL_CONTAINER(b), time); + ewl_object_set_insets(EWL_OBJECT(time), 0, 3, 0, 0); + ewl_object_set_fill_policy(EWL_OBJECT(time), EWL_FLAG_FILL_SHRINK); + ewl_widget_show(time); + ewl_main(); return 0; } |
From: <enl...@li...> - 2004-07-18 18:21:59
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_media.c ewl_media.h Log Message: - move the time calculations into ewl_media itself. there is now a ewl_media_length_time_get() and ewl_media_position_time_get() taking the hour, min, sec variables and setting them accordingly - update ewl_media_test.c to use these calls =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- ewl_media.c 17 Jul 2004 03:42:44 -0000 1.7 +++ ewl_media.c 18 Jul 2004 18:21:46 -0000 1.8 @@ -123,6 +123,23 @@ /** * @param m: the media widget to act upon + * @param h: hours variable + * @param min: minutes variable + * @param s: seconds variable + * @brief Puts the length of the video into the @h, @m, @s variables + */ +void ewl_media_length_time_get(Ewl_Media *m, int *h, int *min, double *s) +{ + double pos = ewl_media_length_get(m); + + /* stolen from envision by benr */ + *h = (int)pos / (60 * 60); + *min = ((int)pos / 60) - (*h * 60); + *s = pos - (*h * 60 * 60) - (*min * 60); +} + +/** + * @param m: the media widget to act upon * @param p: the value to set play too * @return Returns no value * @brief Sets the media widget into the given state @@ -176,6 +193,23 @@ /** * @param m: the media widget to act upon + * @param h: hours variable + * @param min: minutes variable + * @param s: seconds variable + * @brief Puts the position of the video into the @h, @m, @s variables + */ +void ewl_media_position_time_get(Ewl_Media *m, int *h, int *min, double *s) +{ + double pos = ewl_media_position_get(m); + + /* stolen from envision by benr */ + *h = (int)pos / (60 * 60); + *min = ((int)pos / 60) - (*h * 60); + *s = pos - (*h * 60 * 60) - (*min * 60); +} + +/** + * @param m: the media widget to act upon * @param p: the positon to seek too * @return Returns no value * @brief Sets the media widget to the specified position =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_media.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ewl_media.h 17 Jul 2004 00:03:30 -0000 1.4 +++ ewl_media.h 18 Jul 2004 18:21:46 -0000 1.5 @@ -38,10 +38,12 @@ void ewl_media_media_set(Ewl_Media * m, char *media); char *ewl_media_media_get(Ewl_Media * m); int ewl_media_length_get(Ewl_Media *m); +void ewl_media_length_time_get(Ewl_Media *m, int *h, int *min, double *s); void ewl_media_play_set(Ewl_Media *m, int p); int ewl_media_seekable_get(Ewl_Media *m); double ewl_media_position_get(Ewl_Media *m); +void ewl_media_position_time_get(Ewl_Media *m, int *h, int *min, double *s); void ewl_media_position_set(Ewl_Media *m, double p); int ewl_media_audio_mute_get(Ewl_Media *m); |
From: <enl...@li...> - 2004-07-18 18:21:59
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: ewl_media_test.c Log Message: - move the time calculations into ewl_media itself. there is now a ewl_media_length_time_get() and ewl_media_position_time_get() taking the hour, min, sec variables and setting them accordingly - update ewl_media_test.c to use these calls =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/ewl_media_test.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ewl_media_test.c 17 Jul 2004 04:08:35 -0000 1.6 +++ ewl_media_test.c 18 Jul 2004 18:21:48 -0000 1.7 @@ -75,11 +75,7 @@ double pos = ewl_media_position_get(EWL_MEDIA(video)); ewl_seeker_set_value(EWL_SEEKER(seeker), pos); - - /* stolen from envision by benr */ - h = (int)pos / (60 * 60); - m = ((int)pos / 60) - (h * 60); - s = pos - (h * 60 * 60) - (m * 60); + ewl_media_position_time_get(EWL_MEDIA(video), &h, &m, &s); snprintf(buf, sizeof(buf), "%02i:%02i:%02.0f", h, m, s); ewl_text_text_set(t, buf); |
From: <enl...@li...> - 2004-07-23 03:49:01
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/test Modified Files: ewl_media_test.c Log Message: - the ewl_media.h will be pulled in by Ewl.h again =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/test/ewl_media_test.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ewl_media_test.c 19 Jul 2004 18:04:28 -0000 1.9 +++ ewl_media_test.c 23 Jul 2004 03:48:49 -0000 1.10 @@ -1,5 +1,4 @@ #include <Ewl.h> -#include <ewl_media.h> static Ewl_Widget *video; static Ewl_Widget *fd_win; |
From: <enl...@li...> - 2004-07-26 15:10:38
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl Modified Files: Makefile.am Log Message: - convert ewl to use ecore_config - everything seems to be working on the surface - remove the tools dir from the build as ewl_config isn't needed now =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/Makefile.am,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- Makefile.am 14 Jul 2004 00:28:20 -0000 1.16 +++ Makefile.am 26 Jul 2004 15:10:01 -0000 1.17 @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = src test tools data +SUBDIRS = src test data MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \ config.h.in config.sub configure install-sh \ |
From: <enl...@li...> - 2004-07-26 15:10:12
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_config.c ewl_config.h ewl_misc.c ewl_theme.c Log Message: - convert ewl to use ecore_config - everything seems to be working on the surface - remove the tools dir from the build as ewl_config isn't needed now =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_config.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- ewl_config.c 13 Jul 2004 17:54:01 -0000 1.35 +++ ewl_config.c 26 Jul 2004 15:10:01 -0000 1.36 @@ -1,20 +1,28 @@ - #include <Ewl.h> +#include <Ecore_Config.h> #ifdef HAVE_CONFIG_H #include "ewl-config.h" #endif +enum Ewl_Config_Types { + EWL_CONFIG_DEBUG_ENABLE, + EWL_CONFIG_DEBUG_LEVEL, + EWL_CONFIG_EVAS_RENDER_METHOD, + EWL_CONFIG_EVAS_FONT_CACHE, + EWL_CONFIG_EVAS_IMAGE_CACHE, + EWL_CONFIG_THEME_NAME, + EWL_CONFIG_THEME_CACHE, + EWL_CONFIG_THEME_COLOR_CLASSES_OVERRIDE +}; -static E_DB_File *config_db = NULL; +extern Ecore_List *ewl_embed_list; -static void ewl_config_db_create(void); -static int ewl_config_db_open(const char *name); -static int ewl_config_db_stat(char *name); -static void ewl_config_db_close(void); -static int ewl_config_db_exists(char *name); +static void ewl_config_set_defaults(void); +static void ewl_config_read_config(void); -extern Ecore_List *ewl_embed_list; +static int ewl_config_listener(const char *key, const Ecore_Config_Type type, + const int tag, void *data); Ewl_Config ewl_config; @@ -28,15 +36,9 @@ { DENTER_FUNCTION(DLEVEL_STABLE); + ecore_config_system_init(); memset(&ewl_config, 0, sizeof(Ewl_Config)); - - if (ewl_config_db_exists("system") != -1) - ewl_config_db_close(); - else - ewl_config_db_create(); - - if (ewl_config_db_exists("system") == -1) - DRETURN_INT(FALSE, DLEVEL_STABLE); + ewl_config_read_config(); DRETURN_INT(TRUE, DLEVEL_STABLE); } @@ -45,10 +47,11 @@ { IF_FREE(ewl_config.evas.render_method); IF_FREE(ewl_config.theme.name); + + ecore_config_system_shutdown(); } /** - * @param config: in what config to search for the key * @param k: the key to set in the configuration database * @param v: the string value that will be associated with the key * @return Returns TRUE on success, FALSE on failure. @@ -57,24 +60,16 @@ * Sets the string value associated with the key @a k to @a v in the * configuration database. */ -int ewl_config_set_str(char *config, char *k, char *v) +int ewl_config_set_str(const char *k, char *v) { DENTER_FUNCTION(DLEVEL_STABLE); - if (!ewl_config_db_open(config)) - DRETURN_INT(FALSE, DLEVEL_STABLE); - - e_db_str_set(config_db, k, v); - - ewl_config_db_close(); + ecore_config_string_set(k, v); DRETURN_INT(TRUE, DLEVEL_STABLE); } - - /** - * @param config: in what config to search for the key * @param k: the key to set in the configuration database * @param v: the integer value that will be associated with the key * @return Returns TRUE on success, FALSE on failure. @@ -83,23 +78,17 @@ * Sets the integer value associated with the key @a k to @a v in the * configuration database. */ -int ewl_config_set_int(char *config, char *k, int v) +int ewl_config_set_int(const char *k, int v) { DENTER_FUNCTION(DLEVEL_STABLE); - if (!ewl_config_db_open(config)) - DRETURN_INT(FALSE, DLEVEL_STABLE); - - e_db_int_set(config_db, k, v); - - ewl_config_db_close(); + ecore_config_int_set(k, v); DRETURN_INT(TRUE, DLEVEL_STABLE); } /** - * @param config: in what config to search for the key * @param k: the key to set in the configuration database * @param v: the float value that will be associated with the key * @return Returns TRUE on success, FALSE on failure. @@ -108,89 +97,61 @@ * Sets the float value associated with the key @a k to @a v in the * configuration database. */ -int ewl_config_set_float(char *config, char *k, float v) +int ewl_config_set_float(const char *k, float v) { DENTER_FUNCTION(DLEVEL_STABLE); - if (!ewl_config_db_open(config)) - DRETURN_INT(FALSE, DLEVEL_STABLE); - - e_db_float_set(config_db, k, v); - - ewl_config_db_close(); + ecore_config_float_set(k, v); DRETURN_INT(TRUE, DLEVEL_STABLE); } /** - * @param config: in what config to search for the key * @param k: the key to search * @return Returns the found string value on success, NULL on failure. * @brief Retrieve string value associated with a key */ -char *ewl_config_get_str(char *config, char *k) +char *ewl_config_get_str(const char *k) { - char *ret = NULL; + char *ret = NULL; DENTER_FUNCTION(DLEVEL_STABLE); - if (ewl_config_db_open(config)) { - ret = e_db_str_get(config_db, k); - - ewl_config_db_close(); - } + ret = ecore_config_string_get(k); DRETURN_PTR(ret, DLEVEL_STABLE); } /** - * @param config: in what config to search for the key * @param k: the key to search * @return Returns the found integer value on success, 0 on failure. * @brief Retrieve integer value associated with a key */ -int ewl_config_get_int(char *config, char *k) +int ewl_config_get_int(const char *k) { - int ret = -1; - int v; + int v = 0; DENTER_FUNCTION(DLEVEL_STABLE); - if (ewl_config_db_open(config)) { - ret = e_db_int_get(config_db, k, &v); - - ewl_config_db_close(); - } - - if (!ret) - DRETURN_INT(ret, DLEVEL_STABLE); + v = ecore_config_int_get(k); DRETURN_INT(v, DLEVEL_STABLE); } /** - * @param config: in what config to search for the key * @param k: the key to search * @return Returns the found float value on success, 0.0 on failure. * @brief Retrieve floating point value associated with a key */ -float ewl_config_get_float(char *config, char *k) +float ewl_config_get_float(const char *k) { - int ret = -1; - float v = 0.0; + float v = 0.0; DENTER_FUNCTION(DLEVEL_STABLE); - if (ewl_config_db_open(config)) { - ret = e_db_float_get(config_db, k, &v); - - ewl_config_db_close(); - } - - if (!ret) - DRETURN_FLOAT(ret, DLEVEL_STABLE); + v = ecore_config_float_get(k); DRETURN_FLOAT(v, DLEVEL_STABLE); } @@ -208,27 +169,14 @@ DLEVEL_STABLE); } -/** - * @return Returns no value. - * @brief Reread the values of the configuration database - * - * Reads in the values of the configuration database and applies them to the - * running ewl program. - */ -void ewl_config_reread_and_apply(void) +static void ewl_config_read_config(void) { int cc; - time_t mt; Ewl_Config nc; + Ecore_Config_Prop *prop; DENTER_FUNCTION(DLEVEL_STABLE); - mt = ewl_config_db_stat("system"); - if (mt == ewl_config.mtime) - DRETURN(DLEVEL_STABLE); - - ewl_config.mtime = mt; - /* * Clean out some memory first, this is likely to get re-used if the * values have not changed. @@ -236,88 +184,125 @@ IF_FREE(ewl_config.evas.render_method); IF_FREE(ewl_config.theme.name); - nc.debug.enable = ewl_config_get_int("system", "/debug/enable"); - nc.debug.level = ewl_config_get_int("system", "/debug/level"); - nc.evas.font_cache = ewl_config_get_int("system", "/evas/font_cache"); - nc.evas.image_cache = ewl_config_get_int("system", "/evas/image_cache"); - nc.evas.render_method = - ewl_config_get_str("system", "/evas/render_method"); - nc.theme.name = ewl_config_get_str("system", "/theme/name"); - nc.theme.cache = ewl_config_get_int("system", "/theme/cache"); - nc.theme.cclass_override = ewl_config_get_int("system", - "/theme/color_classes/override"); + ewl_config_set_defaults(); + + nc.debug.enable = ewl_config_get_int("/ewl/debug/enable"); + nc.debug.level = ewl_config_get_int("/ewl/debug/level"); + nc.evas.font_cache = ewl_config_get_int("/ewl/evas/font_cache"); + nc.evas.image_cache = ewl_config_get_int("/ewl/evas/image_cache"); + nc.evas.render_method = ewl_config_get_str("/ewl/evas/render_method"); + nc.theme.name = ewl_config_get_str("/ewl/theme/name"); + nc.theme.cache = ewl_config_get_int("/ewl/theme/cache"); + nc.theme.cclass_override = + ewl_config_get_int("/ewl/theme/color_classes/override"); if (nc.theme.cclass_override) { int i; - cc = ewl_config_get_int("system", "/theme/color_classes/count"); + cc = ewl_config_get_int("/ewl/theme/color_classes/count"); + prop = ecore_config_get("/ewl/theme/color_classes/count"); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; + for (i = 0; i < cc; i++) { char *name; char key[PATH_MAX]; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/name", i); - name = ewl_config_get_str("system", key); + "/ewl/theme/color_classes/%d/name", i); + name = ewl_config_get_str(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; + if (name) { int r, g, b, a; int r2, g2, b2, a2; int r3, g3, b3, a3; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/r", i); - r = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/r", i); + r = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/g", i); - g = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/g", i); + g = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/b", i); - b = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/b", i); + b = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/a", i); - a = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/a", i); + a = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/r2", - i); - r2 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/r2", i); + r2 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/g2", - i); - g2 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/g2", i); + g2 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/b2", - i); - b2 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/b2", i); + b2 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/a2", - i); - a2 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/a2", i); + a2 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/r3", - i); - r3 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/r3", i); + r3 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/g3", - i); - g3 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/g3", i); + g3 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/b3", - i); - b3 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/b3", i); + b3 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; snprintf(key, PATH_MAX, - "/theme/color_classes/%d/a3", - i); - a3 = ewl_config_get_int("system", key); + "/ewl/theme/color_classes/%d/a3", i); + a3 = ewl_config_get_int(key); + prop = ecore_config_get(key); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; edje_color_class_set(name, r, g, b, a, r2, g2, b2, a2, @@ -339,9 +324,6 @@ if (nc.evas.font_cache) { evas_font_cache_flush(e->evas); evas_font_cache_set(e->evas, 0); - /* - nc.evas.font_cache); - */ } if (nc.evas.image_cache) { @@ -364,119 +346,101 @@ DLEAVE_FUNCTION(DLEVEL_STABLE); } -static void ewl_config_db_create(void) +static void ewl_config_set_defaults(void) { - char *home; - char pe[PATH_MAX]; - DENTER_FUNCTION(DLEVEL_STABLE); - home = getenv("HOME"); + ecore_config_int_default("/ewl/debug/enable", 0); + ecore_config_int_default("/ewl/debug/level", 0); + ecore_config_string_default("/ewl/evas/render_method", "software_x11"); + ecore_config_int_default("/ewl/evas/font_cache", 2097152); + ecore_config_int_default("/ewl/evas/image_cache", 8388608); + ecore_config_theme_default("/ewl/theme/name", "default"); + ecore_config_int_default("/ewl/theme/cache", 0); + ecore_config_int_default("/ewl/theme/color_classes/override", 0); + + /* need to set each of these keys into the system section */ + { + Ecore_Config_Prop *prop = NULL; + int i = 0; + char *keys [] = { + "/ewl/debug/enable", + "/ewl/debug/level", + "/ewl/evas/render_method", + "/ewl/evas/font_cache", + "/ewl/evas/image_cache", + "/ewl/theme/name", + "/ewl/theme/cache", + "/ewl/theme/color_classes/override", + NULL + }; + + for(i = 0; keys[i] != NULL; i++) { + prop = ecore_config_get(keys[i]); + prop->flags &= ~PF_MODIFIED; + prop->flags |= PF_SYSTEM; + } - if (!home) { - DWARNING("Failed to fetch environment variable HOME\n"); - DRETURN(DLEVEL_STABLE); + ecore_config_listen("ewl_debug_enable", "/ewl/debug/enable", + ewl_config_listener, EWL_CONFIG_DEBUG_ENABLE, NULL); + ecore_config_listen("ewl_debug_level", "/ewl/debug/level", + ewl_config_listener, EWL_CONFIG_DEBUG_LEVEL, NULL); + ecore_config_listen("ewl_render_method", "/ewl/evas/render_method", + ewl_config_listener, EWL_CONFIG_EVAS_RENDER_METHOD, NULL); + ecore_config_listen("ewl_font_cache", "/ewl/evas/font_cache", + ewl_config_listener, EWL_CONFIG_EVAS_FONT_CACHE, NULL); + ecore_config_listen("ewl_image_cache", "/ewl/evas/image_cache", + ewl_config_listener, EWL_CONFIG_EVAS_IMAGE_CACHE, NULL); + ecore_config_listen("ewl_theme_name", "/ewl/theme/name", + ewl_config_listener, EWL_CONFIG_THEME_NAME, NULL); + ecore_config_listen("ewl_theme_cache", "/ewl/theme/cache", + ewl_config_listener, EWL_CONFIG_THEME_CACHE, NULL); + ecore_config_listen("ewl_theme_cclases_override", "/ewl/theme/color_classes/override", + ewl_config_listener, EWL_CONFIG_THEME_COLOR_CLASSES_OVERRIDE, NULL); } - snprintf(pe, PATH_MAX, "%s/.e", home); - mkdir(pe, 0700); - snprintf(pe, PATH_MAX, "%s/.e/ewl", home); - mkdir(pe, 0700); - snprintf(pe, PATH_MAX, "%s/.e/ewl/config", home); - mkdir(pe, 0700); - - ewl_config_set_int("system", "/debug/enable", 0); - ewl_config_set_int("system", "/debug/level", 0); - ewl_config_set_str("system", "/evas/render_method", "software_x11"); - ewl_config_set_int("system", "/evas/font_cache", 2097152); - ewl_config_set_int("system", "/evas/image_cache", 8388608); - ewl_config_set_str("system", "/theme/name", "default"); - ewl_config_set_int("system", "/theme/cache", 0); - DRETURN(DLEVEL_STABLE); } -static int ewl_config_db_open(const char *name) +static int ewl_config_listener(const char *key, const Ecore_Config_Type type, + const int tag, void *data) { - char *home; - char path[PATH_MAX]; - - DENTER_FUNCTION(DLEVEL_STABLE); - - home = getenv("HOME"); - - if (!home) { - DWARNING("Failed to fetch environment variable HOME\n"); - DRETURN_INT(FALSE, DLEVEL_STABLE); - } - - snprintf(path, PATH_MAX, "%s/.e/ewl/config/%s.db", home, name); - - config_db = e_db_open(path); - - if (config_db) - DRETURN_INT(TRUE, DLEVEL_STABLE); - - DRETURN_INT(FALSE, DLEVEL_STABLE); -} - -static int ewl_config_db_stat(char *name) -{ - char *home; - char path[PATH_MAX]; - struct stat st; - - DENTER_FUNCTION(DLEVEL_STABLE); - - home = getenv("HOME"); - - if (!home) { - DWARNING("Failed to fetch environment variable HOME\n"); - DRETURN_INT(FALSE, DLEVEL_STABLE); + switch(tag) { + case EWL_CONFIG_DEBUG_ENABLE: + ewl_config.debug.enable = ewl_config_get_int(key); + break; + + case EWL_CONFIG_DEBUG_LEVEL: + ewl_config.debug.level = ewl_config_get_int(key); + break; + + case EWL_CONFIG_EVAS_RENDER_METHOD: + IF_FREE(ewl_config.evas.render_method); + ewl_config.evas.render_method = ewl_config_get_str(key); + break; + + case EWL_CONFIG_EVAS_FONT_CACHE: + ewl_config.evas.font_cache = ewl_config_get_int(key); + break; + + case EWL_CONFIG_EVAS_IMAGE_CACHE: + ewl_config.evas.image_cache = ewl_config_get_int(key); + break; + + case EWL_CONFIG_THEME_NAME: + IF_FREE(ewl_config.theme.name); + ewl_config.theme.name = ewl_config_get_str(key); + break; + + case EWL_CONFIG_THEME_CACHE: + ewl_config.theme.cache = ewl_config_get_int(key); + break; + + case EWL_CONFIG_THEME_COLOR_CLASSES_OVERRIDE: + ewl_config.theme.cclass_override = ewl_config_get_int(key); + break; } - - snprintf(path, PATH_MAX, "%s/.e/ewl/config/%s.db", home, name); - - stat(path, &st); - - DRETURN_INT(st.st_mtime, DLEVEL_STABLE); + return 0; } -static void ewl_config_db_close() -{ - DENTER_FUNCTION(DLEVEL_STABLE); - if (config_db) - e_db_close(config_db); - - e_db_flush(); - - config_db = NULL; - - DLEAVE_FUNCTION(DLEVEL_STABLE); -} - -static int ewl_config_db_exists(char *name) -{ - char *home; - char path[PATH_MAX]; - struct stat st; - - DENTER_FUNCTION(DLEVEL_STABLE); - - home = getenv("HOME"); - - if (!home) { - DWARNING("Failed to fetch environment variable HOME\n"); - DRETURN_INT(FALSE, DLEVEL_STABLE); - } - - snprintf(path, PATH_MAX, "%s/.e/ewl/config/%s.db", home, name); - - stat(path, &st); - - if (!S_ISREG(st.st_mode)) - DRETURN_INT(-1, DLEVEL_STABLE); - - DRETURN_INT(1, DLEVEL_STABLE); -} =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_config.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- ewl_config.h 4 Feb 2004 18:58:01 -0000 1.26 +++ ewl_config.h 26 Jul 2004 15:10:01 -0000 1.27 @@ -32,14 +32,13 @@ int ewl_config_init(void); void ewl_config_shutdown(void); -int ewl_config_set_str(char *config, char *k, char *v); -int ewl_config_set_int(char *config, char *k, int v); -int ewl_config_set_float(char *config, char *k, float v); -char *ewl_config_get_str(char *config, char *k); -int ewl_config_get_int(char *config, char *k); -float ewl_config_get_float(char *config, char *k); +int ewl_config_set_str(const char *k, char *v); +int ewl_config_set_int(const char *k, int v); +int ewl_config_set_float(const char *k, float v); +char *ewl_config_get_str(const char *k); +int ewl_config_get_int(const char *k); +float ewl_config_get_float(const char *k); char * ewl_config_get_render_method(void); -void ewl_config_reread_and_apply(void); /** * @} =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_misc.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- ewl_misc.c 13 Jul 2004 17:54:02 -0000 1.75 +++ ewl_misc.c 26 Jul 2004 15:10:01 -0000 1.76 @@ -166,12 +166,6 @@ ewl_window_list = ecore_list_new(); ecore_idle_enterer_add(ewl_idle_render, NULL); - /* - * Call it once right away, then get it looping every half second - */ - ewl_reread_config(NULL); - config_timer = ecore_timer_add(0.5, ewl_reread_config, NULL); - DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); } @@ -188,7 +182,6 @@ if (--_ewl_init_count) DRETURN_INT(_ewl_init_count, DLEVEL_STABLE); - ecore_timer_del(config_timer); ewl_callbacks_shutdown(); ewl_theme_shutdown(); ewl_config_shutdown(); @@ -385,22 +378,6 @@ } /** - * @brief A timer function used to reread the config options - * @return Returns TRUE to keep the timer going. - * @param data: dummy variable used for compatibility with ecore's timers - * - * Sets up a timer loop for rereading the config data. - */ -static int ewl_reread_config(void *data) -{ - DENTER_FUNCTION(DLEVEL_STABLE); - - ewl_config_reread_and_apply(); - - DRETURN_INT(TRUE, DLEVEL_STABLE); -} - -/** * @param w: the widget to register for configuration * @return Returns no value. * @brief Ask for a widget to be configured during idle loop =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_theme.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- ewl_theme.c 1 Jul 2004 05:18:17 -0000 1.64 +++ ewl_theme.c 26 Jul 2004 15:10:01 -0000 1.65 @@ -42,7 +42,7 @@ * Retrieve the current theme from the users config. */ if (!theme_name) { - theme_name = ewl_config_get_str("system", "/theme/name"); + theme_name = ewl_config_get_str("/ewl/theme/name"); if (!theme_name) theme_name = strdup("default"); } |
From: <enl...@li...> - 2004-07-27 03:08:40
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src Modified Files: ewl_table.c Log Message: - set a fill policy of VSHRIK | HFILL on the table header cells =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_table.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- ewl_table.c 13 May 2004 06:03:00 -0000 1.43 +++ ewl_table.c 27 Jul 2004 03:08:33 -0000 1.44 @@ -70,6 +70,8 @@ button = ewl_button_new(col_headers[i - 1]); ewl_widget_disable(button); ewl_container_append_child(EWL_CONTAINER(cell), button); + ewl_object_set_fill_policy(EWL_OBJECT(cell), + EWL_FLAG_FILL_VSHRINK | EWL_FLAG_FILL_HFILL); ewl_grid_add(t->grid, EWL_WIDGET(cell), i, i, 1, 1); ewl_widget_show(EWL_WIDGET(button)); ewl_widget_show(EWL_WIDGET(cell)); |
From: <enl...@li...> - 2004-07-27 03:23:45
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/tools/ewl_edb_ed Added Files: Makefile.am ewl_edb_ed.c Log Message: - add the start of ewl_edb_ed to the tools section - you can load/add/del entries from an edb file Current Issues: - the table showing the entries dosen't update except on load - to delete an entry, you must click on the key name cell specifically |
From: <enl...@li...> - 2004-07-27 03:23:45
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl Modified Files: Makefile.am configure.in Log Message: - add the start of ewl_edb_ed to the tools section - you can load/add/del entries from an edb file Current Issues: - the table showing the entries dosen't update except on load - to delete an entry, you must click on the key name cell specifically =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/Makefile.am,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- Makefile.am 26 Jul 2004 15:10:01 -0000 1.17 +++ Makefile.am 27 Jul 2004 03:23:28 -0000 1.18 @@ -1,14 +1,14 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = src test data +SUBDIRS = src test tools data MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \ config.h.in config.sub configure install-sh \ ltconfig ltmain.sh missing mkinstalldirs \ stamp-h.in -bin_SCRIPTS = ewl-config +bin_SCRIPTS = EXTRA_DIST = README AUTHORS COPYING ewl.m4 ewl.spec ewl.pc.in =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/configure.in,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- configure.in 23 Jul 2004 18:42:45 -0000 1.39 +++ configure.in 27 Jul 2004 03:23:28 -0000 1.40 @@ -314,7 +314,7 @@ src/Makefile test/Makefile tools/Makefile -tools/ewl_config/Makefile +tools/ewl_edb_ed/Makefile data/Makefile data/images/Makefile data/themes/Makefile |
From: <enl...@li...> - 2004-07-27 03:20:57
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl Dir : e17/libs/ewl/tools/ewl_edb_ed Log Message: Directory /cvsroot/enlightenment/e17/libs/ewl/tools/ewl_edb_ed added to the repository |