Skip to content

Commit bc64980

Browse files
committed
make the 'close confirmation dialog' bigger with multiple files
1 parent b52da1a commit bc64980

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

pluma/dialogs/pluma-close-confirmation-dialog.c

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -674,17 +674,22 @@ static void
674674
build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg)
675675
{
676676
PlumaCloseConfirmationDialogPrivate *priv;
677-
GtkWidget *hbox;
678-
GtkWidget *image;
679-
GtkWidget *vbox;
680-
GtkWidget *primary_label;
681-
GtkWidget *vbox2;
682-
GtkWidget *select_label;
683-
GtkWidget *scrolledwindow;
684-
GtkWidget *treeview;
685-
GtkWidget *secondary_label;
686-
gchar *str;
687-
gchar *markup_str;
677+
GtkWidget *hbox;
678+
GtkWidget *image;
679+
GtkWidget *vbox;
680+
GtkWidget *primary_label;
681+
GtkWidget *vbox2;
682+
GtkWidget *select_label;
683+
GtkWidget *scrolledwindow;
684+
GtkWidget *treeview;
685+
GtkWidget *secondary_label;
686+
GdkDisplay *display;
687+
GdkRectangle mon_geo;
688+
gchar *str;
689+
gchar *markup_str;
690+
gint new_width;
691+
gint new_height;
692+
gint max_height;
688693

689694
priv = dlg->priv;
690695

@@ -750,6 +755,7 @@ build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg)
750755
gtk_widget_set_can_focus (GTK_WIDGET (select_label), FALSE);
751756

752757
scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
758+
gtk_scrolled_window_set_propagate_natural_height (GTK_SCROLLED_WINDOW (scrolledwindow), TRUE);
753759
gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow, TRUE, TRUE, 0);
754760
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow),
755761
GTK_POLICY_AUTOMATIC,
@@ -778,9 +784,21 @@ build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg)
778784

779785
gtk_widget_show_all (hbox);
780786

781-
int new_width, new_height;
782787
gtk_window_get_size (GTK_WINDOW (GTK_DIALOG (dlg)), &new_width, &new_height);
783-
gtk_window_set_default_size (GTK_WINDOW (GTK_DIALOG (dlg)), new_width, new_height);
788+
789+
display = gtk_widget_get_display (scrolledwindow);
790+
791+
gdk_monitor_get_geometry (gdk_display_get_primary_monitor (display), &mon_geo);
792+
793+
max_height = mon_geo.height * 40 / 100;
794+
795+
if (new_height > max_height)
796+
{
797+
gtk_window_set_resizable (GTK_WINDOW (GTK_DIALOG (dlg)), TRUE);
798+
gtk_window_resize (GTK_WINDOW (GTK_DIALOG (dlg)), new_width, max_height);
799+
}
800+
else
801+
gtk_window_set_default_size (GTK_WINDOW (GTK_DIALOG (dlg)), new_width, new_height);
784802
}
785803

786804
static void

0 commit comments

Comments
 (0)