]> spindle.queued.net Git - midori/commitdiff
Always render icon only tabs at their natural size
authorChristian Dywan <christian@twotoasts.de>
Sun, 3 Apr 2011 21:59:29 +0000 (23:59 +0200)
committerChristian Dywan <christian@twotoasts.de>
Sun, 3 Apr 2011 21:59:29 +0000 (23:59 +0200)
midori/midori-browser.c

index f812335afe65db05c0e5c6e9740d42aab836be08..8fb85fb1ad56c3453a7ab0cda8d931b08e049649 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Copyright (C) 2007-2010 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2007-2011 Christian Dywan <christian@twotoasts.de>
  Copyright (C) 2008 Dale Whittaker <dayul@users.sf.net>
  Copyright (C) 2009 Jérôme Geulfucci <jeromeg@xfce.org>
 
@@ -224,6 +224,9 @@ midori_browser_add_speed_dial (MidoriBrowser* browser);
 gboolean
 midori_transferbar_confirm_delete (MidoriTransferbar* transferbar);
 
+static void
+_midori_browser_update_notebook (MidoriBrowser* browser);
+
 #if WEBKIT_CHECK_VERSION (1, 1, 3)
 void
 midori_transferbar_add_download_item (MidoriTransferbar* transferbar,
@@ -624,6 +627,21 @@ midori_view_notify_title_cb (GtkWidget*     widget,
     }
 }
 
+static void
+midori_view_notify_minimized_cb (GtkWidget*     widget,
+                                 GParamSpec*    pspec,
+                                 MidoriBrowser* browser)
+{
+    if (katze_object_get_boolean (widget, "minimized"))
+    {
+        GtkNotebook* notebook = GTK_NOTEBOOK (browser->notebook);
+        GtkWidget* label = gtk_notebook_get_tab_label (notebook, widget);
+        gtk_widget_set_size_request (label, -1, -1);
+    }
+    else
+        _midori_browser_update_notebook (browser);
+}
+
 static void
 midori_view_notify_zoom_level_cb (GtkWidget*     view,
                                   GParamSpec*    pspec,
@@ -1484,7 +1502,8 @@ _midori_browser_update_notebook (MidoriBrowser* browser)
         view = gtk_notebook_get_nth_page (GTK_NOTEBOOK(browser->notebook), i);
         label = gtk_notebook_get_tab_label (GTK_NOTEBOOK(browser->notebook), view);
         /* Don't resize empty bin, which is used for thumbnail tabs */
-        if (GTK_IS_BIN (label) && gtk_bin_get_child (GTK_BIN (label)))
+        if (GTK_IS_BIN (label) && gtk_bin_get_child (GTK_BIN (label))
+         && !katze_object_get_boolean (view, "minimized"))
             gtk_widget_set_size_request (label, new_size, -1);
     }
 }
@@ -1517,6 +1536,8 @@ _midori_browser_add_tab (MidoriBrowser* browser,
                       midori_view_notify_uri_cb, browser,
                       "signal::notify::title",
                       midori_view_notify_title_cb, browser,
+                      "signal::notify::minimized",
+                      midori_view_notify_minimized_cb, browser,
                       "signal::notify::zoom-level",
                       midori_view_notify_zoom_level_cb, browser,
                       "signal::notify::statusbar-text",