summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Borges <felipeborges@gnome.org>2017-02-22 16:36:54 +0100
committerFelipe Borges <felipeborges@gnome.org>2017-02-26 12:49:43 +0100
commit4cfb21176156849d066f36ba47502857dc043f2d (patch)
tree45767dcfaa10011ca72b50a03905213b2ea6443e
parent99d556f666f12b195aacdca79e553b61de90a17a (diff)
downloadgnome-control-center-4cfb21176156849d066f36ba47502857dc043f2d.tar.gz
printers: Ellipsize the "Details Dialog" title
Printers with long names were causing the "Printer Details Dialog" to expande horizontally. This patch ellipsizes the custom title of the dialog. https://bugzilla.gnome.org/show_bug.cgi?id=779071
-rw-r--r--panels/printers/details-dialog.ui14
-rw-r--r--panels/printers/pp-details-dialog.c9
2 files changed, 18 insertions, 5 deletions
diff --git a/panels/printers/details-dialog.ui b/panels/printers/details-dialog.ui
index 58f251724..4524d1406 100644
--- a/panels/printers/details-dialog.ui
+++ b/panels/printers/details-dialog.ui
@@ -11,6 +11,20 @@
<property name="type_hint">dialog</property>
<property name="use-header-bar">1</property>
<signal name="response" handler="pp_details_dialog_response_cb"/>
+ <child internal-child="headerbar">
+ <object class="GtkHeaderBar">
+ <property name="visible">True</property>
+ <property name="show_close_button">True</property>
+ <child type="title">
+ <object class="GtkLabel" id="dialog_title">
+ <property name="visible">True</property>
+ <property name="wrap">True</property>
+ <property name="max_width_chars">30</property>
+ <property name="ellipsize">middle</property>
+ </object>
+ </child>
+ </object>
+ </child>
<child internal-child="vbox">
<object class="GtkBox">
<property name="margin">20</property>
diff --git a/panels/printers/pp-details-dialog.c b/panels/printers/pp-details-dialog.c
index 35b65dcd9..17462bcf4 100644
--- a/panels/printers/pp-details-dialog.c
+++ b/panels/printers/pp-details-dialog.c
@@ -42,6 +42,7 @@
struct _PpDetailsDialog {
GtkDialog parent;
+ GtkLabel *dialog_title;
GtkEntry *printer_name_entry;
GtkEntry *printer_location_entry;
GtkLabel *printer_address_label;
@@ -113,7 +114,6 @@ printer_name_changed (GtkEditable *editable,
gpointer user_data)
{
PpDetailsDialog *self = (PpDetailsDialog *) user_data;
- GtkWidget *widget;
const gchar *name;
gchar *title;
@@ -121,9 +121,7 @@ printer_name_changed (GtkEditable *editable,
/* Translators: This is the title of the dialog. %s is the printer name. */
title = g_strdup_printf (_("%s Details"), name);
-
- widget = gtk_dialog_get_header_bar (GTK_DIALOG (self));
- gtk_header_bar_set_title (GTK_HEADER_BAR (widget), title);
+ gtk_label_set_label (self->dialog_title, title);
g_free (title);
}
@@ -376,6 +374,7 @@ pp_details_dialog_class_init (PpDetailsDialogClass *klass)
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/printers/details-dialog.ui");
+ gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, dialog_title);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_name_entry);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_location_entry);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_address_label);
@@ -414,7 +413,7 @@ pp_details_dialog_new (GtkWindow *parent,
/* Translators: This is the title of the dialog. %s is the printer name. */
title = g_strdup_printf (_("%s Details"), printer_name);
- gtk_window_set_title (GTK_WINDOW (self), title);
+ gtk_label_set_label (self->dialog_title, title);
printer_url = g_strdup_printf ("<a href=\"http://%s:%d\">%s</a>", printer_address, ippPort (), printer_address);
gtk_label_set_markup (GTK_LABEL (self->printer_address_label), printer_url);