[gedit] io-error-info-bar: use TeplInfoBar for the file_already_open_warning
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] io-error-info-bar: use TeplInfoBar for the file_already_open_warning
- Date: Mon, 23 Mar 2020 20:51:03 +0000 (UTC)
commit 0924111153c63e8460241b513e6134d0b6f49ee5
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon Mar 23 21:41:30 2020 +0100
io-error-info-bar: use TeplInfoBar for the file_already_open_warning
It simplifies the code.
No need to call tepl_utils_str_middle_truncate() on the uri, TeplInfoBar
handles text wrapping well.
gedit/gedit-io-error-info-bar.c | 84 ++++++++++-------------------------------
1 file changed, 20 insertions(+), 64 deletions(-)
---
diff --git a/gedit/gedit-io-error-info-bar.c b/gedit/gedit-io-error-info-bar.c
index 8567d3cbf..fc5653b15 100644
--- a/gedit/gedit-io-error-info-bar.c
+++ b/gedit/gedit-io-error-info-bar.c
@@ -654,83 +654,39 @@ gedit_conversion_error_info_bar_get_encoding (GtkWidget *info_bar)
GtkWidget *
gedit_file_already_open_warning_info_bar_new (GFile *location)
{
- GtkWidget *info_bar;
- GtkWidget *hbox_content;
- GtkWidget *vbox;
- gchar *primary_markup;
- gchar *secondary_markup;
- GtkWidget *primary_label;
- GtkWidget *secondary_label;
- gchar *primary_text;
- const gchar *secondary_text;
- gchar *full_formatted_uri;
- gchar *uri_for_display;
- gchar *temp_uri_for_display;
+ TeplInfoBar *info_bar;
+ gchar *uri;
+ gchar *primary_msg;
g_return_val_if_fail (G_IS_FILE (location), NULL);
- full_formatted_uri = g_file_get_parse_name (location);
+ info_bar = tepl_info_bar_new ();
+ tepl_info_bar_set_buttons_orientation (info_bar, GTK_ORIENTATION_HORIZONTAL);
- /* Truncate the URI so it doesn't get insanely wide. Note that even
- * though the dialog uses wrapped text, if the URI doesn't contain
- * white space then the text-wrapping code is too stupid to wrap it.
- */
- temp_uri_for_display = tepl_utils_str_middle_truncate (full_formatted_uri,
- MAX_URI_IN_DIALOG_LENGTH);
- g_free (full_formatted_uri);
-
- uri_for_display = g_markup_escape_text (temp_uri_for_display, -1);
- g_free (temp_uri_for_display);
-
- info_bar = gtk_info_bar_new ();
gtk_info_bar_add_button (GTK_INFO_BAR (info_bar),
- /* Translators: the access key chosen for this string should be
- different from other main menu access keys (Open, Edit, View...) */
- _("Edit Any_way"),
+ /* Translators: the mnemonic chosen for this string should be different
+ from other headerbar mnemonics (Open, Save, ...). */
+ _("_Edit Anyway"),
GTK_RESPONSE_YES);
+
gtk_info_bar_add_button (GTK_INFO_BAR (info_bar),
- /* Translators: the access key chosen for this string should be
- different from other main menu access keys (Open, Edit, View...) */
- _("D_on’t Edit"),
+ /* Translators: the mnemonic chosen for this string should be different
+ from other headerbar mnemonics (Open, Save, ...). */
+ _("_Don’t Edit"),
GTK_RESPONSE_CANCEL);
+
gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar),
GTK_MESSAGE_WARNING);
- hbox_content = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0);
+ uri = g_file_get_parse_name (location);
+ primary_msg = g_strdup_printf (_("This file “%s” is already open in another window."), uri);
+ tepl_info_bar_add_primary_message (info_bar, primary_msg);
+ g_free (uri);
+ g_free (primary_msg);
- primary_text = g_strdup_printf (_("This file “%s” is already open in another window."),
uri_for_display);
- g_free (uri_for_display);
+ tepl_info_bar_add_secondary_message (info_bar, _("Do you want to edit it anyway?"));
- primary_markup = g_strdup_printf ("<b>%s</b>", primary_text);
- g_free (primary_text);
- primary_label = gtk_label_new (primary_markup);
- g_free (primary_markup);
- gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0);
- gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE);
- gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE);
- gtk_widget_set_halign (primary_label, GTK_ALIGN_START);
- gtk_widget_set_can_focus (primary_label, TRUE);
- gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE);
-
- secondary_text = _("Do you want to edit it anyway?");
- secondary_markup = g_strdup_printf ("<small>%s</small>",
- secondary_text);
- secondary_label = gtk_label_new (secondary_markup);
- g_free (secondary_markup);
- gtk_box_pack_start (GTK_BOX (vbox), secondary_label, TRUE, TRUE, 0);
- gtk_widget_set_can_focus (secondary_label, TRUE);
- gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE);
- gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE);
- gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE);
- gtk_widget_set_halign (secondary_label, GTK_ALIGN_START);
-
- gtk_widget_show_all (hbox_content);
- set_contents (info_bar, hbox_content);
-
- return info_bar;
+ return GTK_WIDGET (info_bar);
}
GtkWidget *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]