changeset 59420:eb72706060ad

* xterm.h (struct x_output): New member, toolbar_detached. * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to 38. (xg_tool_bar_detach_callback): Set toolbar_detached to 1. (xg_tool_bar_attach_callback): Set toolbar_detached to 0. (xg_create_tool_bar): Initialize toolbar_detached. (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if toolbar_detached is zero.
author Jan Djärv <jan.h.d@swipnet.se>
date Sat, 08 Jan 2005 16:49:14 +0000
parents 9a44c6f6d8b7
children f5d389d20efa
files src/ChangeLog src/gtkutil.c src/xterm.h
diffstat 3 files changed, 24 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Jan 08 07:12:32 2005 +0000
+++ b/src/ChangeLog	Sat Jan 08 16:49:14 2005 +0000
@@ -1,3 +1,15 @@
+2005-01-08  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* xterm.h (struct x_output): New member, toolbar_detached.
+
+	* gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
+	38.
+	(xg_tool_bar_detach_callback): Set toolbar_detached to 1.
+	(xg_tool_bar_attach_callback): Set toolbar_detached to 0.
+	(xg_create_tool_bar): Initialize toolbar_detached.
+	(update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
+	toolbar_detached is zero.
+
 2005-01-07  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* xmenu.c (create_and_show_popup_menu): Pass zero as button to
--- a/src/gtkutil.c	Sat Jan 08 07:12:32 2005 +0000
+++ b/src/gtkutil.c	Sat Jan 08 16:49:14 2005 +0000
@@ -756,7 +756,7 @@
      So we cheat a bit by setting a height that is what it will have
      later on when tool bar items are added.  */
   if (FRAME_EXTERNAL_TOOL_BAR (f) && f->n_tool_bar_items == 0)
-    FRAME_TOOLBAR_HEIGHT (f) = 34;
+    FRAME_TOOLBAR_HEIGHT (f) = 38;
 
 
   /* We don't want this widget double buffered, because we draw on it
@@ -3156,6 +3156,8 @@
 
   if (f)
     {
+      FRAME_X_OUTPUT (f)->toolbar_detached = 1;
+
       /* When detaching a tool bar, not everything dissapear.  There are
          a few pixels left that are used to drop the tool bar back into
          place.  */
@@ -3187,11 +3189,13 @@
     {
       GtkRequisition req;
 
+      FRAME_X_OUTPUT (f)->toolbar_detached = 0;
+
       gtk_widget_size_request (w, &req);
       FRAME_TOOLBAR_HEIGHT (f) = req.height;
 
       /* The height has changed, resize outer widget and set columns
-         rows to what we had before detaching the tool bar.  */
+         rows to what we had before attaching the tool bar.  */
       xg_resize_outer_widget (f, FRAME_COLS (f), FRAME_LINES (f));
     }
 }
@@ -3305,6 +3309,8 @@
 
   x->toolbar_widget = gtk_toolbar_new ();
   x->handlebox_widget = gtk_handle_box_new ();
+  x->toolbar_detached = 0;
+
   gtk_container_add (GTK_CONTAINER (x->handlebox_widget),
                      x->toolbar_widget);
 
@@ -3537,7 +3543,8 @@
     }
 
   gtk_widget_size_request (x->toolbar_widget, &new_req);
-  if (old_req.height != new_req.height)
+  if (old_req.height != new_req.height
+      && ! FRAME_X_OUTPUT (f)->toolbar_detached)
     {
       FRAME_TOOLBAR_HEIGHT (f) = new_req.height;
       xg_resize_outer_widget (f, FRAME_COLS (f), FRAME_LINES (f));
--- a/src/xterm.h	Sat Jan 08 07:12:32 2005 +0000
+++ b/src/xterm.h	Sat Jan 08 16:49:14 2005 +0000
@@ -499,6 +499,8 @@
   GtkWidget *toolbar_widget;
   /* The handle box that makes the tool bar detachable.  */
   GtkWidget *handlebox_widget;
+  /* Non-zero if the tool bar is detached.  */
+  int toolbar_detached;
 
   /* The last size hints set.  */
   GdkGeometry size_hints;