From 7e4a4ca99bb90bf28bc625e7980af3672fd2f3f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Iv=C3=A1n?= Date: Tue, 23 Jul 2024 22:41:46 -0600 Subject: [PATCH] import-dialog: Adjust dialog to content size Ports the import dialog out of AdwPreferencesPage to modify some properties of the ScrolledWindow so the dialog does the sizing as expected This avoids scrolling when the natural height of the contents fits within the window --- src/gui/importer/gcal-import-dialog.c | 8 +-- src/gui/importer/gcal-import-dialog.ui | 74 ++++++++++++++++---------- 2 files changed, 51 insertions(+), 31 deletions(-) diff --git a/src/gui/importer/gcal-import-dialog.c b/src/gui/importer/gcal-import-dialog.c index 1d094af3..bf608364 100644 --- a/src/gui/importer/gcal-import-dialog.c +++ b/src/gui/importer/gcal-import-dialog.c @@ -41,13 +41,13 @@ struct _GcalImportDialog { AdwDialog parent; + GtkBox *calendars_box; GtkWidget *cancel_button; AdwComboRow *calendar_combo_row; AdwPreferencesGroup *files_group; AdwHeaderBar *headerbar; GtkWidget *import_button; GtkWidget *placeholder_spinner; - AdwPreferencesPage *preferences_page; GtkSizeGroup *title_sizegroup; AdwToastOverlay *toast_overlay; @@ -151,7 +151,7 @@ add_file (GcalImportDialog *self, adw_preferences_group_set_title (group, basename); } - adw_preferences_page_add (self->preferences_page, group); + gtk_box_append (self->calendars_box, GTK_WIDGET (group)); self->rows = g_list_prepend (self->rows, row); gtk_widget_set_visible (self->placeholder_spinner, FALSE); @@ -170,7 +170,7 @@ setup_files (GcalImportDialog *self, self->n_files = n_files; for (i = 0; i < n_files; i++) - add_file(self, files[i], n_files > 1); + add_file (self, files[i], n_files > 1); GCAL_EXIT; } @@ -529,7 +529,7 @@ gcal_import_dialog_class_init (GcalImportDialogClass *klass) gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, headerbar); gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, import_button); gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, placeholder_spinner); - gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, preferences_page); + gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, calendars_box); gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, title_sizegroup); gtk_widget_class_bind_template_child (widget_class, GcalImportDialog, toast_overlay); diff --git a/src/gui/importer/gcal-import-dialog.ui b/src/gui/importer/gcal-import-dialog.ui index 2222b6e7..769b5ee3 100644 --- a/src/gui/importer/gcal-import-dialog.ui +++ b/src/gui/importer/gcal-import-dialog.ui @@ -2,8 +2,8 @@