diff options
author | 2012-02-20 23:32:43 +0530 | |
---|---|---|
committer | 2012-02-20 23:32:47 +0530 | |
commit | f339209a2690ae402cbf1504ce91da1c4c32f3a7 (patch) | |
tree | a6c6091837acc738cfef95081911328eae1a4a2c | |
parent | gnome-extra/gnome-utils: new, improved screenshot uploading patch! (diff) | |
download | nirbheek-f339209a2690ae402cbf1504ce91da1c4c32f3a7.tar.gz nirbheek-f339209a2690ae402cbf1504ce91da1c4c32f3a7.tar.bz2 nirbheek-f339209a2690ae402cbf1504ce91da1c4c32f3a7.zip |
gnome-extra/gnome-utils: more patch updates
https://bugzilla.gnome.org/show_bug.cgi?id=407128
3 files changed, 217 insertions, 57 deletions
diff --git a/gnome-extra/gnome-utils/Manifest b/gnome-extra/gnome-utils/Manifest index ede1c53..914d37b 100644 --- a/gnome-extra/gnome-utils/Manifest +++ b/gnome-extra/gnome-utils/Manifest @@ -1,3 +1,4 @@ -AUX gnome-utils-3.2.1-upload-screenshots.patch 19253 RMD160 3713b8f89e33cf16a762207e0c8e89e13a6bbc46 SHA1 0784b31d200d41b94e7c5799e49bece71a57a2ad SHA256 47bd5d67ee2160d09831acf91351e33eb8b5f1a3055c88e9fe9609e3e1465cba +AUX gnome-utils-3.2.1-screenshot-preview.patch 1401 RMD160 fee06242211fa4c8220aad739d96bec8834107d6 SHA1 4d696daceac48066a4bbec03e6c6096e6469ebd3 SHA256 1286a9022b28875f46210395efdaa5d16879cbcc3d067db128680cc98bc34145 +AUX gnome-utils-3.2.1-upload-screenshots.patch 26583 RMD160 2c1312c3993a43750db7124b225bd862a710d05a SHA1 5e5e17d8842f56425be02aeaf27483ed86619f48 SHA256 8f1c8eadcaa0bada3a932093854f2c060f620ecac903d0ad701487a06f529b46 DIST gnome-utils-3.2.1.tar.xz 7273572 RMD160 a0e34b7057c0b77b58f7310ec8a8a3af238071bd SHA1 2f837a420ea73ad1a1cab56656b450e704f2faab SHA256 3ac1942dbf4d9d394e2fcc5f30a4480b1b1e5d44ee0c2d4f61689f4a221ba328 EBUILD gnome-utils-3.2.1.ebuild 2297 RMD160 a435cfdf9a8d269c2f6c713eac0ed4f300714245 SHA1 9f44b9dbfccb55331430463f03763c21e53d57e9 SHA256 a1f628eb2d10e1925292f4fcc6babadcd3b16565f63df8b2bcb2295e9a146f7d diff --git a/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-screenshot-preview.patch b/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-screenshot-preview.patch new file mode 100644 index 0000000..64821c1 --- /dev/null +++ b/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-screenshot-preview.patch @@ -0,0 +1,37 @@ +From a604bdb3234acf2d397a492c90bda39b09e5106f Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan <nirbheek@gentoo.org> +Date: Mon, 20 Feb 2012 17:33:25 +0530 +Subject: [PATCH] Always use the same size for the screenshot preview area + +* Avoids widget-jumping while interacting with the dialog box +--- + gnome-screenshot/screenshot-dialog.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gnome-screenshot/screenshot-dialog.c b/gnome-screenshot/screenshot-dialog.c +index 6cb8bba..3a6b7a7 100644 +--- a/gnome-screenshot/screenshot-dialog.c ++++ b/gnome-screenshot/screenshot-dialog.c +@@ -188,8 +188,8 @@ screenshot_dialog_new (GdkPixbuf *screenshot, + + gtk_builder_set_translation_domain (dialog->ui, GETTEXT_PACKAGE); + +- width = gdk_pixbuf_get_width (screenshot); +- height = gdk_pixbuf_get_height (screenshot); ++ width = gdk_screen_get_width (gdk_screen_get_default ()); ++ height = gdk_screen_get_height (gdk_screen_get_default ()); + + width /= 5; + height /= 5; +@@ -209,7 +209,7 @@ screenshot_dialog_new (GdkPixbuf *screenshot, + g_free (current_folder); + + gtk_widget_set_size_request (preview_darea, width, height); +- gtk_aspect_frame_set (GTK_ASPECT_FRAME (aspect_frame), 0.0, 0.5, ++ gtk_aspect_frame_set (GTK_ASPECT_FRAME (aspect_frame), 0.5, 0.5, + gdk_pixbuf_get_width (screenshot)/ + (gfloat) gdk_pixbuf_get_height (screenshot), + FALSE); +-- +1.7.3.4 + diff --git a/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-upload-screenshots.patch b/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-upload-screenshots.patch index 46b187a..d4e5af8 100644 --- a/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-upload-screenshots.patch +++ b/gnome-extra/gnome-utils/files/gnome-utils-3.2.1-upload-screenshots.patch @@ -1,6 +1,6 @@ diff -Naur gnome-utils-3.2.1//configure.ac gnome-utils-3.2.1.new//configure.ac --- gnome-utils-3.2.1//configure.ac 2011-10-17 19:44:53.000000000 +0530 -+++ gnome-utils-3.2.1.new//configure.ac 2012-02-20 03:37:08.072570280 +0530 ++++ gnome-utils-3.2.1.new//configure.ac 2012-02-20 22:09:55.858351232 +0530 @@ -142,6 +142,15 @@ [AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])] ) @@ -19,7 +19,7 @@ diff -Naur gnome-utils-3.2.1//configure.ac gnome-utils-3.2.1.new//configure.ac AC_SUBST(LIBGTOP_CFLAGS) diff -Naur gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.c gnome-utils-3.2.1.new//gnome-screenshot/gnome-screenshot.c --- gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.c 2011-10-17 19:40:18.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/gnome-screenshot.c 2012-02-20 03:37:08.073570286 +0530 ++++ gnome-utils-3.2.1.new//gnome-screenshot/gnome-screenshot.c 2012-02-20 22:09:55.858351232 +0530 @@ -1,4 +1,5 @@ /* gnome-screenshot.c - Take a screenshot of the desktop + * vim: set sts=2 sw=2 et : @@ -61,7 +61,7 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.c gnome-utils-3. GtkClipboard *clipboard; diff -Naur gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.ui gnome-utils-3.2.1.new//gnome-screenshot/gnome-screenshot.ui --- gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.ui 2011-09-28 02:57:36.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/gnome-screenshot.ui 2012-02-20 03:37:20.952569474 +0530 ++++ gnome-utils-3.2.1.new//gnome-screenshot/gnome-screenshot.ui 2012-02-20 22:10:09.389350376 +0530 @@ -39,6 +39,39 @@ <property name="fill">False</property> <property name="position">0</property> @@ -126,7 +126,117 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.ui gnome-utils-3 </child> </object> <packing> -@@ -241,6 +282,7 @@ +@@ -123,7 +164,7 @@ + <child> + <object class="GtkTable" id="table1"> + <property name="visible">True</property> +- <property name="n_rows">2</property> ++ <property name="n_rows">4</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> +@@ -176,6 +217,54 @@ + </packing> + </child> + <child> ++ <object class="GtkLabel" id="image_link_label"> ++ <property name="visible">False</property> ++ <property name="label" translatable="yes">_Image link:</property> ++ <property name="use_underline">True</property> ++ <property name="use_markup">False</property> ++ <property name="justify">GTK_JUSTIFY_LEFT</property> ++ <property name="wrap">False</property> ++ <property name="selectable">False</property> ++ <property name="xalign">0</property> ++ <property name="yalign">0.5</property> ++ <property name="xpad">0</property> ++ <property name="ypad">0</property> ++ <property name="no-show-all">True</property> ++ </object> ++ <packing> ++ <property name="left_attach">0</property> ++ <property name="right_attach">1</property> ++ <property name="top_attach">2</property> ++ <property name="bottom_attach">3</property> ++ <property name="x_options">fill</property> ++ <property name="y_options"/> ++ </packing> ++ </child> ++ <child> ++ <object class="GtkLabel" id="delete_link_label"> ++ <property name="visible">False</property> ++ <property name="label" translatable="yes">_Delete link:</property> ++ <property name="use_underline">True</property> ++ <property name="use_markup">False</property> ++ <property name="justify">GTK_JUSTIFY_LEFT</property> ++ <property name="wrap">False</property> ++ <property name="selectable">False</property> ++ <property name="xalign">0</property> ++ <property name="yalign">0.5</property> ++ <property name="xpad">0</property> ++ <property name="ypad">0</property> ++ <property name="no-show-all">True</property> ++ </object> ++ <packing> ++ <property name="left_attach">0</property> ++ <property name="right_attach">1</property> ++ <property name="top_attach">3</property> ++ <property name="bottom_attach">4</property> ++ <property name="x_options">fill</property> ++ <property name="y_options"/> ++ </packing> ++ </child> ++ <child> + <object class="GtkEntry" id="filename_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> +@@ -186,7 +275,7 @@ + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">True</property> +- <property name="width_chars">32</property> ++ <property name="width_chars">36</property> + </object> + <packing> + <property name="left_attach">1</property> +@@ -214,6 +303,36 @@ + <property name="y_options">fill</property> + </packing> + </child> ++ <child> ++ <object class="GtkLinkButton" id="image_link"> ++ <property name="visible">False</property> ++ <property name="can_focus">True</property> ++ <property name="xalign">0</property> ++ <property name="no-show-all">True</property> ++ </object> ++ <packing> ++ <property name="left_attach">1</property> ++ <property name="right_attach">2</property> ++ <property name="top_attach">2</property> ++ <property name="bottom_attach">3</property> ++ <property name="y_options"/> ++ </packing> ++ </child> ++ <child> ++ <object class="GtkLinkButton" id="delete_link"> ++ <property name="visible">False</property> ++ <property name="can_focus">True</property> ++ <property name="xalign">0</property> ++ <property name="no-show-all">True</property> ++ </object> ++ <packing> ++ <property name="left_attach">1</property> ++ <property name="right_attach">2</property> ++ <property name="top_attach">3</property> ++ <property name="bottom_attach">4</property> ++ <property name="y_options"/> ++ </packing> ++ </child> + </object> + <packing> + <property name="padding">0</property> +@@ -241,6 +360,7 @@ <action-widget response="-6">cancel_button</action-widget> <action-widget response="-5">ok_button</action-widget> <action-widget response="1">copy_button</action-widget> @@ -136,7 +246,7 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/gnome-screenshot.ui gnome-utils-3 </interface> diff -Naur gnome-utils-3.2.1//gnome-screenshot/Makefile.am gnome-utils-3.2.1.new//gnome-screenshot/Makefile.am --- gnome-utils-3.2.1//gnome-screenshot/Makefile.am 2011-10-17 19:35:06.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/Makefile.am 2012-02-20 03:37:08.077570288 +0530 ++++ gnome-utils-3.2.1.new//gnome-screenshot/Makefile.am 2012-02-20 22:09:55.859351232 +0530 @@ -19,6 +19,8 @@ screenshot-dialog.h \ screenshot-shadow.c \ @@ -166,7 +276,7 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/Makefile.am gnome-utils-3.2.1.new -lm \ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-dialog.c gnome-utils-3.2.1.new//gnome-screenshot/screenshot-dialog.c --- gnome-utils-3.2.1//gnome-screenshot/screenshot-dialog.c 2011-10-17 19:35:06.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-dialog.c 2012-02-20 03:37:08.077570288 +0530 ++++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-dialog.c 2012-02-20 22:09:55.860351232 +0530 @@ -39,17 +39,6 @@ { "text/uri-list", 0, TYPE_TEXT_URI_LIST }, }; @@ -187,7 +297,7 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-dialog.c gnome-utils-3 cairo_t *cr, diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-dialog.h gnome-utils-3.2.1.new//gnome-screenshot/screenshot-dialog.h --- gnome-utils-3.2.1//gnome-screenshot/screenshot-dialog.h 2011-10-17 19:35:06.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-dialog.h 2012-02-20 03:37:08.078570287 +0530 ++++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-dialog.h 2012-02-20 22:09:55.860351232 +0530 @@ -22,10 +22,22 @@ #include <gtk/gtk.h> @@ -213,8 +323,8 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-dialog.h gnome-utils-3 char *initial_uri, diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3.2.1.new//gnome-screenshot/screenshot-share.c --- gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c 1970-01-01 05:30:00.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-share.c 2012-02-20 03:37:25.214569203 +0530 -@@ -0,0 +1,284 @@ ++++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-share.c 2012-02-20 22:10:17.441349867 +0530 +@@ -0,0 +1,292 @@ +/* screenshot-share.c - online screenshot sharing + * vim: set sts=2 sw=2 et : + * @@ -278,12 +388,14 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. +static void screenshot_uploaded_cb (SoupMessage *msg, + gpointer user_data); + -+static void imgur_response_cb (SoupMessage *msg); ++static void imgur_response_cb (SoupMessage *msg, ++ gpointer user_data); + -+static void reset_upload_button (ScreenshotSoupContext *context); ++static void reset_upload_button (gpointer user_data); + -+static void screenshot_display_uris (gchar *image_uri, -+ gchar *delete_uri); ++static void screenshot_display_uris (gchar *image_uri, ++ gchar *delete_uri, ++ gpointer user_data); + +/* Global variables */ +static gboolean uploading = FALSE; @@ -293,10 +405,6 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. +screenshot_upload_imgur (ScreenshotDialog *dialog) +{ + ScreenshotSoupContext *context; -+ SoupSession *session; -+ SoupMessage *msg; -+ GtkButton *button; -+ GtkProgressBar *progress_bar; + gchar *temp; + gchar *image_data; + gsize image_size; @@ -309,44 +417,45 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. + if (!gdk_pixbuf_save_to_buffer (GDK_PIXBUF (dialog->screenshot), + &image_data, &image_size, + "png", NULL, NULL)) -+ goto out; -+ -+ button = GTK_BUTTON (gtk_builder_get_object (dialog->ui, "upload_button")); -+ progress_bar = GTK_PROGRESS_BAR (gtk_builder_get_object (dialog->ui, "upload_progress")); ++ return; + + temp = g_base64_encode (image_data, image_size); -+ session = soup_session_async_new (); -+ msg = soup_form_request_new (SOUP_METHOD_POST, IMGUR_UPLOAD_URI, -+ "key", IMGUR_API_KEY, -+ "image", temp, NULL); + + context = g_new0 (ScreenshotSoupContext, 1); -+ context->session = session; -+ context->msg = msg; -+ context->upload_button = button; -+ context->upload_progress = progress_bar; + -+ g_signal_connect (session, "request-started", ++ context->upload_button = GTK_BUTTON (gtk_builder_get_object (dialog->ui, "upload_button")); ++ context->upload_progress = GTK_PROGRESS_BAR (gtk_builder_get_object (dialog->ui, "upload_progress")); ++ context->image_link_label = GTK_LABEL (gtk_builder_get_object (dialog->ui, "image_link_label")); ++ context->delete_link_label = GTK_LABEL (gtk_builder_get_object (dialog->ui, "delete_link_label")); ++ context->image_link = GTK_LINK_BUTTON (gtk_builder_get_object (dialog->ui, "image_link")); ++ context->delete_link = GTK_LINK_BUTTON (gtk_builder_get_object (dialog->ui, "delete_link")); ++ ++ context->session = soup_session_async_new (); ++ context->msg = soup_form_request_new (SOUP_METHOD_POST, IMGUR_UPLOAD_URI, ++ "key", IMGUR_API_KEY, ++ "image", temp, NULL); ++ ++ g_signal_connect (context->session, "request-started", + G_CALLBACK (request_started_cb), + (gpointer)context); + -+ g_signal_connect (msg, "wrote-body-data", ++ g_signal_connect (context->msg, "wrote-body-data", + G_CALLBACK (wrote_data_cb), -+ (gpointer)progress_bar); ++ (gpointer)context); + -+ soup_session_queue_message (session, msg, message_completed_cb, (gpointer)context); ++ soup_session_queue_message (context->session, context->msg, ++ message_completed_cb, (gpointer)context); + g_free (temp); -+ -+out: + g_free (image_data); +} + +static void -+reset_upload_button (ScreenshotSoupContext *context) ++reset_upload_button (gpointer user_data) +{ ++ ScreenshotSoupContext *context = user_data; + g_signal_handlers_disconnect_by_func (G_OBJECT (context->upload_button), + G_CALLBACK (toggle_request_cb), -+ (gpointer)context); ++ user_data); + + gtk_widget_set_visible (GTK_WIDGET (context->upload_progress), FALSE); + gtk_button_set_label (context->upload_button, _(BUTTON_TEXT_UPLOAD)); @@ -363,7 +472,7 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. + SoupMessage *msg, + gpointer user_data) +{ -+ reset_upload_button ((ScreenshotSoupContext*)user_data); ++ reset_upload_button (user_data); + uploading = FALSE; + + switch (msg->status_code) { @@ -418,21 +527,22 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. + } +} + -+/* Update the progress bar */ ++/* Update the upload progress bar */ +static void +wrote_data_cb (SoupMessage *msg, + SoupBuffer *chunk, + gpointer user_data) +{ ++ ScreenshotSoupContext *context = user_data; + static int total_sent; + float fraction; + -+ if (!gtk_widget_get_visible (GTK_WIDGET (user_data))) -+ gtk_widget_set_visible (GTK_WIDGET (user_data), TRUE); ++ if (!gtk_widget_get_visible (GTK_WIDGET (context->upload_progress))) ++ gtk_widget_set_visible (GTK_WIDGET (context->upload_progress), TRUE); + + total_sent += chunk->length; + fraction = ((float)total_sent) / msg->request_body->length; -+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (user_data), fraction); ++ gtk_progress_bar_set_fraction (context->upload_progress, fraction); + + /* Upload finished? Reset the counter. */ + if (total_sent == msg->request_body->length) @@ -443,16 +553,16 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. +screenshot_uploaded_cb (SoupMessage *msg, + gpointer user_data) +{ -+ imgur_response_cb (msg); ++ imgur_response_cb (msg, user_data); +} + +/* Process the screenshot upload response from imgur.com + * -+ * Also opens the image and delete links for the uploaded image -+ * in the default http:// handler ++ * Also displays the image link and image delete link in the dialog box + * */ +static void -+imgur_response_cb (SoupMessage *msg) ++imgur_response_cb (SoupMessage *msg, ++ gpointer user_data) +{ + JsonParser *parser = NULL; + JsonNode *node = NULL; @@ -480,10 +590,7 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. + delete_uri = json_node_dup_string (json_array_get_element (json_node_get_array (node), 0)); + json_node_free (node); + -+ screenshot_display_uris (image_uri, delete_uri); -+ -+ g_free (image_uri); -+ g_free (delete_uri); ++ screenshot_display_uris (image_uri, delete_uri, user_data); + +out: + if (error) @@ -492,17 +599,28 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.c gnome-utils-3. + g_object_unref (parser); +} + ++/* Displays the image link and image delete link in the dialog box */ +static void -+screenshot_display_uris (gchar *image_uri, -+ gchar *delete_uri) ++screenshot_display_uris (gchar *image_uri, ++ gchar *delete_uri, ++ gpointer user_data) +{ -+ g_app_info_launch_default_for_uri (image_uri, NULL, NULL); -+ g_app_info_launch_default_for_uri (delete_uri, NULL, NULL); ++ ScreenshotSoupContext *context = user_data; ++ ++ gtk_button_set_label (GTK_BUTTON (context->image_link), image_uri); ++ gtk_button_set_label (GTK_BUTTON (context->delete_link), delete_uri); ++ gtk_link_button_set_uri (context->image_link, image_uri); ++ gtk_link_button_set_uri (context->delete_link, delete_uri); ++ ++ gtk_widget_set_visible (GTK_WIDGET (context->image_link_label), TRUE); ++ gtk_widget_set_visible (GTK_WIDGET (context->delete_link_label), TRUE); ++ gtk_widget_set_visible (GTK_WIDGET (context->image_link), TRUE); ++ gtk_widget_set_visible (GTK_WIDGET (context->delete_link), TRUE); +} diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.h gnome-utils-3.2.1.new//gnome-screenshot/screenshot-share.h --- gnome-utils-3.2.1//gnome-screenshot/screenshot-share.h 1970-01-01 05:30:00.000000000 +0530 -+++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-share.h 2012-02-20 03:37:25.214569203 +0530 -@@ -0,0 +1,43 @@ ++++ gnome-utils-3.2.1.new//gnome-screenshot/screenshot-share.h 2012-02-20 22:10:17.441349867 +0530 +@@ -0,0 +1,47 @@ +/* screenshot-share.h - online screenshot sharing + * vim: set sts=2 sw=2 et : + * @@ -535,6 +653,10 @@ diff -Naur gnome-utils-3.2.1//gnome-screenshot/screenshot-share.h gnome-utils-3. + SoupMessage *msg; + GtkButton *upload_button; + GtkProgressBar *upload_progress; ++ GtkLabel *image_link_label; ++ GtkLabel *delete_link_label; ++ GtkLinkButton *image_link; ++ GtkLinkButton *delete_link; +}; + +typedef struct ScreenshotSoupContext ScreenshotSoupContext; |