[gnome-control-center] network: Adjust list styling and use GtkStack for ethernet
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] network: Adjust list styling and use GtkStack for ethernet
- Date: Fri, 4 Feb 2022 18:01:47 +0000 (UTC)
commit fcc1cb9da7a1f0b2e8ce45d192a89ffb3e08911f
Author: Christopher Davis <christopherdavis gnome org>
Date: Thu Jan 27 14:07:58 2022 -0800
network: Adjust list styling and use GtkStack for ethernet
Previously we used an unstyled list for the network
connections, and we switched lists by using
GtkWidget:visbile.
This commit makes the connection list use boxed-list
styling, and adds a GtkStack.
panels/network/net-device-ethernet.c | 17 ++++++++---------
panels/network/network-ethernet.ui | 20 +++++++-------------
2 files changed, 15 insertions(+), 22 deletions(-)
---
diff --git a/panels/network/net-device-ethernet.c b/panels/network/net-device-ethernet.c
index 81e4687d9..e6b0d0ae7 100644
--- a/panels/network/net-device-ethernet.c
+++ b/panels/network/net-device-ethernet.c
@@ -38,12 +38,12 @@ struct _NetDeviceEthernet
GtkBox parent;
GtkListBox *connection_list;
+ GtkStack *connection_stack;
GtkButton *details_button;
GtkListBox *details_listbox;
AdwActionRow *details_row;
GtkLabel *device_label;
GtkSwitch *device_off_switch;
- GtkScrolledWindow *scrolled_window;
NMClient *client;
NMDevice *device;
@@ -364,24 +364,23 @@ populate_ui (NetDeviceEthernet *self)
n_connections = g_slist_length (connections);
if (n_connections > 1) {
- gtk_widget_hide (GTK_WIDGET (self->details_listbox));
for (l = connections; l; l = l->next) {
NMConnection *connection = l->data;
add_row (self, connection);
}
- gtk_widget_show (GTK_WIDGET (self->scrolled_window));
+ gtk_stack_set_visible_child (self->connection_stack,
+ GTK_WIDGET (self->connection_list));
} else if (n_connections == 1) {
connection = connections->data;
- gtk_widget_hide (GTK_WIDGET (self->scrolled_window));
- gtk_widget_show (GTK_WIDGET (self->details_listbox));
+ gtk_stack_set_visible_child (self->connection_stack,
+ GTK_WIDGET (self->details_listbox));
g_object_set_data (G_OBJECT (self->details_button), "row", self->details_button);
g_object_set_data (G_OBJECT (self->details_button), "connection", connection);
- } else {
- gtk_widget_hide (GTK_WIDGET (self->scrolled_window));
- gtk_widget_hide (GTK_WIDGET (self->details_listbox));
}
+ gtk_widget_set_visible (GTK_WIDGET (self->connection_stack), n_connections >= 1);
+
g_slist_free (connections);
}
@@ -488,12 +487,12 @@ net_device_ethernet_class_init (NetDeviceEthernetClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/network/network-ethernet.ui");
gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, connection_list);
+ gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, connection_stack);
gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, details_button);
gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, details_listbox);
gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, details_row);
gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, device_label);
gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, device_off_switch);
- gtk_widget_class_bind_template_child (widget_class, NetDeviceEthernet, scrolled_window);
gtk_widget_class_bind_template_callback (widget_class, connection_list_row_activated_cb);
gtk_widget_class_bind_template_callback (widget_class, device_off_switch_changed_cb);
diff --git a/panels/network/network-ethernet.ui b/panels/network/network-ethernet.ui
index d6efae569..312a85cbc 100644
--- a/panels/network/network-ethernet.ui
+++ b/panels/network/network-ethernet.ui
@@ -30,20 +30,14 @@
</child>
<child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
+ <object class="GtkStack" id="connection_stack">
<child>
- <object class="GtkScrolledWindow" id="scrolled_window">
- <property name="hexpand">True</property>
- <property name="hscrollbar_policy">never</property>
- <property name="vscrollbar_policy">never</property>
- <child>
- <object class="GtkListBox" id="connection_list">
- <property name="selection-mode">none</property>
- <signal name="row-activated" handler="connection_list_row_activated_cb"
object="NetDeviceEthernet" swapped="yes"/>
- </object>
- </child>
+ <object class="GtkListBox" id="connection_list">
+ <property name="selection-mode">none</property>
+ <signal name="row-activated" handler="connection_list_row_activated_cb"
object="NetDeviceEthernet" swapped="yes"/>
+ <style>
+ <class name="boxed-list" />
+ </style>
</object>
</child>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]