[gnome-terminal] window: Update size on tab title change



commit a2a89b295c8eed99dfd275d9941e98d8f57af409
Author: Egmont Koblinger <egmont gmail com>
Date:   Mon Nov 24 23:28:55 2014 +0100

    window: Update size on tab title change
    
    https://bugzilla.gnome.org/show_bug.cgi?id=732588

 src/terminal-tab-label.c |   10 ++++++++++
 src/terminal-window.c    |    4 +---
 src/terminal-window.h    |    2 ++
 3 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/terminal-tab-label.c b/src/terminal-tab-label.c
index e060a45..6e99da9 100644
--- a/src/terminal-tab-label.c
+++ b/src/terminal-tab-label.c
@@ -25,6 +25,7 @@
 #include "terminal-intl.h"
 #include "terminal-tab-label.h"
 #include "terminal-close-button.h"
+#include "terminal-window.h"
 
 #define TERMINAL_TAB_LABEL_GET_PRIVATE(tab_label)(G_TYPE_INSTANCE_GET_PRIVATE ((tab_label), 
TERMINAL_TYPE_TAB_LABEL, TerminalTabLabelPrivate))
 
@@ -71,6 +72,7 @@ sync_tab_label (TerminalScreen *screen,
 {
   GtkWidget *hbox;
   const char *title;
+  TerminalWindow *window;
 
   title = terminal_screen_get_title (screen);
   hbox = gtk_widget_get_parent (label);
@@ -79,6 +81,14 @@ sync_tab_label (TerminalScreen *screen,
                       title && title[0] ? title : _("Terminal"));
 
   gtk_widget_set_tooltip_text (hbox, title);
+
+  /* This call updates the window size: bug 732588.
+   * FIXMEchpe: This is probably a GTK+ bug, should get them fix it.
+   */
+  window = TERMINAL_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (label),
+                                                     TERMINAL_TYPE_WINDOW));
+  if (window != NULL)
+    terminal_window_update_size (window);
 }
 
 static void
diff --git a/src/terminal-window.c b/src/terminal-window.c
index ce85744..c8913f8 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -230,8 +230,6 @@ sync_screen_icon_title (TerminalScreen *screen,
                         GParamSpec *psepc,
                         TerminalWindow *window);
 
-static void terminal_window_update_size (TerminalWindow *window);
-
 G_DEFINE_TYPE (TerminalWindow, terminal_window, GTK_TYPE_APPLICATION_WINDOW)
 
 /* Clipboard helpers */
@@ -3136,7 +3134,7 @@ terminal_window_get_mdi_container (TerminalWindow *window)
   return GTK_WIDGET (priv->mdi_container);
 }
 
-static void
+void
 terminal_window_update_size (TerminalWindow *window)
 {
   TerminalWindowPrivate *priv = window->priv;
diff --git a/src/terminal-window.h b/src/terminal-window.h
index 9ef2d91..f090835 100644
--- a/src/terminal-window.h
+++ b/src/terminal-window.h
@@ -72,6 +72,8 @@ void terminal_window_set_menubar_visible     (TerminalWindow *window,
                                               gboolean        setting);
 gboolean terminal_window_get_menubar_visible (TerminalWindow *window);
 
+void terminal_window_update_size (TerminalWindow *window);
+
 void            terminal_window_switch_screen (TerminalWindow *window,
                                                TerminalScreen *screen);
 TerminalScreen* terminal_window_get_active (TerminalWindow *window);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]