Beispiel #1
0
static void
_button_clicked_cb (MxButton *button,
                    gpointer  userdata)
{
  PengeAppTilePrivate *priv = GET_PRIVATE (userdata);
  GError *error = NULL;
  gchar *path = NULL;

  path = g_filename_from_uri (priv->bookmark, NULL, &error);

  if (!path)
  {
    if (error)
    {
      g_warning (G_STRLOC ": Error getting path from uri: %s",
                 error->message);
      g_clear_error (&error);
    }

    return;
  }

  if (penge_utils_launch_for_desktop_file ((ClutterActor *)button, path))
    penge_utils_signal_activated ((ClutterActor *)button);
  else
    g_warning (G_STRLOC ": Unable to launch for desktop file: %s", path);

  g_free (path);
}
static void
_launch_desktop_file (ClutterActor *actor,
                      const gchar  *desktop_id)
{
  GDesktopAppInfo *app_info;
  const gchar *path;

  app_info = g_desktop_app_info_new (desktop_id);

  if (!app_info)
    return;

  path = g_desktop_app_info_get_filename (app_info);

  if (penge_utils_launch_for_desktop_file (actor, path))
    penge_utils_signal_activated (actor);

  g_object_unref (app_info);
}