From aa8015cdefff452017e6ee06c554253eb8688e7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Wed, 2 Jan 2013 13:22:18 +0000 Subject: [PATCH] e/music-control: Remove transition between pause and play when popup is shown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch by: José Roberto de Souza SVN revision: 81994 --- .../music-control/e-module-music-control.edc | 7 +++++++ src/modules/music-control/ui.c | 16 +++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/modules/music-control/e-module-music-control.edc b/src/modules/music-control/e-module-music-control.edc index 8a40d5483..5a90c3229 100644 --- a/src/modules/music-control/e-module-music-control.edc +++ b/src/modules/music-control/e-module-music-control.edc @@ -126,6 +126,13 @@ collections { transition: LINEAR 0.1; target: "play_btn"; } + program { + signal: "btn,state,image,play,no_delay"; + source: "play"; + action: STATE_SET "play" 0.0; + transition: LINEAR 0.0; + target: "play_btn"; + } program { signal: "btn,state,image,pause"; source: "play"; diff --git a/src/modules/music-control/ui.c b/src/modules/music-control/ui.c index 6454d8f6f..b2320ea90 100644 --- a/src/modules/music-control/ui.c +++ b/src/modules/music-control/ui.c @@ -3,11 +3,17 @@ extern Player music_player_players[]; static void -_play_state_update(E_Music_Control_Instance *inst) +_play_state_update(E_Music_Control_Instance *inst, Eina_Bool without_delay) { if (!inst->popup) return; if (inst->ctxt->playning) - edje_object_signal_emit(inst->content_popup, "btn,state,image,pause", "play"); + { + edje_object_signal_emit(inst->content_popup, "btn,state,image,pause", "play"); + return; + } + + if (without_delay) + edje_object_signal_emit(inst->content_popup, "btn,state,image,play,no_delay", "play"); else edje_object_signal_emit(inst->content_popup, "btn,state,image,play", "play"); } @@ -19,7 +25,7 @@ music_control_state_update_all(E_Music_Control_Module_Context *ctxt) Eina_List *list; EINA_LIST_FOREACH(ctxt->instances, list, inst) - _play_state_update(inst); + _play_state_update(inst, EINA_FALSE); } static void @@ -63,11 +69,11 @@ _popup_new(E_Music_Control_Instance *inst) edje_object_signal_callback_add(o, "label,clicked", "player_name", _label_clicked, inst); e_gadcon_popup_content_set(inst->popup, o); - e_gadcon_popup_show(inst->popup); inst->content_popup = o; _player_name_update(inst); - _play_state_update(inst); + _play_state_update(inst, EINA_TRUE); + e_gadcon_popup_show(inst->popup); } void