Enlightenment CVS committal
Author : tsauerbeck
Project : misc
Module : eplayer
Dir : misc/eplayer/src
Modified Files:
callbacks.c callbacks.h eplayer.c eplayer.h interface.c
interface.h
Log Message:
Added SWITCH_GROUP signal so now themes can have multiple states (like
collapsed/expanded)
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- callbacks.c 23 Nov 2003 19:13:17 -0000 1.17
+++ callbacks.c 25 Nov 2003 17:50:57 -0000 1.18
@@ -222,3 +222,11 @@
const char *emission, const char *src) {
ecore_main_loop_quit();
}
+
+void cb_switch_group(void *udata, Evas_Object *obj,
+ const char *emission, const char *src) {
+ ePlayer *player = udata;
+
+ evas_object_del(player->gui.edje);
+ setup_edje(player, src);
+}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- callbacks.h 18 Nov 2003 17:58:54 -0000 1.7
+++ callbacks.h 25 Nov 2003 17:50:57 -0000 1.8
@@ -42,5 +42,8 @@
void cb_eplayer_quit(void *udata, Evas_Object *obj,
const char *emission, const char *src);
+void cb_switch_group(void *udata, Evas_Object *obj,
+ const char *emission, const char *src);
+
#endif
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- eplayer.c 18 Nov 2003 18:35:59 -0000 1.17
+++ eplayer.c 25 Nov 2003 17:50:57 -0000 1.18
@@ -2,7 +2,6 @@
/* Edje Overhaul startnig phase 4 - Started 7/30/03 */
#include <config.h>
-#include <Ecore_Evas.h>
#include <Edb.h>
#include <string.h>
#include <sys/stat.h>
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- eplayer.h 18 Nov 2003 18:35:59 -0000 1.15
+++ eplayer.h 25 Nov 2003 17:50:57 -0000 1.16
@@ -2,6 +2,7 @@
#define __EPLAYER_H
#include <Ecore.h>
+#include <Ecore_Evas.h>
#include <pthread.h>
#include "playlist.h"
#include "plugin.h"
@@ -21,6 +22,7 @@
typedef struct {
Evas *evas;
+ Ecore_Evas *ee;
Evas_Object *edje;
Evas_Object *playlist; /* playlist container */
int playlist_font_size;
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- interface.c 18 Nov 2003 18:35:59 -0000 1.17
+++ interface.c 25 Nov 2003 17:50:57 -0000 1.18
@@ -1,13 +1,12 @@
#include <config.h>
#include "eplayer.h"
-#include <Ecore_Evas.h>
#include <Esmart/container.h>
#include <Edje.h>
#include "callbacks.h"
#include "track.h"
#include "utils.h"
+#include "interface.h"
-static int setup_edje(ePlayer *player, Ecore_Evas *ee);
static void setup_playlist(ePlayer *player);
static int app_signal_exit(void *data, int type, void *event) {
@@ -18,20 +17,22 @@
}
int setup_gui(ePlayer *player) {
- Ecore_Evas *ee;
-
debug(DEBUG_LEVEL_INFO, "Starting setup\n");
ecore_init();
ecore_evas_init();
- ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit, NULL);
+ ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit,
+ NULL);
if (!strcasecmp(player->cfg.evas_engine, "gl"))
- ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 500, 500);
+ player->gui.ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0,
+ 500, 500);
else
- ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 500, 500);
+ player->gui.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0,
+ 500, 500);
+
- if (!ee) {
+ if (!player->gui.ee) {
debug(DEBUG_LEVEL_CRITICAL,
"Cannot create Ecore Evas (using %s engine)\n",
player->cfg.evas_engine);
@@ -39,16 +40,17 @@
return 0;
}
- ecore_evas_title_set(ee, "eVorbisPlayer");
- ecore_evas_name_class_set(ee, "ecore_test", "test_evas");
- ecore_evas_borderless_set(ee, 1);
- ecore_evas_shaped_set(ee, 1);
- ecore_evas_show(ee);
+ ecore_evas_title_set(player->gui.ee, "ePlayer");
+ ecore_evas_name_class_set(player->gui.ee, "ecore_test",
+ "test_evas");
+ ecore_evas_borderless_set(player->gui.ee, 1);
+ ecore_evas_shaped_set(player->gui.ee, 1);
+ ecore_evas_show(player->gui.ee);
- player->gui.evas = ecore_evas_get(ee);
+ player->gui.evas = ecore_evas_get(player->gui.ee);
evas_font_path_append(player->gui.evas, DATA_DIR "/themes/fonts");
- if (!setup_edje(player, ee))
+ if (!setup_edje(player, "eplayer"))
return 0;
setup_playlist(player);
@@ -56,7 +58,7 @@
return 1;
}
-static int setup_edje(ePlayer *player, Ecore_Evas *ee) {
+int setup_edje(ePlayer *player, const char *name) {
char eet[PATH_MAX + 1];
double edje_w = 0, edje_h = 0;
@@ -67,7 +69,7 @@
snprintf(eet, sizeof(eet), DATA_DIR "/themes/%s.eet",
player->cfg.theme);
- if (!edje_object_file_set(player->gui.edje, eet, "eplayer")) {
+ if (!edje_object_file_set(player->gui.edje, eet, name)) {
debug(DEBUG_LEVEL_CRITICAL, "Cannot load theme '%s'!\n",
player->cfg.theme);
return 0;
@@ -78,8 +80,7 @@
evas_object_resize(player->gui.edje, edje_w, edje_h);
evas_object_show(player->gui.edje);
- ecore_evas_resize(ee, (int) edje_w, (int) edje_h);
- ecore_evas_show(ee);
+ ecore_evas_resize(player->gui.ee, (int) edje_w, (int) edje_h);
/*** Edje Callbacks ***************************/
edje_object_signal_callback_add(player->gui.edje,
@@ -119,6 +120,10 @@
edje_object_signal_callback_add(player->gui.edje,
"TOGGLE_REPEAT_MODE", "repeat_mode",
cb_repeat_mode_toggle, player);
+
+ edje_object_signal_callback_add(player->gui.edje,
+ "SWITCH_GROUP", "*",
+ cb_switch_group, player);
return 1;
}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- interface.h 14 Nov 2003 16:40:19 -0000 1.4
+++ interface.h 25 Nov 2003 17:50:57 -0000 1.5
@@ -5,6 +5,7 @@
void show_playlist_item(PlayListItem *pli, void *data);
int setup_gui(ePlayer *player);
+int setup_edje(ePlayer *player, const char *name);
int refresh_volume(void *udata);
int refresh_time(ePlayer *player, int time);
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs