[gnome-control-center] bluetooth: Use AdwStatusPage
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] bluetooth: Use AdwStatusPage
- Date: Mon, 17 Jan 2022 20:34:50 +0000 (UTC)
commit fdda3e77f6b979eb335e87f9a5e3bb19e3b646cf
Author: Christopher Davis <christopherdavis gnome org>
Date: Tue Jan 4 17:51:13 2022 -0800
bluetooth: Use AdwStatusPage
libadwaita provides a widget for empty pages that we
should use in all previous places where we rolled our own.
panels/bluetooth/cc-bluetooth-panel.c | 26 +++---
panels/bluetooth/cc-bluetooth-panel.ui | 147 +++++----------------------------
2 files changed, 35 insertions(+), 138 deletions(-)
---
diff --git a/panels/bluetooth/cc-bluetooth-panel.c b/panels/bluetooth/cc-bluetooth-panel.c
index f346d36dc..971ac7ce8 100644
--- a/panels/bluetooth/cc-bluetooth-panel.c
+++ b/panels/bluetooth/cc-bluetooth-panel.c
@@ -22,6 +22,8 @@
#include <config.h>
#endif
+#include <adwaita.h>
+
#include <shell/cc-shell.h>
#include <shell/cc-object-storage.h>
#include <bluetooth-settings-widget.h>
@@ -32,12 +34,12 @@
struct _CcBluetoothPanel {
CcPanel parent_instance;
- GtkBox *airplane_box;
- GtkBox *disabled_box;
+ AdwStatusPage *airplane_page;
+ AdwStatusPage *disabled_page;
GtkSwitch *enable_switch;
GtkBox *header_box;
- GtkBox *hw_airplane_box;
- GtkBox *no_devices_box;
+ AdwStatusPage *hw_airplane_page;
+ AdwStatusPage *no_devices_page;
BluetoothSettingsWidget *settings_widget;
GtkStack *stack;
@@ -133,23 +135,23 @@ adapter_status_changed_cb (CcBluetoothPanel *self)
g_debug ("No Bluetooth available");
sensitive = FALSE;
powered = FALSE;
- page = GTK_WIDGET (self->no_devices_box);
+ page = GTK_WIDGET (self->no_devices_page);
} else if (self->hardware_airplane_mode) {
g_debug ("Bluetooth is Hard blocked");
sensitive = FALSE;
powered = FALSE;
- page = GTK_WIDGET (self->hw_airplane_box);
+ page = GTK_WIDGET (self->hw_airplane_page);
} else if (self->airplane_mode) {
g_debug ("Airplane mode is on, Wi-Fi and Bluetooth are disabled");
sensitive = FALSE;
powered = FALSE;
- page = GTK_WIDGET (self->airplane_box);
+ page = GTK_WIDGET (self->airplane_page);
} else if (self->bt_airplane_mode ||
!bluetooth_settings_widget_get_default_adapter_powered (self->settings_widget)) {
g_debug ("Default adapter is unpowered");
sensitive = TRUE;
powered = FALSE;
- page = GTK_WIDGET (self->disabled_box);
+ page = GTK_WIDGET (self->disabled_page);
} else {
g_debug ("Bluetooth is available and powered");
sensitive = TRUE;
@@ -231,12 +233,12 @@ cc_bluetooth_panel_class_init (CcBluetoothPanelClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/bluetooth/cc-bluetooth-panel.ui");
- gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, airplane_box);
- gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, disabled_box);
+ gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, airplane_page);
+ gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, disabled_page);
gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, enable_switch);
gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, header_box);
- gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, no_devices_box);
- gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, hw_airplane_box);
+ gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, no_devices_page);
+ gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, hw_airplane_page);
gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, settings_widget);
gtk_widget_class_bind_template_child (widget_class, CcBluetoothPanel, stack);
diff --git a/panels/bluetooth/cc-bluetooth-panel.ui b/panels/bluetooth/cc-bluetooth-panel.ui
index ce1ff965c..98648e63a 100644
--- a/panels/bluetooth/cc-bluetooth-panel.ui
+++ b/panels/bluetooth/cc-bluetooth-panel.ui
@@ -5,147 +5,42 @@
<child>
<object class="GtkStack" id="stack">
<child>
- <object class="GtkBox" id="no_devices_box">
- <property name="orientation">vertical</property>
- <property name="margin_top">64</property>
- <property name="margin_bottom">64</property>
- <property name="margin_start">12</property>
- <property name="margin_end">12</property>
- <property name="spacing">24</property>
- <child>
- <object class="GtkImage">
- <property name="icon_name">bluetooth-active-symbolic</property>
- <property name="pixel_size">192</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">No Bluetooth Found</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- <attribute name="scale" value="1.2"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="wrap">True</property>
- <property name="label" translatable="yes">Plug in a dongle to use Bluetooth.</property>
- </object>
- </child>
+ <object class="AdwStatusPage" id="no_devices_page">
+ <property name="icon-name">bluetooth-active-symbolic</property>
+ <property name="title" translatable="yes">No Bluetooth Found</property>
+ <property name="description" translatable="yes">Plug in a dongle to use Bluetooth.</property>
</object>
</child>
<child>
- <object class="GtkBox" id="disabled_box">
- <property name="orientation">vertical</property>
- <property name="margin_top">64</property>
- <property name="margin_bottom">64</property>
- <property name="margin_start">12</property>
- <property name="margin_end">12</property>
- <property name="spacing">24</property>
- <child>
- <object class="GtkImage">
- <property name="icon_name">bluetooth-active-symbolic</property>
- <property name="pixel_size">192</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Bluetooth Turned Off</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- <attribute name="scale" value="1.2"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="wrap">True</property>
- <property name="label" translatable="yes">Turn on to connect devices and receive file
transfers.</property>
- </object>
- </child>
+ <object class="AdwStatusPage" id="disabled_page">
+ <property name="icon-name">bluetooth-active-symbolic</property>
+ <property name="title" translatable="yes">Bluetooth Turned Off</property>
+ <property name="description" translatable="yes">Turn on to connect devices and receive file
transfers.</property>
</object>
</child>
<child>
- <object class="GtkBox" id="airplane_box">
- <property name="orientation">vertical</property>
- <property name="margin_top">64</property>
- <property name="margin_bottom">64</property>
- <property name="margin_start">12</property>
- <property name="margin_end">12</property>
- <property name="spacing">24</property>
- <child>
- <object class="GtkImage">
- <property name="icon_name">airplane-mode-symbolic</property>
- <property name="pixel_size">192</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Airplane Mode is on</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- <attribute name="scale" value="1.2"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="wrap">True</property>
- <property name="label" translatable="yes">Bluetooth is disabled when airplane mode is
on.</property>
- </object>
- </child>
- <child>
+ <object class="AdwStatusPage" id="airplane_page">
+ <property name="icon-name">airplane-mode-symbolic</property>
+ <property name="title" translatable="yes">Airplane Mode is On</property>
+ <property name="description" translatable="yes">Bluetooth is disabled when airplane mode is
on.</property>
+ <property name="child">
<object class="GtkButton">
<property name="label" translatable="yes">Turn Off Airplane Mode</property>
<property name="halign">center</property>
<property name="valign">center</property>
<signal name="clicked" handler="airplane_mode_off_button_clicked_cb"
object="CcBluetoothPanel" swapped="yes"/>
+ <style>
+ <class name="pill"/>
+ </style>
</object>
- </child>
+ </property>
</object>
</child>
<child>
- <object class="GtkBox" id="hw_airplane_box">
- <property name="orientation">vertical</property>
- <property name="margin_top">64</property>
- <property name="margin_bottom">64</property>
- <property name="margin_start">12</property>
- <property name="margin_end">12</property>
- <property name="spacing">24</property>
- <child>
- <object class="GtkImage">
- <property name="icon_name">airplane-mode-symbolic</property>
- <property name="pixel_size">192</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Hardware Airplane Mode is on</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- <attribute name="scale" value="1.2"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="wrap">True</property>
- <property name="label" translatable="yes">Turn off the Airplane mode switch to enable
Bluetooth.</property>
- </object>
- </child>
+ <object class="AdwStatusPage" id="hw_airplane_page">
+ <property name="icon-name">airplane-mode-symbolic</property>
+ <property name="title" translatable="yes">Hardware Airplane Mode is On</property>
+ <property name="description" translatable="yes">Turn off the Airplane mode switch to enable
Bluetooth.</property>
</object>
</child>
<child>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]