aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-05-01 07:53:53 +0000
committerSimon Tatham <anakin@pobox.com>2004-05-01 07:53:53 +0000
commit4e5a0a3d67e95f515f8bef7cb9bbd103cab89aa7 (patch)
tree93f2d35870030059b9300ede23e46478951a5c43
parent2206a1aa25f783759cdf2336310357c33823dc21 (diff)
downloadpuzzles-4e5a0a3d67e95f515f8bef7cb9bbd103cab89aa7.zip
puzzles-4e5a0a3d67e95f515f8bef7cb9bbd103cab89aa7.tar.gz
puzzles-4e5a0a3d67e95f515f8bef7cb9bbd103cab89aa7.tar.bz2
puzzles-4e5a0a3d67e95f515f8bef7cb9bbd103cab89aa7.tar.xz
Wrap the status bar in a viewport, to avoid it expanding if the text
doesn't fit in it. This not only looked ugly, but caused unnecessary calls to configure_area() and kept destroying the pixmap. [originally from svn r4180]
-rw-r--r--gtk.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/gtk.c b/gtk.c
index 9ffc96a..15d918a 100644
--- a/gtk.c
+++ b/gtk.c
@@ -510,13 +510,25 @@ static frontend *new_window(void)
}
if (midend_wants_statusbar(fe->me)) {
+ GtkWidget *viewport;
+ GtkRequisition req;
+
+ viewport = gtk_viewport_new(NULL, NULL);
+ gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
fe->statusbar = gtk_statusbar_new();
- gtk_box_pack_end(vbox, fe->statusbar, FALSE, FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(viewport), fe->statusbar);
+ gtk_widget_show(viewport);
+ gtk_box_pack_end(vbox, viewport, FALSE, FALSE, 0);
gtk_widget_show(fe->statusbar);
fe->statusctx = gtk_statusbar_get_context_id
(GTK_STATUSBAR(fe->statusbar), "game");
gtk_statusbar_push(GTK_STATUSBAR(fe->statusbar), fe->statusctx,
- "");
+ "test");
+ gtk_widget_size_request(fe->statusbar, &req);
+#if 0
+ /* For GTK 2.0, should we be using gtk_widget_set_size_request? */
+#endif
+ gtk_widget_set_usize(viewport, x, req.height);
} else
fe->statusbar = NULL;