Make IPv4/v6 pages drive the scrolledwindow adjustments

rhbz#1671709
This commit is contained in:
Felipe Borges 2021-03-12 15:23:02 +01:00
parent 5429675648
commit 2f3251fe12
2 changed files with 122 additions and 1 deletions

View File

@ -0,0 +1,115 @@
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

View File

@ -13,7 +13,7 @@
Name: gnome-control-center Name: gnome-control-center
Version: 40~beta Version: 40~beta
Release: 5%{?dist} Release: 6%{?dist}
Summary: Utilities to configure the GNOME desktop Summary: Utilities to configure the GNOME desktop
License: GPLv2+ and CC-BY-SA License: GPLv2+ and CC-BY-SA
@ -27,6 +27,9 @@ Patch1: fix-language-chooser.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1932674 # https://bugzilla.redhat.com/show_bug.cgi?id=1932674
# https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/963 # https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/963
Patch2: 0001-network-connection-editor-Fixup-creation-of-the-netm.patch Patch2: 0001-network-connection-editor-Fixup-creation-of-the-netm.patch
# https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/966
Patch3: 0001-network-Make-IPv4-v6-scroll-when-the-focus-moves-dow.patch
BuildRequires: chrpath BuildRequires: chrpath
BuildRequires: cups-devel BuildRequires: cups-devel
@ -210,6 +213,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center
%dir %{_datadir}/gnome/wm-properties %dir %{_datadir}/gnome/wm-properties
%changelog %changelog
* Fri Mar 19 2021 Felipe Borges <feborges@redhat.com> - 40~beta-6
- Make IPv4/v6 pages drive the scrolledwindow (rhbz#1671709)
* Wed Mar 10 2021 Michael Catanzaro <mcatanzaro@redhat.com> - 40~beta-5 * Wed Mar 10 2021 Michael Catanzaro <mcatanzaro@redhat.com> - 40~beta-5
- Refresh distro logo patch - Refresh distro logo patch
- Drop Recommends: vino, let vino die! - Drop Recommends: vino, let vino die!