Ejemplo n.º 1
0
static gboolean
mex_music_player_captured_event (ClutterActor *actor,
                                 ClutterEvent *event)
{
  MexMusicPlayerPrivate *priv = MEX_MUSIC_PLAYER (actor)->priv;
  ClutterKeyEvent *kevent;


  if (event->type != CLUTTER_KEY_PRESS)
    return FALSE;

  kevent = (ClutterKeyEvent *) event;

  if (MEX_KEY_INFO (kevent->keyval))
    {
      ClutterActor *tracks;

      tracks = mex_script_get_actor (priv->script, "tracks-scrollview");

      if (CLUTTER_ACTOR_IS_VISIBLE (tracks))
        clutter_actor_hide (tracks);
      else
        clutter_actor_show (tracks);

      return TRUE;
    }

  return FALSE;
}
Ejemplo n.º 2
0
static gboolean
mex_content_box_key_press_event_cb (ClutterActor    *actor,
                                    ClutterKeyEvent *event,
                                    gpointer         user_data)
{
  MexActionManager *manager = mex_action_manager_get_default ();
  MexContentBoxPrivate *priv = MEX_CONTENT_BOX (actor)->priv;


  if (MEX_KEY_OK (event->keyval))
    {
      GList *actions;

      actions = mex_action_manager_get_actions_for_content (manager,
                                                            priv->content);
      /* find the first action and "activate" it */
      if (actions)
        {
          MxAction *action = actions->data;

          mex_action_set_context (action, priv->context);
          mex_action_set_content (action, priv->content);

          g_signal_emit_by_name (action, "activated", 0);

          g_list_free (actions);

          return TRUE;
        }
    }
  else if (MEX_KEY_INFO (event->keyval))
    {
      mex_content_box_toggle_open (MEX_CONTENT_BOX (actor));
    }
  else if (MEX_KEY_BACK (event->keyval))
    {
      /* close content box */
      if (priv->is_open)
        mex_content_box_toggle_open (MEX_CONTENT_BOX (actor));
    }

  return FALSE;
}