Fix #912: "overwrite files"-window outside screen
[geeqie.git] / src / ui_utildlg.c
index 3732cd8..853f957 100644 (file)
@@ -299,7 +299,12 @@ GtkWidget *generic_dialog_add_message(GenericDialog *gd, const gchar *icon_stock
                GtkWidget *image;
 
                image = gtk_image_new_from_stock(icon_stock_id, GTK_ICON_SIZE_DIALOG);
+#if GTK_CHECK_VERSION(3,16,0)
+               gtk_widget_set_halign(GTK_WIDGET(image), GTK_ALIGN_CENTER);
+               gtk_widget_set_valign(GTK_WIDGET(image), GTK_ALIGN_START);
+#else
                gtk_misc_set_alignment(GTK_MISC(image), 0.5, 0.0);
+#endif
                gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
                gtk_widget_show(image);
                }
@@ -309,14 +314,22 @@ GtkWidget *generic_dialog_add_message(GenericDialog *gd, const gchar *icon_stock
                {
                label = pref_label_new(vbox, heading);
                pref_label_bold(label, TRUE, TRUE);
+#if GTK_CHECK_VERSION(3,16,0)
                gtk_label_set_xalign(GTK_LABEL(label), 0.0);
                gtk_label_set_yalign(GTK_LABEL(label), 0.5);
+#else
+               gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+#endif
                }
        if (text)
                {
                label = pref_label_new(vbox, text);
+#if GTK_CHECK_VERSION(3,16,0)
                gtk_label_set_xalign(GTK_LABEL(label), 0.0);
                gtk_label_set_yalign(GTK_LABEL(label), 0.5);
+#else
+               gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+#endif
                gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
                }
 
@@ -398,6 +411,7 @@ static void generic_dialog_setup(GenericDialog *gd,
 {
        GtkWidget *vbox;
        gint x, y, w, h;
+       GtkWidget *scrolled;
 
        gd->auto_close = auto_close;
        gd->data = data;
@@ -443,8 +457,13 @@ static void generic_dialog_setup(GenericDialog *gd,
        gtk_window_set_resizable(GTK_WINDOW(gd->dialog), TRUE);
        gtk_container_set_border_width(GTK_CONTAINER(gd->dialog), PREF_PAD_BORDER);
 
+       scrolled = gtk_scrolled_window_new(NULL, NULL);
+       gtk_scrolled_window_set_propagate_natural_height(GTK_SCROLLED_WINDOW(scrolled), TRUE);
+       gtk_scrolled_window_set_propagate_natural_width(GTK_SCROLLED_WINDOW(scrolled), TRUE);
        vbox = gtk_vbox_new(FALSE, PREF_PAD_BUTTON_SPACE);
-       gtk_container_add(GTK_CONTAINER(gd->dialog), vbox);
+       gtk_container_add(GTK_CONTAINER(scrolled), vbox);
+       gtk_container_add(GTK_CONTAINER(gd->dialog), scrolled);
+       gtk_widget_show(scrolled);
        gtk_widget_show(vbox);
 
        gd->vbox = gtk_vbox_new(FALSE, PREF_PAD_GAP);