diff options
Diffstat (limited to 'src/dw-hdfsee.c')
-rw-r--r-- | src/dw-hdfsee.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/dw-hdfsee.c b/src/dw-hdfsee.c index da40fe58..28367ffa 100644 --- a/src/dw-hdfsee.c +++ b/src/dw-hdfsee.c @@ -552,12 +552,12 @@ static void set_window_size(DisplayWindow *dw) gtk_widget_set_size_request(GTK_WIDGET(dw->drawingarea), width, dw->height); - geom.min_width = -1; - geom.min_height = -1; - geom.max_width = -1; - geom.max_height = -1; + geom.min_width = 0; + geom.min_height = 0; + geom.max_width = dw->width + 10; // allow for scroll bar + geom.max_height = dw->height + 30; gtk_window_set_geometry_hints(GTK_WINDOW(dw->window), - GTK_WIDGET(dw->drawingarea), &geom, + GTK_WIDGET(dw->scrollarea), &geom, GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE); } @@ -2536,7 +2536,11 @@ DisplayWindow *displaywindow_open(const char *filename, const char *peaks, displaywindow_addmenubar(dw, vbox, colscale); dw->drawingarea = gtk_drawing_area_new(); - gtk_box_pack_start(GTK_BOX(vbox), dw->drawingarea, TRUE, TRUE, 0); + dw->scrollarea = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(dw->scrollarea), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(dw->scrollarea), dw->drawingarea); + gtk_box_pack_start(GTK_BOX(vbox), dw->scrollarea, TRUE, TRUE, 0); g_signal_connect(GTK_OBJECT(dw->drawingarea), "expose-event", G_CALLBACK(displaywindow_expose), dw); @@ -2581,5 +2585,10 @@ DisplayWindow *displaywindow_open(const char *filename, const char *peaks, displaywindow_update_menus(dw, element); dw->not_ready_yet = 0; + // Keep the behaviour similar when loading an image from command line + // for compatibility with check_*** scripts + gtk_window_resize(GTK_WINDOW(dw->window), dw->width + 10, + dw->height + 30); + return dw; } |