network: Port Wi-Fi panel

This commit is contained in:
Alice Mikhaylenko 2023-07-31 10:54:54 +04:00 committed by Felipe Borges
parent b21991d002
commit f461053753

View file

@ -1,220 +1,230 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<interface> <interface>
<template class="CcWifiPanel" parent="CcPanel"> <template class="CcWifiPanel" parent="CcPanel">
<child type="titlebar"> <child type="titlebar">
<object class="AdwHeaderBar" id="titlebar"> <object class="GtkHeaderBar">
<property name="show-end-title-buttons">True</property> <property name="visible">False</property>
<property name="show-start-title-buttons" bind-source="CcWifiPanel" bind-property="folded" bind-flags="default|sync-create" />
<child type="start">
<object class="GtkButton">
<property name="tooltip-text" translatable="yes">Back</property>
<property name="visible" bind-source="CcWifiPanel" bind-property="folded" bind-flags="default|sync-create" />
<property name="icon-name">go-previous-symbolic</property>
<property name="action-name">window.navigate</property>
<property name="action-target">0</property> <!-- 0: ADW_NAVIGATION_DIRECTION_BACK -->
<accessibility>
<property name="label" translatable="yes">Back</property>
</accessibility>
</object>
</child>
<!-- Center Widget -->
<property name="title-widget">
<object class="GtkStack" id="center_stack">
<property name="halign">center</property>
<property name="hhomogeneous">False</property>
<child>
<object class="GtkStackPage">
<property name="name">many</property>
<property name="child">
<object class="GtkStackSwitcher">
<property name="stack">stack</property>
</object>
</property>
</object>
</child>
</object>
</property>
</object> </object>
</child> </child>
<child type="content"> <child type="content">
<object class="AdwPreferencesPage"> <object class="AdwToolbarView">
<child> <property name="top-bar-style">raised</property>
<object class="AdwPreferencesGroup"> <child type="top">
<child> <object class="AdwHeaderBar" id="titlebar">
<object class="GtkStack" id="device_stack" /> <property name="show-end-title-buttons">True</property>
</child> <property name="show-start-title-buttons" bind-source="CcWifiPanel" bind-property="folded" bind-flags="default|sync-create" />
</object> <child type="start">
</child> <object class="GtkButton">
<property name="tooltip-text" translatable="yes">Back</property>
<!-- Airplane Mode --> <property name="visible" bind-source="CcWifiPanel" bind-property="folded" bind-flags="default|sync-create" />
<child> <property name="icon-name">go-previous-symbolic</property>
<object class="AdwPreferencesGroup" id="rfkill_widget"> <property name="action-name">window.navigate</property>
<child> <property name="action-target">0</property> <!-- 0: ADW_NAVIGATION_DIRECTION_BACK -->
<object class="AdwSwitchRow" id="rfkill_row"> <accessibility>
<property name="title" translatable="yes">Airplane Mode</property> <property name="label" translatable="yes">Back</property>
<property name="subtitle" translatable="yes">Disables Wi-Fi, Bluetooth and mobile broadband</property> </accessibility>
<signal name="notify::active" handler="rfkill_switch_notify_activate_cb" object="CcWifiPanel" swapped="yes" />
</object> </object>
</child> </child>
</object>
</child>
<!-- Wi-Fi List / No Wi-Fi Adapter / Airplane Mode Enabled --> <!-- Center Widget -->
<child> <property name="title-widget">
<object class="AdwPreferencesGroup"> <object class="GtkStack" id="center_stack">
<child> <property name="halign">center</property>
<object class="GtkStack" id="main_stack">
<property name="hhomogeneous">False</property> <property name="hhomogeneous">False</property>
<property name="vhomogeneous">False</property>
<property name="transition_type">crossfade</property>
<!-- "No Wi-Fi Adapter" page -->
<child> <child>
<object class="GtkStackPage"> <object class="GtkStackPage">
<property name="name">no-wifi-devices</property> <property name="name">many</property>
<property name="child"> <property name="child">
<object class="AdwStatusPage"> <object class="GtkStackSwitcher">
<property name="icon-name">network-wireless-no-route-symbolic</property> <property name="stack">stack</property>
<property name="title" translatable="yes">No Wi-Fi Adapter Found</property>
<property name="description" translatable="yes">Make sure you have a Wi-Fi adapter plugged and turned on</property>
</object>
</property>
</object>
</child>
<!-- "Airplane Mode" page -->
<child>
<object class="GtkStackPage">
<property name="name">airplane-mode</property>
<property name="child">
<object class="AdwStatusPage">
<property name="icon-name">airplane-mode-symbolic</property>
<property name="title" translatable="yes">Airplane Mode On</property>
<property name="description" translatable="yes">Turn off to use Wi-Fi</property>
</object> </object>
</property> </property>
</object> </object>
</child> </child>
</object>
</property>
<!-- Wi-Fi connections and devices --> </object>
</child>
<property name="content">
<object class="AdwPreferencesPage">
<child>
<object class="AdwPreferencesGroup">
<child> <child>
<object class="GtkStackPage"> <object class="GtkStack" id="device_stack" />
<property name="name">wifi-connections</property> </child>
<property name="child"> </object>
<object class="GtkBox"> </child>
<property name="orientation">vertical</property>
<child> <!-- Airplane Mode -->
<object class="GtkBox" id="hotspot_box"> <child>
<object class="AdwPreferencesGroup" id="rfkill_widget">
<child>
<object class="AdwSwitchRow" id="rfkill_row">
<property name="title" translatable="yes">Airplane Mode</property>
<property name="subtitle" translatable="yes">Disables Wi-Fi, Bluetooth and mobile broadband</property>
<signal name="notify::active" handler="rfkill_switch_notify_activate_cb" object="CcWifiPanel" swapped="yes" />
</object>
</child>
</object>
</child>
<!-- Wi-Fi List / No Wi-Fi Adapter / Airplane Mode Enabled -->
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="GtkStack" id="main_stack">
<property name="hhomogeneous">False</property>
<property name="vhomogeneous">False</property>
<property name="transition_type">crossfade</property>
<!-- "No Wi-Fi Adapter" page -->
<child>
<object class="GtkStackPage">
<property name="name">no-wifi-devices</property>
<property name="child">
<object class="AdwStatusPage">
<property name="icon-name">network-wireless-no-route-symbolic</property>
<property name="title" translatable="yes">No Wi-Fi Adapter Found</property>
<property name="description" translatable="yes">Make sure you have a Wi-Fi adapter plugged and turned on</property>
</object>
</property>
</object>
</child>
<!-- "Airplane Mode" page -->
<child>
<object class="GtkStackPage">
<property name="name">airplane-mode</property>
<property name="child">
<object class="AdwStatusPage">
<property name="icon-name">airplane-mode-symbolic</property>
<property name="title" translatable="yes">Airplane Mode On</property>
<property name="description" translatable="yes">Turn off to use Wi-Fi</property>
</object>
</property>
</object>
</child>
<!-- Wi-Fi connections and devices -->
<child>
<object class="GtkStackPage">
<property name="name">wifi-connections</property>
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<!-- Hotspot QR code -->
<child> <child>
<object class="GtkPicture" id="wifi_qr_image"> <object class="GtkBox" id="hotspot_box">
<property name="halign">center</property> <property name="orientation">vertical</property>
<property name="valign">center</property>
<property name="width-request">180</property> <!-- Hotspot QR code -->
<property name="height-request">180</property> <child>
<style> <object class="GtkPicture" id="wifi_qr_image">
<class name="frame"/> <property name="halign">center</property>
<class name="qr-image"/> <property name="valign">center</property>
</style> <property name="width-request">180</property>
<property name="height-request">180</property>
<style>
<class name="frame"/>
<class name="qr-image"/>
</style>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="margin-top">12</property>
<property name="label" translatable="yes">Wi-Fi Hotspot Active</property>
<attributes>
<attribute name="weight" value="bold" />
<attribute name="scale" value="1.8" />
</attributes>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Mobile devices can scan the QR code to connect.</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="halign">center</property>
<property name="margin-top">12</property>
<property name="label" translatable="yes">Turn Off Hotspot…</property>
<signal name="clicked" handler="hotspot_stop_clicked_cb" swapped="yes"/>
<style>
<class name="destructive-action"/>
</style>
</object>
</child>
</object> </object>
</child> </child>
<!-- Visible Networks label & spinner -->
<child> <child>
<object class="GtkLabel"> <object class="GtkBox">
<property name="margin-top">12</property>
<property name="label" translatable="yes">Wi-Fi Hotspot Active</property>
<attributes>
<attribute name="weight" value="bold" />
<attribute name="scale" value="1.8" />
</attributes>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Mobile devices can scan the QR code to connect.</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="halign">center</property>
<property name="margin-top">12</property>
<property name="label" translatable="yes">Turn Off Hotspot…</property>
<signal name="clicked" handler="hotspot_stop_clicked_cb" swapped="yes"/>
<style>
<class name="destructive-action"/>
</style>
</object>
</child>
</object>
</child>
<!-- Visible Networks label & spinner -->
<child>
<object class="GtkBox">
<property name="hexpand">True</property>
<property name="halign">start</property>
<property name="spacing">6</property>
<property name="margin_bottom">12</property>
<child>
<object class="GtkLabel" id="list_label">
<property name="label" translatable="yes">Visible Networks</property>
<property name="xalign">0.0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkSpinner" id="spinner">
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="halign">start</property>
<property name="spacing">6</property>
<property name="margin_bottom">12</property>
<child>
<object class="GtkLabel" id="list_label">
<property name="label" translatable="yes">Visible Networks</property>
<property name="xalign">0.0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkSpinner" id="spinner">
<property name="hexpand">True</property>
</object>
</child>
</object> </object>
</child> </child>
</object>
</child>
<!-- Stack with a listbox for each Wi-Fi device --> <!-- Stack with a listbox for each Wi-Fi device -->
<child> <child>
<object class="GtkStack" id="stack"> <object class="GtkStack" id="stack">
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="transition_type">crossfade</property> <property name="transition_type">crossfade</property>
<signal name="notify::visible-child-name" handler="on_stack_visible_child_changed_cb" object="CcWifiPanel" swapped="yes" /> <signal name="notify::visible-child-name" handler="on_stack_visible_child_changed_cb" object="CcWifiPanel" swapped="yes" />
</object> </object>
</child> </child>
</object>
</property>
</object> </object>
</property> </child>
</object>
</child>
<!-- "NetworkManager Not Running" page --> <!-- "NetworkManager Not Running" page -->
<child> <child>
<object class="GtkStackPage"> <object class="GtkStackPage">
<property name="name">nm-not-running</property> <property name="name">nm-not-running</property>
<property name="child"> <property name="child">
<object class="AdwStatusPage"> <object class="AdwStatusPage">
<property name="icon-name">network-wireless-disabled</property> <property name="icon-name">network-wireless-disabled</property>
<property name="title" translatable="yes">Wi-Fi Unavailable</property> <property name="title" translatable="yes">Wi-Fi Unavailable</property>
<property name="description" translatable="yes">An error has occurred and Wi-Fi cannot be used. <property name="description" translatable="yes">An error has occurred and Wi-Fi cannot be used.
Error details: NetworkManager not running.</property> Error details: NetworkManager not running.</property>
</object> </object>
</property> </property>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>
</child> </child>
</object> </object>
</child> </property>
</object> </object>
</child> </child>
</template> </template>