gnome-control-center/0001-network-Make-IPv4-v6-scroll-when-the-focus-moves-dow.patch
2021-03-19 13:28:54 +01:00

116 lines
5.7 KiB
Diff

From 145ac84f3b1a9d98e80a4304dd9dce5d7261b232 Mon Sep 17 00:00:00 2001
From: Felipe Borges <felipeborges@gnome.org>
Date: Fri, 12 Mar 2021 10:50:44 +0100
Subject: [PATCH] network: Make IPv4/v6 scroll when the focus moves down the
tab
---
panels/network/connection-editor/ce-page-ip4.c | 5 +++++
panels/network/connection-editor/ce-page-ip6.c | 5 +++++
panels/network/connection-editor/connection-editor.ui | 1 -
panels/network/connection-editor/ip4-page.ui | 2 +-
panels/network/connection-editor/ip6-page.ui | 2 +-
5 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/panels/network/connection-editor/ce-page-ip4.c b/panels/network/connection-editor/ce-page-ip4.c
index 6de6ce607..140dedd75 100644
--- a/panels/network/connection-editor/ce-page-ip4.c
+++ b/panels/network/connection-editor/ce-page-ip4.c
@@ -50,6 +50,7 @@ struct _CEPageIP4
GtkRadioButton *disabled_radio;
GtkEntry *dns_entry;
GtkRadioButton *local_radio;
+ GtkGrid *main_box;
GtkRadioButton *manual_radio;
GtkCheckButton *never_default_check;
GtkBox *routes_box;
@@ -469,6 +470,9 @@ connect_ip4_page (CEPageIP4 *self)
const gchar *str_method;
guint method;
+ gtk_container_set_focus_vadjustment (GTK_CONTAINER (self->main_box),
+ gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self)));
+
add_address_box (self);
add_dns_section (self);
add_routes_box (self);
@@ -783,6 +787,7 @@ ce_page_ip4_class_init (CEPageIP4Class *klass)
gtk_widget_class_bind_template_child (widget_class, CEPageIP4, disabled_radio);
gtk_widget_class_bind_template_child (widget_class, CEPageIP4, dns_entry);
gtk_widget_class_bind_template_child (widget_class, CEPageIP4, local_radio);
+ gtk_widget_class_bind_template_child (widget_class, CEPageIP4, main_box);
gtk_widget_class_bind_template_child (widget_class, CEPageIP4, manual_radio);
gtk_widget_class_bind_template_child (widget_class, CEPageIP4, never_default_check);
gtk_widget_class_bind_template_child (widget_class, CEPageIP4, routes_box);
diff --git a/panels/network/connection-editor/ce-page-ip6.c b/panels/network/connection-editor/ce-page-ip6.c
index 2fb61394c..06e1842b5 100644
--- a/panels/network/connection-editor/ce-page-ip6.c
+++ b/panels/network/connection-editor/ce-page-ip6.c
@@ -51,6 +51,7 @@ struct _CEPageIP6
GtkRadioButton *disabled_radio;
GtkEntry *dns_entry;
GtkRadioButton *local_radio;
+ GtkGrid *main_box;
GtkRadioButton *manual_radio;
GtkCheckButton *never_default_check;
GtkBox *routes_box;
@@ -443,6 +444,9 @@ connect_ip6_page (CEPageIP6 *self)
const gchar *str_method;
guint method;
+ gtk_container_set_focus_vadjustment (GTK_CONTAINER (self->main_box),
+ gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self)));
+
add_address_box (self);
add_dns_section (self);
add_routes_box (self);
@@ -756,6 +760,7 @@ ce_page_ip6_class_init (CEPageIP6Class *klass)
gtk_widget_class_bind_template_child (widget_class, CEPageIP6, disabled_radio);
gtk_widget_class_bind_template_child (widget_class, CEPageIP6, dns_entry);
gtk_widget_class_bind_template_child (widget_class, CEPageIP6, local_radio);
+ gtk_widget_class_bind_template_child (widget_class, CEPageIP6, main_box);
gtk_widget_class_bind_template_child (widget_class, CEPageIP6, manual_radio);
gtk_widget_class_bind_template_child (widget_class, CEPageIP6, never_default_check);
gtk_widget_class_bind_template_child (widget_class, CEPageIP6, routes_box);
diff --git a/panels/network/connection-editor/connection-editor.ui b/panels/network/connection-editor/connection-editor.ui
index 746e86b1c..6a83f134e 100644
--- a/panels/network/connection-editor/connection-editor.ui
+++ b/panels/network/connection-editor/connection-editor.ui
@@ -42,7 +42,6 @@
<child>
<object class="GtkStack" id="toplevel_stack">
<property name="visible">True</property>
- <property name="can_focus">True</property>
<child>
<object class="GtkSpinner" id="spinner">
<property name="visible">True</property>
diff --git a/panels/network/connection-editor/ip4-page.ui b/panels/network/connection-editor/ip4-page.ui
index c390eb8dc..714036b55 100644
--- a/panels/network/connection-editor/ip4-page.ui
+++ b/panels/network/connection-editor/ip4-page.ui
@@ -10,7 +10,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkGrid">
+ <object class="GtkGrid" id="main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_start">24</property>
diff --git a/panels/network/connection-editor/ip6-page.ui b/panels/network/connection-editor/ip6-page.ui
index 2234cd1f4..06044c468 100644
--- a/panels/network/connection-editor/ip6-page.ui
+++ b/panels/network/connection-editor/ip6-page.ui
@@ -10,7 +10,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkGrid">
+ <object class="GtkGrid" id="main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_start">24</property>
--
2.28.0