forked from enlightenment/enlightenment
Show mixer popup when changing the volume via keybindings.
SVN revision: 53347
This commit is contained in:
parent
6781f88655
commit
da963d78d9
|
@ -486,6 +486,9 @@ _mixer_popup_del(E_Mixer_Instance *inst)
|
|||
inst->ui.table = NULL;
|
||||
inst->ui.button = NULL;
|
||||
inst->popup = NULL;
|
||||
if (inst->popup_timer)
|
||||
ecore_timer_del(inst->popup_timer);
|
||||
inst->popup_timer = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -598,6 +601,37 @@ _mixer_popup_new(E_Mixer_Instance *inst)
|
|||
_mixer_popup_input_window_create(inst);
|
||||
}
|
||||
|
||||
static void
|
||||
_mixer_popup_timer_new(E_Mixer_Instance *inst)
|
||||
{
|
||||
if (inst->popup)
|
||||
{
|
||||
if (inst->popup_timer)
|
||||
{
|
||||
ecore_timer_del(inst->popup_timer);
|
||||
inst->popup_timer = ecore_timer_add(1.0, _mixer_popup_timer_cb, inst);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_mixer_popup_new(inst);
|
||||
inst->popup_timer = ecore_timer_add(1.0, _mixer_popup_timer_cb, inst);
|
||||
}
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_mixer_popup_timer_cb(void *data)
|
||||
{
|
||||
E_Mixer_Instance *inst;
|
||||
inst = data;
|
||||
|
||||
if (inst->popup)
|
||||
_mixer_popup_del(inst);
|
||||
inst->popup_timer = NULL;
|
||||
|
||||
return ECORE_CALLBACK_CANCEL;
|
||||
}
|
||||
|
||||
static void
|
||||
_mixer_menu_cb_post(void *data, E_Menu *menu __UNUSED__)
|
||||
{
|
||||
|
@ -978,8 +1012,12 @@ _mixer_cb_volume_increase(E_Object *obj __UNUSED__, const char *params __UNUSED_
|
|||
if (!ctxt->conf)
|
||||
return;
|
||||
|
||||
if (ctxt->default_instance)
|
||||
_mixer_volume_increase(ctxt->default_instance);
|
||||
|
||||
if (!ctxt->default_instance)
|
||||
return;
|
||||
|
||||
_mixer_popup_timer_new(ctxt->default_instance);
|
||||
_mixer_volume_increase(ctxt->default_instance);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -994,8 +1032,11 @@ _mixer_cb_volume_decrease(E_Object *obj __UNUSED__, const char *params __UNUSED_
|
|||
if (!ctxt->conf)
|
||||
return;
|
||||
|
||||
if (ctxt->default_instance)
|
||||
_mixer_volume_decrease(ctxt->default_instance);
|
||||
if (!ctxt->default_instance)
|
||||
return;
|
||||
|
||||
_mixer_popup_timer_new(ctxt->default_instance);
|
||||
_mixer_volume_decrease(ctxt->default_instance);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1010,8 +1051,11 @@ _mixer_cb_volume_mute(E_Object *obj __UNUSED__, const char *params __UNUSED__)
|
|||
if (!ctxt->conf)
|
||||
return;
|
||||
|
||||
if (ctxt->default_instance)
|
||||
_mixer_toggle_mute(ctxt->default_instance);
|
||||
if (!ctxt->default_instance)
|
||||
return;
|
||||
|
||||
_mixer_popup_timer_new(ctxt->default_instance);
|
||||
_mixer_toggle_mute(ctxt->default_instance);
|
||||
}
|
||||
|
||||
static E_Config_Dialog *
|
||||
|
|
|
@ -29,6 +29,7 @@ typedef struct E_Mixer_Instance
|
|||
{
|
||||
E_Gadcon_Client *gcc;
|
||||
E_Gadcon_Popup *popup;
|
||||
Ecore_Timer *popup_timer;
|
||||
E_Menu *menu;
|
||||
|
||||
struct
|
||||
|
@ -81,6 +82,8 @@ E_Config_Dialog *e_mixer_config_dialog_new(E_Container *con, E_Mixer_Gadget_Conf
|
|||
E_Dialog *e_mixer_app_dialog_new(E_Container *con, void (*func)(E_Dialog *dialog, void *data), void *data);
|
||||
int e_mixer_app_dialog_select(E_Dialog *dialog, const char *card_name, const char *channel_name);
|
||||
|
||||
static void _mixer_popup_timer_new(E_Mixer_Instance *inst);
|
||||
static Eina_Bool _mixer_popup_timer_cb(void *data);
|
||||
int e_mixer_update(E_Mixer_Instance *inst);
|
||||
const char *e_mixer_theme_path(void);
|
||||
|
||||
|
|
Loading…
Reference in New Issue