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; }
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; } }