Enlightenment CVS committal Author : iamsthitha Project : e_modules Module : mpdule
Dir : e_modules/mpdule Modified Files: e_mod_main.c mpdule.edc Added Files: next.png pause.png play.png prev.png stop.png Log Message: Control MPD via the module. Theme needs help! =================================================================== RCS file: /cvs/e/e_modules/mpdule/e_mod_main.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_mod_main.c 12 Dec 2007 03:14:10 -0000 1.3 +++ e_mod_main.c 24 Dec 2007 21:40:33 -0000 1.4 @@ -32,6 +32,11 @@ E_Menu_Item * mi); static void _mpdule_menu_cb_post (void *data, E_Menu * m); static int _mpdule_cb_check (void *data); +static void _mpdule_cb_play(void *data, Evas_Object *obj, const char *emission, const char *source); +static void _mpdule_cb_stop(void *data, Evas_Object *obj, const char *emission, const char *source); +static void _mpdule_cb_pause(void *data, Evas_Object *obj, const char *emission, const char *source); +static void _mpdule_cb_next(void *data, Evas_Object *obj, const char *emission, const char *source); +static void _mpdule_cb_previous(void *data, Evas_Object *obj, const char *emission, const char *source); static Config_Item *_mpdule_config_item_get (const char *id); static E_Config_DD *conf_edd = NULL; @@ -113,6 +118,16 @@ _mpdule_cb_mouse_in, inst); evas_object_event_callback_add(inst->mpdule, EVAS_CALLBACK_MOUSE_OUT, _mpdule_cb_mouse_out, inst); + edje_object_signal_callback_add(o, "mpdule,play", "", _mpdule_cb_play, inst); + edje_object_signal_callback_add(o, "mpdule,stop", "", _mpdule_cb_stop, inst); + edje_object_signal_callback_add(o, "mpdule,pause", "", _mpdule_cb_pause, inst); + edje_object_signal_callback_add(o, "mpdule,next", "", _mpdule_cb_next, inst); + edje_object_signal_callback_add(o, "mpdule,previous", "", _mpdule_cb_previous, inst); + edje_object_signal_callback_add(o_popup, "mpdule,play", "", _mpdule_cb_play, inst); + edje_object_signal_callback_add(o_popup, "mpdule,stop", "", _mpdule_cb_stop, inst); + edje_object_signal_callback_add(o_popup, "mpdule,pause", "", _mpdule_cb_pause, inst); + edje_object_signal_callback_add(o_popup, "mpdule,next", "", _mpdule_cb_next, inst); + edje_object_signal_callback_add(o_popup, "mpdule,previous", "", _mpdule_cb_previous, inst); _mpdule_connect(inst); _mpdule_update_song(inst); inst->update_timer = ecore_timer_add((double)inst->ci->poll_time, @@ -223,7 +238,6 @@ evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } else if (ev->button == 1) { - printf("POPUP3"); e_gadcon_popup_toggle_pinned(inst->popup); } } @@ -235,7 +249,6 @@ Instance *inst; E_Gadcon_Popup *popup; - printf("POPUP1"); if (!(inst = data)) return; popup = inst->popup; e_gadcon_popup_show(inst->popup); @@ -247,7 +260,6 @@ Instance *inst; E_Gadcon_Popup *popup; - printf("POPUP2"); if (!(inst = data)) return; popup = inst->popup; e_gadcon_popup_hide(inst->popup); @@ -266,7 +278,7 @@ _mpdule_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi) { Instance *inst; - + inst = data; _config_mpdule_module (inst->ci); } @@ -299,6 +311,60 @@ } } +static void +_mpdule_cb_play(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Instance *inst; + mpd_Connection *mpd; + + inst = data; + mpd = inst->mpd; + mpd_sendPlayCommand(mpd, -1); +} + +static void +_mpdule_cb_previous(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Instance *inst; + mpd_Connection *mpd; + + inst = data; + mpd = inst->mpd; + mpd_sendPrevCommand(mpd); +} + +static void +_mpdule_cb_next(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Instance *inst; + mpd_Connection *mpd; + + inst = data; + mpd = inst->mpd; + mpd_sendNextCommand(mpd); +} + +static void +_mpdule_cb_stop(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Instance *inst; + mpd_Connection *mpd; + + inst = data; + mpd = inst->mpd; + mpd_sendStopCommand(mpd); +} + +static void +_mpdule_cb_pause(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Instance *inst; + mpd_Connection *mpd; + + inst = data; + mpd = inst->mpd; + mpd_sendPauseCommand(mpd, 1); +} static Config_Item * _mpdule_config_item_get (const char *id) @@ -645,9 +711,7 @@ int x, y; if (!(*w)) *w = 0; if (!(*h)) *h = 0; - printf("SIZES: %dx%d", w, h); edje_object_size_min_calc (obj, &x, &y); - printf("SIZES2: %dx%d", x, y); *w = x; *h = y; } =================================================================== RCS file: /cvs/e/e_modules/mpdule/mpdule.edc,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- mpdule.edc 12 Dec 2007 03:14:10 -0000 1.2 +++ mpdule.edc 24 Dec 2007 21:40:33 -0000 1.3 @@ -7,6 +7,11 @@ color_classes { } images { + image: "next.png" COMP; + image: "pause.png" COMP; + image: "play.png" COMP; + image: "prev.png" COMP; + image: "stop.png" COMP; } data { } @@ -209,6 +214,12 @@ } } programs { + program { + name: "show"; + signal: "show"; + source: ""; + action: SIGNAL_EMIT "mpdule,play" ""; + } } } group { @@ -221,7 +232,7 @@ description { state: "default" 0.00; visible: 1; - min: 200 65; + min: 200 105; rel1 { relative: 0.00 0.00; offset: 5 5; @@ -547,8 +558,153 @@ } } } + part { + name: "mpdule.previous"; + type: IMAGE; + description { + state: "default" 0.0; + visible: 1; + rel1 { + relative: 0.0 1.0; + offset: 0 0; + to_x: "base"; + to_y: "mpdule.genre_label"; + } + rel2 { + relative: 0.0 1.0; + offset: 32 32; + to_x: "base"; + to_y: "mpdule.genre_label"; + } + image { + normal: "prev.png"; + } + } + } + part { + name: "mpdule.play"; + type: IMAGE; + description { + state: "default" 0.0; + visible: 1; + rel1 { + relative: 1.0 1.0; + offset: 0 0; + to_x: "mpdule.previous"; + to_y: "mpdule.genre_label"; + } + rel2 { + relative: 1.0 1.0; + offset: 32 32; + to_x: "mpdule.previous"; + to_y: "mpdule.genre_label"; + } + image { + normal: "play.png"; + } + } + } + part { + name: "mpdule.pause"; + type: IMAGE; + description { + state: "default" 0.0; + visible: 1; + rel1 { + relative: 1.0 1.0; + offset: 0 0; + to_x: "mpdule.play"; + to_y: "mpdule.genre_label"; + } + rel2 { + relative: 1.0 1.0; + offset: 32 32; + to_x: "mpdule.play"; + to_y: "mpdule.genre_label"; + } + image { + normal: "pause.png"; + } + } + } + part { + name: "mpdule.stop"; + type: IMAGE; + description { + state: "default" 0.0; + visible: 1; + rel1 { + relative: 1.0 1.0; + offset: 0 0; + to_x: "mpdule.pause"; + to_y: "mpdule.genre_label"; + } + rel2 { + relative: 1.0 1.0; + offset: 32 32; + to_x: "mpdule.pause"; + to_y: "mpdule.genre_label"; + } + image { + normal: "stop.png"; + } + } + } + part { + name: "mpdule.next"; + type: IMAGE; + description { + state: "default" 0.0; + visible: 1; + rel1 { + relative: 1.0 1.0; + offset: 0 0; + to_x: "mpdule.stop"; + to_y: "mpdule.genre_label"; + } + rel2 { + relative: 1.0 1.0; + offset: 32 32; + to_x: "mpdule.stop"; + to_y: "mpdule.genre_label"; + } + image { + normal: "next.png"; + } + } + } } programs { + program { + name: "mouse_play"; + signal: "mouse,clicked,1"; + source: "mpdule.play"; + action: SIGNAL_EMIT "mpdule,play" ""; + } + program { + name: "mouse_pause"; + signal: "mouse,clicked,1"; + source: "mpdule.pause"; + action: SIGNAL_EMIT "mpdule,pause" ""; + } + program { + name: "mouse_stop"; + signal: "mouse,clicked,1"; + source: "mpdule.stop"; + action: SIGNAL_EMIT "mpdule,stop" ""; + } + program { + name: "mouse_previous"; + signal: "mouse,clicked,1"; + source: "mpdule.previous"; + action: SIGNAL_EMIT "mpdule,previous" ""; + } + program { + name: "mouse_next"; + signal: "mouse,clicked,1"; + source: "mpdule.next"; + action: SIGNAL_EMIT "mpdule,next" ""; + } } } } ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs