From af3258a39f7cc4eb0230aa32d4f7e2dd44a6782f Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 16 Oct 2015 11:05:30 +0200 Subject: [PATCH] Pack address book importers' selector into a scrollable window Thus when a user has defined many address books the import wizard window doesn't grow in size, even out of desktop size limit. --- addressbook/importers/evolution-csv-importer.c | 12 ++++++++++-- addressbook/importers/evolution-ldif-importer.c | 12 ++++++++++-- addressbook/importers/evolution-vcard-importer.c | 12 ++++++++++-- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/addressbook/importers/evolution-csv-importer.c b/addressbook/importers/evolution-csv-importer.c index 89d158348a..813f324c28 100644 --- a/addressbook/importers/evolution-csv-importer.c +++ b/addressbook/importers/evolution-csv-importer.c @@ -769,7 +769,7 @@ csv_getwidget (EImport *ei, EImportImporter *im) { EShell *shell; - GtkWidget *vbox, *selector; + GtkWidget *vbox, *selector, *scrolled_window; ESourceRegistry *registry; ESource *primary; const gchar *extension_name; @@ -779,10 +779,18 @@ csv_getwidget (EImport *ei, shell = e_shell_get_default (); registry = e_shell_get_registry (shell); extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK; + + scrolled_window = gtk_scrolled_window_new (NULL, NULL); + g_object_set (G_OBJECT (scrolled_window), + "hscrollbar-policy", GTK_POLICY_AUTOMATIC, + "vscrollbar-policy", GTK_POLICY_AUTOMATIC, + NULL); + gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 6); + selector = e_source_selector_new (registry, extension_name); e_source_selector_set_show_toggles ( E_SOURCE_SELECTOR (selector), FALSE); - gtk_box_pack_start (GTK_BOX (vbox), selector, FALSE, TRUE, 6); + gtk_container_add (GTK_CONTAINER (scrolled_window), selector); primary = g_datalist_get_data (&target->data, "csv-source"); if (primary == NULL) { diff --git a/addressbook/importers/evolution-ldif-importer.c b/addressbook/importers/evolution-ldif-importer.c index ac616cc09a..9fa693199d 100644 --- a/addressbook/importers/evolution-ldif-importer.c +++ b/addressbook/importers/evolution-ldif-importer.c @@ -571,7 +571,7 @@ ldif_getwidget (EImport *ei, EImportImporter *im) { EShell *shell; - GtkWidget *vbox, *selector; + GtkWidget *vbox, *selector, *scrolled_window; ESourceRegistry *registry; ESource *primary; const gchar *extension_name; @@ -581,10 +581,18 @@ ldif_getwidget (EImport *ei, shell = e_shell_get_default (); registry = e_shell_get_registry (shell); extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK; + + scrolled_window = gtk_scrolled_window_new (NULL, NULL); + g_object_set (G_OBJECT (scrolled_window), + "hscrollbar-policy", GTK_POLICY_AUTOMATIC, + "vscrollbar-policy", GTK_POLICY_AUTOMATIC, + NULL); + gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 6); + selector = e_source_selector_new (registry, extension_name); e_source_selector_set_show_toggles ( E_SOURCE_SELECTOR (selector), FALSE); - gtk_box_pack_start (GTK_BOX (vbox), selector, FALSE, TRUE, 6); + gtk_container_add (GTK_CONTAINER (scrolled_window), selector); primary = g_datalist_get_data (&target->data, "ldif-source"); if (primary == NULL) { diff --git a/addressbook/importers/evolution-vcard-importer.c b/addressbook/importers/evolution-vcard-importer.c index b6a3abc439..2d3ba85145 100644 --- a/addressbook/importers/evolution-vcard-importer.c +++ b/addressbook/importers/evolution-vcard-importer.c @@ -376,7 +376,7 @@ vcard_getwidget (EImport *ei, EImportImporter *im) { EShell *shell; - GtkWidget *vbox, *selector; + GtkWidget *vbox, *selector, *scrolled_window; ESourceRegistry *registry; ESource *primary; const gchar *extension_name; @@ -386,10 +386,18 @@ vcard_getwidget (EImport *ei, shell = e_shell_get_default (); registry = e_shell_get_registry (shell); extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK; + + scrolled_window = gtk_scrolled_window_new (NULL, NULL); + g_object_set (G_OBJECT (scrolled_window), + "hscrollbar-policy", GTK_POLICY_AUTOMATIC, + "vscrollbar-policy", GTK_POLICY_AUTOMATIC, + NULL); + gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 6); + selector = e_source_selector_new (registry, extension_name); e_source_selector_set_show_toggles ( E_SOURCE_SELECTOR (selector), FALSE); - gtk_box_pack_start (GTK_BOX (vbox), selector, FALSE, TRUE, 6); + gtk_container_add (GTK_CONTAINER (scrolled_window), selector); primary = g_datalist_get_data (&target->data, "vcard-source"); if (primary == NULL) {