Control MPD via the module. Theme needs help!

SVN revision: 33235
mpdule-0.18
Sthithaprajna Garapaty 15 years ago committed by Sthithaprajna Garapaty
parent 79523955e8
commit a330720b95
  1. 76
      e_mod_main.c
  2. 158
      mpdule.edc
  3. BIN
      next.png
  4. BIN
      pause.png
  5. BIN
      play.png
  6. BIN
      prev.png
  7. BIN
      stop.png

@ -32,6 +32,11 @@ static void _mpdule_menu_cb_configure (void *data, E_Menu * m,
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 @@ _gc_init (E_Gadcon * gc, const char *name, const char *id, const char *style)
_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 @@ _mpdule_cb_mouse_down (void *data, Evas * e, Evas_Object * obj,
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 @@ _mpdule_cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info)
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 @@ _mpdule_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info)
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 @@ static void
_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 @@ _mpdule_config_updated (Config_Item *ci)
}
}
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 @@ _mpdule_popup_resize(Evas_Object *obj, int *w, int *h)
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;
}

@ -7,6 +7,11 @@ spectra {
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 @@ collections {
}
}
programs {
program {
name: "show";
signal: "show";
source: "";
action: SIGNAL_EMIT "mpdule,play" "";
}
}
}
group {
@ -221,7 +232,7 @@ collections {
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 @@ collections {
}
}
}
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" "";
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save