diff options
Diffstat (limited to 'gnome-extra/gnome-utils/files/gnome-utils-3.2.1-upload-screenshots.patch')
-rw-r--r-- | gnome-extra/gnome-utils/files/gnome-utils-3.2.1-upload-screenshots.patch | 234 |
1 files changed, 178 insertions, 56 deletions
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; |