diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2021-10-25 09:26:40 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2021-10-25 16:23:07 +0200 |
commit | 1eaa5c251424fa665887f147c7292542aa56b715 (patch) | |
tree | 4482bfc8294f992c6adf64acaf3c299754ff7a81 | |
parent | 81f722138c0dadf5f7f7c6020f6d6680c7435dc7 (diff) | |
download | network-manager-applet-1eaa5c251424fa665887f147c7292542aa56b715.tar.gz |
editor: scroll the VPN pagelr/vpn-scroll
Some of the VPN pages are *insanely* long, such as strongswan. Add a
scrolled window for it, so that the window still fits on the screen.
-rw-r--r-- | src/connection-editor/nm-connection-editor.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/connection-editor/nm-connection-editor.c b/src/connection-editor/nm-connection-editor.c index 8436e6c7..de3c16bf 100644 --- a/src/connection-editor/nm-connection-editor.c +++ b/src/connection-editor/nm-connection-editor.c @@ -736,8 +736,10 @@ static void page_initialized (CEPage *page, GError *error, gpointer user_data) { NMConnectionEditor *editor = NM_CONNECTION_EDITOR (user_data); - GtkWidget *widget, *parent; GtkNotebook *notebook; + GtkWidget *parent; + GtkWidget *scrolled; + GtkWidget *widget; GtkWidget *label; GList *children, *iter; gpointer order, child_order; @@ -755,11 +757,29 @@ page_initialized (CEPage *page, GError *error, gpointer user_data) /* Add the page to the UI */ notebook = GTK_NOTEBOOK (gtk_builder_get_object (editor->builder, "notebook")); label = gtk_label_new (ce_page_get_title (page)); + widget = ce_page_get_page (page); parent = gtk_widget_get_parent (widget); if (parent) gtk_container_remove (GTK_CONTAINER (parent), widget); + if (CE_IS_PAGE_VPN (page)) { + if (ce_page_vpn_can_export (CE_PAGE_VPN (page))) + gtk_widget_show (editor->export_button); + + scrolled = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_container_add (GTK_CONTAINER (scrolled), widget); + gtk_widget_show (scrolled); + widget = scrolled; + +#if GTK_CHECK_VERSION(3,22,0) + NM_LIBNM_COMPAT_UNDEPRECATE ( + gtk_scrolled_window_set_propagate_natural_height (GTK_SCROLLED_WINDOW (scrolled), + TRUE)); +#endif + } + order = g_object_get_data (G_OBJECT (page), ORDER_TAG); g_object_set_data (G_OBJECT (widget), ORDER_TAG, order); @@ -773,9 +793,6 @@ page_initialized (CEPage *page, GError *error, gpointer user_data) gtk_notebook_insert_page (notebook, widget, label, i); - if (CE_IS_PAGE_VPN (page) && ce_page_vpn_can_export (CE_PAGE_VPN (page))) - gtk_widget_show (editor->export_button); - /* Move the page from the initializing list to the main page list */ editor->initializing_pages = g_slist_remove (editor->initializing_pages, page); editor->pages = g_slist_append (editor->pages, page); |