static void
screenshot_dialog_response_cb (GtkDialog *d,
                               gint response_id,
                               gpointer user_data)
{
  ScreenshotApplication *self = user_data;

  switch (response_id)
    {
    case GTK_RESPONSE_HELP:
      screenshot_display_help (GTK_WINDOW (d));
      break;
    case GTK_RESPONSE_OK:
      /* update to the new URI */
      g_free (self->priv->save_uri);
      self->priv->save_uri = screenshot_dialog_get_uri (self->priv->dialog);
      screenshot_save_to_file (self);
      break;
    case SCREENSHOT_RESPONSE_COPY:
      screenshot_save_to_clipboard (self);
      break;
    default:
      gtk_widget_destroy (GTK_WIDGET (d));
      break;
    }
}
static void
interactive_dialog_response_cb (GtkWidget *d,
                                gint response,
                                gpointer user_data)
{
  ScreenshotApplication *self = user_data;

  if (response != GTK_RESPONSE_HELP)
    gtk_widget_destroy (d);

  switch (response)
    {
    case GTK_RESPONSE_DELETE_EVENT:
      break;
    case GTK_RESPONSE_OK:
      screenshot_start (self);
      break;
    case GTK_RESPONSE_HELP:
      screenshot_display_help (GTK_WINDOW (d));
      break;
    default:
      g_assert_not_reached ();
      break;
    }
}
static void
action_help (GSimpleAction *action,
             GVariant *parameter,
             gpointer user_data)
{
  GList *windows = gtk_application_get_windows (GTK_APPLICATION (user_data));
  screenshot_display_help (g_list_nth_data (windows, 0));
}
static gint 
interactive_dialog_key_press_cb (GtkWidget *widget, 
                                 GdkEventKey *event,
                                 gpointer user_data)
{
  if (event->keyval == GDK_KEY_F1)
    {
      screenshot_display_help (GTK_WINDOW (widget));
      return TRUE;
    }

  if (event->keyval == GDK_KEY_Escape)
    {
      gtk_widget_destroy (widget);
      return TRUE;
    }

  return FALSE;
}
Exemple #5
0
static void
screenshot_dialog_response_cb (GtkDialog *d,
                               gint response_id,
                               ScreenshotDialog *dialog)
{
  switch (response_id)
    {
    case GTK_RESPONSE_HELP:
      screenshot_display_help (GTK_WINDOW (d));
      break;
    case GTK_RESPONSE_OK:
      try_to_save (dialog);
      break;
    case SCREENSHOT_RESPONSE_COPY:
      screenshot_save_to_clipboard ();
      break;
    default:
      gtk_widget_destroy (GTK_WIDGET (d));
      gtk_main_quit ();
      break;
    }
}