[gtk+] Show dialog titles
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Show dialog titles
- Date: Fri, 14 Mar 2014 10:31:03 +0000 (UTC)
commit 3504f494736af12b2b9270527df044aacea19236
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Mar 14 06:28:49 2014 -0400
Show dialog titles
We want to present a clean, rounded top when there is nothing
else to show, but many dialogs in applications rely on showing
information in their title, so add a label and show the title
when it is not empty.
gtk/gtkdialog.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 37d9bf0..3b54c46 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -272,6 +272,18 @@ add_cb (GtkContainer *container,
}
static void
+update_title (GObject *dialog,
+ GParamSpec *pspec,
+ GtkWidget *label)
+{
+ const gchar *title;
+
+ title = gtk_window_get_title (GTK_WINDOW (dialog));
+ gtk_label_set_label (GTK_LABEL (label), title);
+ gtk_widget_set_visible (label, title && title[0]);
+}
+
+static void
apply_use_header_bar (GtkDialog *dialog)
{
GtkDialogPrivate *priv = dialog->priv;
@@ -284,9 +296,15 @@ apply_use_header_bar (GtkDialog *dialog)
if (gtk_window_get_type_hint (GTK_WINDOW (dialog)) == GDK_WINDOW_TYPE_HINT_DIALOG)
{
+ GtkWidget *label;
+
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_show (box);
gtk_widget_set_size_request (box, -1, 16);
+ label = gtk_label_new ("");
+ gtk_style_context_add_class (gtk_widget_get_style_context (label), "title");
+ gtk_box_set_center_widget (GTK_BOX (box), label);
+ g_signal_connect (dialog, "notify::title", G_CALLBACK (update_title), label);
}
gtk_window_set_titlebar (GTK_WINDOW (dialog), box);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]