Mercurial > emacs
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;