Example #1
0
static void
on_menu_command(GtkAction *action, WorkraveApplet *applet)
{
  if (applet->inhibit > 0)
    {
      return;
    }

  int index = lookup_menu_index_by_action(gtk_action_get_name(action));
  if (index == -1)
    {
      return;
    }

  switch(menu_data[index].id)
    {
    case MENU_COMMAND_ABOUT:
      on_menu_about(applet);
      break;

    default:
      {
        GDBusProxy *proxy = workrave_timerbox_control_get_applet_proxy(applet->timerbox_control);
        if (proxy != NULL)
          {
            g_dbus_proxy_call(proxy,
                              "Command",
                              g_variant_new("(i)", menu_data[index].id),
                              menu_data[index].autostart ? G_DBUS_CALL_FLAGS_NONE : G_DBUS_CALL_FLAGS_NO_AUTO_START,
                              -1,
                              NULL,
                              (GAsyncReadyCallback) dbus_call_finish,
                              applet);
          }
      }
      break;
    }
}
Example #2
0
static gboolean
button_pressed(GtkWidget *widget, GdkEventButton *event, WorkraveApplet *applet)
{
  gboolean ret = FALSE;

  if (event->button == 1)
    {
      GDBusProxy *proxy = workrave_timerbox_control_get_applet_proxy(applet->priv->timerbox_control);
      if (proxy != NULL)
        {          g_dbus_proxy_call(proxy,
                            "ButtonClicked",
                            g_variant_new("(u)", event->button),
                            G_DBUS_CALL_FLAGS_NO_AUTO_START,
                            -1,
                            NULL,
                            (GAsyncReadyCallback) dbus_call_finish,
                            &applet);
          ret = TRUE;
        }
    }

  return ret;
}