From e1206da965c23843b9165fb1a2f7df8d3913ad12 Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Mon, 28 Jul 2014 21:12:48 +0000 Subject: add nmu from intrigeri --- debian/patches/add-ellipsize-option.diff | 173 +++++++++++++++++++++++++++++++ debian/patches/fix-GtkLabel-size.diff | 43 ++++++++ debian/patches/series | 2 + 3 files changed, 218 insertions(+) create mode 100644 debian/patches/add-ellipsize-option.diff create mode 100644 debian/patches/fix-GtkLabel-size.diff create mode 100644 debian/patches/series (limited to 'debian/patches') diff --git a/debian/patches/add-ellipsize-option.diff b/debian/patches/add-ellipsize-option.diff new file mode 100644 index 00000000..9b72e643 --- /dev/null +++ b/debian/patches/add-ellipsize-option.diff @@ -0,0 +1,173 @@ +Origin: https://git.gnome.org/browse/zenity/commit/?id=ec0c2f3292b3db0fdad7f02ed068a97b66f7a2ea +Author: Arx Cruz +Date: Tue May 20 16:05:32 2014 -0300 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=670496 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=673643 +Bug-Debian: https://bugs.debian.org/702295 +Description: Add the --ellipsize option to info, error, warning and question dialogs + This option will help people who need to add huge texts in their dialogs + and the window size get's very huge due amount of size that GtkLabel + requests + +diff --git a/src/msg.c b/src/msg.c +index f4d5e7a..f5d4dc9 100644 +--- a/src/msg.c ++++ b/src/msg.c +@@ -159,6 +159,9 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data) + gtk_label_set_markup (GTK_LABEL (text), g_strcompress (msg_data->dialog_text)); + } + ++ if (msg_data->ellipsize) ++ gtk_label_set_ellipsize (GTK_LABEL(text), PANGO_ALIGN_RIGHT); ++ + if (msg_data->dialog_icon) + gtk_image_set_from_icon_name (GTK_IMAGE (image), msg_data->dialog_icon, GTK_ICON_SIZE_DIALOG); + +@@ -176,6 +179,7 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data) + gtk_main (); + } + ++ + static void + zenity_msg_dialog_response (GtkWidget *widget, int response, gpointer data) + { +diff --git a/src/option.c b/src/option.c +index fb25f37..1b2bb5c 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -47,6 +47,7 @@ static gchar *zenity_general_ok_button; + static gchar *zenity_general_cancel_button; + static gboolean zenity_general_modal; + static gint zenity_general_attach; ++static gboolean zenity_general_dialog_ellipsize; + + /* Calendar Dialog Options */ + static gboolean zenity_calendar_active; +@@ -389,6 +390,14 @@ static GOptionEntry error_options[] = { + &zenity_general_dialog_no_markup, + N_("Do not enable pango markup") + }, ++ { ++ "ellipsize", ++ '\0', ++ G_OPTION_FLAG_NOALIAS, ++ G_OPTION_ARG_NONE, ++ &zenity_general_dialog_ellipsize, ++ N_("Enable ellipsize in dialog text. This fix the high window size with big texts") ++ }, + { + NULL + } +@@ -439,6 +448,14 @@ static GOptionEntry info_options[] = { + &zenity_general_dialog_no_markup, + N_("Do not enable pango markup") + }, ++ { ++ "ellipsize", ++ '\0', ++ G_OPTION_FLAG_NOALIAS, ++ G_OPTION_ARG_NONE, ++ &zenity_general_dialog_ellipsize, ++ N_("Enable ellipsize in dialog text. This fix the high window size with big texts") ++ }, + { + NULL + } +@@ -809,6 +826,14 @@ static GOptionEntry question_options[] = { + N_("Give cancel button focus by default"), + NULL + }, ++ { ++ "ellipsize", ++ '\0', ++ G_OPTION_FLAG_NOALIAS, ++ G_OPTION_ARG_NONE, ++ &zenity_general_dialog_ellipsize, ++ N_("Enable ellipsize in dialog text. This fix the high window size with big texts") ++ }, + { + NULL + } +@@ -939,6 +964,14 @@ static GOptionEntry warning_options[] = { + &zenity_general_dialog_no_markup, + N_("Do not enable pango markup") + }, ++ { ++ "ellipsize", ++ '\0', ++ G_OPTION_FLAG_NOALIAS, ++ G_OPTION_ARG_NONE, ++ &zenity_general_dialog_ellipsize, ++ N_("Enable ellipsize in dialog text. This fix the high window size with big texts") ++ }, + { + NULL + } +@@ -1646,6 +1679,7 @@ zenity_general_post_callback (GOptionContext *context, + results->data->cancel_label = zenity_general_cancel_button; + results->data->modal = zenity_general_modal; + results->data->attach = zenity_general_attach; ++ + return TRUE; + } + +@@ -1741,6 +1775,7 @@ zenity_error_post_callback (GOptionContext *context, + results->msg_data->mode = ZENITY_MSG_ERROR; + results->msg_data->no_wrap = zenity_general_dialog_no_wrap; + results->msg_data->no_markup = zenity_general_dialog_no_markup; ++ results->msg_data->ellipsize = zenity_general_dialog_ellipsize; + } + + return TRUE; +@@ -1760,6 +1795,7 @@ zenity_info_post_callback (GOptionContext *context, + results->msg_data->mode = ZENITY_MSG_INFO; + results->msg_data->no_wrap = zenity_general_dialog_no_wrap; + results->msg_data->no_markup = zenity_general_dialog_no_markup; ++ results->msg_data->ellipsize = zenity_general_dialog_ellipsize; + } + + return TRUE; +@@ -1936,6 +1972,7 @@ zenity_question_post_callback (GOptionContext *context, + results->msg_data->mode = ZENITY_MSG_QUESTION; + results->msg_data->no_wrap = zenity_general_dialog_no_wrap; + results->msg_data->no_markup = zenity_general_dialog_no_markup; ++ results->msg_data->ellipsize = zenity_general_dialog_ellipsize; + results->msg_data->default_cancel = zenity_question_default_cancel; + } + +@@ -1983,6 +2020,7 @@ zenity_warning_post_callback (GOptionContext *context, + results->msg_data->mode = ZENITY_MSG_WARNING; + results->msg_data->no_wrap = zenity_general_dialog_no_wrap; + results->msg_data->no_markup = zenity_general_dialog_no_markup; ++ results->msg_data->ellipsize = zenity_general_dialog_ellipsize; + } + + return TRUE; +@@ -2405,10 +2443,13 @@ zenity_option_parse (gint argc, gchar **argv) + if(results->mode == MODE_FILE || results->mode == MODE_ERROR || results->mode == MODE_WARNING || results->mode == MODE_INFO) + zenity_option_error (zenity_option_get_name (general_options, &zenity_general_cancel_button), ERROR_SUPPORT); + +- + if (zenity_general_dialog_no_wrap) + if (results->mode != MODE_INFO && results->mode != MODE_ERROR && results->mode != MODE_QUESTION && results->mode != MODE_WARNING && results->mode != MODE_TEXTINFO) + zenity_option_error (zenity_option_get_name (text_options, &zenity_general_dialog_no_wrap), ERROR_SUPPORT); +- ++ ++ if (zenity_general_dialog_ellipsize) ++ if (results->mode != MODE_INFO && results->mode != MODE_ERROR && results->mode != MODE_QUESTION && results->mode != MODE_WARNING) ++ zenity_option_error (zenity_option_get_name (text_options, &zenity_general_dialog_ellipsize), ERROR_SUPPORT); ++ + return results; + } +diff --git a/src/zenity.h b/src/zenity.h +index 6e1b687..d3606cd 100644 +--- a/src/zenity.h ++++ b/src/zenity.h +@@ -67,6 +67,7 @@ typedef struct { + gboolean no_wrap; + gboolean no_markup; + gboolean default_cancel; ++ gboolean ellipsize; + } ZenityMsgData; + + typedef struct { diff --git a/debian/patches/fix-GtkLabel-size.diff b/debian/patches/fix-GtkLabel-size.diff new file mode 100644 index 00000000..d9bb2369 --- /dev/null +++ b/debian/patches/fix-GtkLabel-size.diff @@ -0,0 +1,43 @@ +Author: Arx Cruz +Date: Thu May 29 17:51:46 2014 -0300 +Description: Fix the size of GtkLabel width when you have a big text in the dialog. +Origin: https://git.gnome.org/browse/zenity/commit/?id=e5eb127e9779b9a58e53b1a7d268b81284ebd241 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=670496 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=673643 +Bug-Debian: https://bugs.debian.org/702295 + +diff --git a/src/msg.c b/src/msg.c +index f5d4dc9..f287f25 100644 +--- a/src/msg.c ++++ b/src/msg.c +@@ -27,7 +27,7 @@ + #include "util.h" + + static void zenity_msg_dialog_response (GtkWidget *widget, int response, gpointer data); +- ++static void zenity_text_size_allocate (GtkWidget *widget, GtkAllocation *allocation, gpointer data); + static void + zenity_msg_construct_question_dialog (GtkWidget *dialog, ZenityMsgData *msg_data, ZenityData *data) + { +@@ -161,6 +161,9 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data) + + if (msg_data->ellipsize) + gtk_label_set_ellipsize (GTK_LABEL(text), PANGO_ALIGN_RIGHT); ++ else ++ g_signal_connect_after (G_OBJECT (text), "size-allocate", ++ G_CALLBACK (zenity_text_size_allocate), data); + + if (msg_data->dialog_icon) + gtk_image_set_from_icon_name (GTK_IMAGE (image), msg_data->dialog_icon, GTK_ICON_SIZE_DIALOG); +@@ -179,6 +182,11 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data) + gtk_main (); + } + ++static void ++zenity_text_size_allocate (GtkWidget *widget, GtkAllocation *allocation, gpointer data) ++{ ++ gtk_widget_set_size_request (widget, allocation->width, -1); ++} + + static void + zenity_msg_dialog_response (GtkWidget *widget, int response, gpointer data) diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..dbf714c5 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +add-ellipsize-option.diff +fix-GtkLabel-size.diff -- cgit