Merge pull request #47 from Xetibo/ina

Implement Microphone UI
This commit is contained in:
takotori 2023-11-12 17:43:39 +01:00 committed by GitHub
commit 142cc82c17
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
36 changed files with 1380 additions and 399 deletions

View file

@ -1,21 +1,19 @@
use crate::components::base::settingBoxImpl;
use adw::glib;
use adw::glib::{IsA, Object};
use glib::subclass::prelude::ObjectSubclassIsExt;
use gtk::prelude::FrameExt;
use gtk::prelude::BoxExt;
use gtk::Widget;
glib::wrapper! {
pub struct SettingBox(ObjectSubclass<settingBoxImpl::SettingBox>)
@extends gtk::Frame, gtk::Widget,
@extends gtk::Box, gtk::Widget,
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget;
}
impl SettingBox {
pub fn new(child: &impl IsA<Widget>, title: &str) -> Self {
pub fn new(child: &impl IsA<Widget>) -> Self {
let entry: SettingBox = Object::builder().build();
entry.set_child(Some(child));
entry.imp().resetSettingLabel.set_text(title);
entry.append(child);
entry
}
}

View file

@ -5,16 +5,13 @@ use crate::components::base::settingBox;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/Xetibo/ReSet/resetSettingBox.ui")]
pub struct SettingBox {
#[template_child]
pub resetSettingLabel: TemplateChild<Label>,
}
pub struct SettingBox {}
#[glib::object_subclass]
impl ObjectSubclass for SettingBox {
const NAME: &'static str = "resetSettingFrame";
const NAME: &'static str = "resetSettingBox";
type Type = settingBox::SettingBox;
type ParentType = gtk::Frame;
type ParentType = gtk::Box;
fn class_init(klass: &mut Self::Class) {
klass.bind_template();
@ -31,7 +28,7 @@ impl ObjectImpl for SettingBox {
}
}
impl FrameImpl for SettingBox {}
impl BoxImpl for SettingBox {}
impl WidgetImpl for SettingBox {}

View file

@ -1,6 +1,8 @@
use adw::glib;
use adw::glib::Object;
use adw::subclass::prelude::ObjectSubclassIsExt;
use gtk::glib::Variant;
use gtk::prelude::ActionableExt;
use crate::components::bluetooth::bluetoothBoxImpl;
use crate::components::bluetooth::bluetoothEntry::BluetoothEntry;
@ -18,6 +20,14 @@ impl BluetoothBox {
Object::builder().build()
}
pub fn setupCallbacks(&self) {
let selfImp = self.imp();
selfImp.resetVisibility.set_action_name(Some("navigation.push"));
selfImp.resetVisibility.set_action_target_value(Some(&Variant::from("visibility")));
selfImp.resetBluetoothMainTab.set_action_name(Some("navigation.pop"));
}
pub fn scanForDevices(&self) {
let selfImp = self.imp();
let mut wifiEntries = selfImp.availableDevices.borrow_mut();

View file

@ -17,6 +17,10 @@ pub struct BluetoothBox {
pub resetBluetoothAvailableDevices: TemplateChild<ListBox>,
#[template_child]
pub resetBluetoothConnectedDevices: TemplateChild<ListBox>,
#[template_child]
pub resetVisibility: TemplateChild<ListEntry>,
#[template_child]
pub resetBluetoothMainTab: TemplateChild<ListEntry>,
pub availableDevices: RefCell<Vec<ListEntry>>,
pub connectedDevices: RefCell<Vec<ListEntry>>,
}
@ -42,6 +46,7 @@ impl ObjectImpl for BluetoothBox {
fn constructed(&self) {
self.parent_constructed();
let obj = self.obj();
obj.setupCallbacks();
obj.scanForDevices();
obj.addConnectedDevices();
}

View file

@ -18,7 +18,7 @@ impl BluetoothEntry {
entryImp.resetBluetoothDeviceType.get().set_from_icon_name(match deviceType {
DeviceTypes::Mouse => Some("input-mouse-symbolic"),
DeviceTypes::Keyboard => Some("input-keyboard-symbolic"),
DeviceTypes::Headset => Some("audio-headset-symbolic"),
DeviceTypes::Headset => Some("output-headset-symbolic"),
DeviceTypes::Controller => Some("input-gaming-symbolic"),
DeviceTypes::None => Some("text-x-generic-symbolic") // no generic bluetooth device icon found
});

View file

@ -1,14 +1,14 @@
use crate::components::input::inputStreamEntryImpl;
use adw::glib;
use adw::glib::Object;
use crate::components::audio::audioBoxImpl;
glib::wrapper! {
pub struct AudioBox(ObjectSubclass<audioBoxImpl::AudioBox>)
pub struct InputStreamEntry(ObjectSubclass<inputStreamEntryImpl::InputStreamEntry>)
@extends gtk::Box, gtk::Widget,
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
}
impl AudioBox {
impl InputStreamEntry {
pub fn new() -> Self {
Object::builder().build()
}

View file

@ -0,0 +1,40 @@
use gtk::{Button, CompositeTemplate, glib, Label, ProgressBar, Scale};
use gtk::subclass::prelude::*;
use crate::components::input::inputStreamEntry;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/Xetibo/ReSet/resetInputStreamEntry.ui")]
pub struct InputStreamEntry {
#[template_child]
pub resetSourceName: TemplateChild<Label>,
#[template_child]
pub resetSourceMute: TemplateChild<Button>,
#[template_child]
pub resetVolumeSlider: TemplateChild<Scale>,
#[template_child]
pub resetVolumePercentage: TemplateChild<Label>,
#[template_child]
pub resetVolumeMeter: TemplateChild<ProgressBar>,
}
#[glib::object_subclass]
impl ObjectSubclass for InputStreamEntry {
const NAME: &'static str = "resetInputStreamEntry";
type Type = inputStreamEntry::InputStreamEntry;
type ParentType = gtk::Box;
fn class_init(klass: &mut Self::Class) {
klass.bind_template();
}
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
obj.init_template();
}
}
impl BoxImpl for InputStreamEntry {}
impl ObjectImpl for InputStreamEntry {}
impl WidgetImpl for InputStreamEntry {}

View file

@ -0,0 +1,5 @@
#![allow(non_snake_case)]
pub mod inputStreamEntry;
pub mod sourceBox;
pub mod sourceBoxImpl;
pub mod inputStreamEntryImpl;

View file

@ -0,0 +1,26 @@
use crate::components::input::sourceBoxImpl;
use adw::glib;
use adw::glib::Object;
use glib::subclass::prelude::ObjectSubclassIsExt;
use glib::Variant;
use gtk::prelude::ActionableExt;
glib::wrapper! {
pub struct SourceBox(ObjectSubclass<sourceBoxImpl::SourceBox>)
@extends gtk::Box, gtk::Widget,
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
}
impl SourceBox {
pub fn new() -> Self {
Object::builder().build()
}
pub fn setupCallbacks(&self) {
let selfImp = self.imp();
selfImp.resetSourceRow.set_action_name(Some("navigation.push"));
selfImp.resetSourceRow.set_action_target_value(Some(&Variant::from("sources")));
selfImp.resetInputStreamButton.set_action_name(Some("navigation.pop"));
}
}

View file

@ -0,0 +1,52 @@
use gtk::{CompositeTemplate, DropDown, TemplateChild, glib};
use gtk::prelude::*;
use gtk::subclass::prelude::*;
use crate::components::base::listEntry::ListEntry;
use crate::components::input::inputStreamEntry::InputStreamEntry;
use crate::components::input::sourceBox;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/Xetibo/ReSet/resetMicrophone.ui")]
pub struct SourceBox {
#[template_child]
pub resetSourceDropdown: TemplateChild<DropDown>,
#[template_child]
pub resetSourceRow: TemplateChild<ListEntry>,
#[template_child]
pub resetInputStreamButton: TemplateChild<ListEntry>,
}
#[glib::object_subclass]
impl ObjectSubclass for SourceBox {
const NAME: &'static str = "resetMicrophone";
type Type = sourceBox::SourceBox;
type ParentType = gtk::Box;
fn class_init(klass: &mut Self::Class) {
InputStreamEntry::ensure_type();
ListEntry::ensure_type();
klass.bind_template();
}
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
obj.init_template();
}
}
impl BoxImpl for SourceBox {}
impl ObjectImpl for SourceBox {
fn constructed(&self) {
let obj = self.obj();
obj.setupCallbacks();
}
}
impl ListBoxRowImpl for SourceBox {}
impl WidgetImpl for SourceBox {}
impl WindowImpl for SourceBox {}
impl ApplicationWindowImpl for SourceBox {}

View file

@ -1,5 +1,6 @@
pub mod window;
pub mod wifi;
pub mod bluetooth;
pub mod audio;
mod base;
pub mod output;
mod base;
mod input;

View file

@ -0,0 +1,27 @@
use adw::glib;
use adw::glib::Object;
use glib::subclass::prelude::ObjectSubclassIsExt;
use glib::Variant;
use gtk::prelude::ActionableExt;
use crate::components::base::listEntry::ListEntry;
use crate::components::output::audioBoxImpl;
glib::wrapper! {
pub struct AudioBox(ObjectSubclass<audioBoxImpl::AudioBox>)
@extends gtk::Box, gtk::Widget,
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
}
impl AudioBox {
pub fn new() -> Self {
Object::builder().build()
}
pub fn setupCallbacks(&self) {
let selfImp = self.imp();
selfImp.resetSinksRow.set_action_name(Some("navigation.push"));
selfImp.resetSinksRow.set_action_target_value(Some(&Variant::from("outputDevices")));
selfImp.resetOutputStreamButton.set_action_name(Some("navigation.pop"));
}
}

View file

@ -1,8 +1,9 @@
use gtk::{CompositeTemplate, DropDown, TemplateChild, glib};
use gtk::{CompositeTemplate, DropDown, TemplateChild, glib, Button};
use gtk::prelude::*;
use gtk::subclass::prelude::*;
use crate::components::audio::audioBox;
use crate::components::audio::audioSource::AudioSourceEntry;
use crate::components::output::audioBox;
use crate::components::output::audioSource::AudioSourceEntry;
use crate::components::base::listEntry::ListEntry;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
@ -10,6 +11,10 @@ use crate::components::audio::audioSource::AudioSourceEntry;
pub struct AudioBox {
#[template_child]
pub resetOutputDevice: TemplateChild<DropDown>,
#[template_child]
pub resetSinksRow: TemplateChild<ListEntry>,
#[template_child]
pub resetOutputStreamButton: TemplateChild<ListEntry>,
}
@ -21,6 +26,7 @@ impl ObjectSubclass for AudioBox {
fn class_init(klass: &mut Self::Class) {
AudioSourceEntry::ensure_type();
ListEntry::ensure_type();
klass.bind_template();
}
@ -31,7 +37,12 @@ impl ObjectSubclass for AudioBox {
impl BoxImpl for AudioBox {}
impl ObjectImpl for AudioBox {}
impl ObjectImpl for AudioBox {
fn constructed(&self) {
let obj = self.obj();
obj.setupCallbacks();
}
}
impl ListBoxRowImpl for AudioBox {}

View file

@ -1,6 +1,6 @@
use adw::glib;
use adw::glib::Object;
use crate::components::audio::audioSourceImpl;
use crate::components::output::audioSourceImpl;
glib::wrapper! {
pub struct AudioSourceEntry(ObjectSubclass<audioSourceImpl::AudioSourceEntry>)

View file

@ -1,13 +1,11 @@
use gtk::{Button, CompositeTemplate, glib, Image, Label, ProgressBar, Scale};
use gtk::subclass::prelude::*;
use crate::components::audio::audioSource;
use crate::components::output::audioSource;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/Xetibo/ReSet/resetAudioSourceEntry.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetOutputStreamEntry.ui")]
pub struct AudioSourceEntry {
#[template_child]
pub resetSourceIcon: TemplateChild<Image>,
#[template_child]
pub resetSourceName: TemplateChild<Label>,
#[template_child]
@ -22,7 +20,7 @@ pub struct AudioSourceEntry {
#[glib::object_subclass]
impl ObjectSubclass for AudioSourceEntry {
const NAME: &'static str = "resetAudioSourceEntry";
const NAME: &'static str = "resetOutputStreamEntry";
type Type = audioSource::AudioSourceEntry;
type ParentType = gtk::Box;

View file

@ -1,24 +1,22 @@
use std::collections::HashMap;
use std::sync::mpsc::{channel, Receiver, Sender};
use std::sync::{atomic::AtomicBool, Arc, Weak};
use std::thread;
use std::sync::{atomic::AtomicBool, Arc};
use std::time::Duration;
use crate::components::base::listEntry::ListEntry;
use adw::glib;
use adw::glib::Object;
use adw::prelude::{BoxExt, ButtonExt, ListBoxRowExt};
use adw::prelude::{BoxExt, ListBoxRowExt};
use adw::subclass::prelude::ObjectSubclassIsExt;
use dbus::arg::RefArg;
use dbus::blocking::Connection;
use dbus::Error;
use dbus::Path;
use gtk::glib::Variant;
use gtk::prelude::ActionableExt;
use gtk::{Button, Label, Orientation};
use ReSet_Lib::network::network::{AccessPoint, WifiStrength};
use ReSet_Lib::signals::{
AccessPointAdded, AccessPointRemoved, BluetoothDeviceAdded, BluetoothDeviceRemoved,
};
use ReSet_Lib::network::network::AccessPoint;
use ReSet_Lib::signals::AccessPointAdded;
use ReSet_Lib::signals::AccessPointRemoved;
use ReSet_Lib::utils::Events;
use crate::components::wifi::wifiBoxImpl;
@ -26,6 +24,8 @@ use crate::components::wifi::wifiEntry::WifiEntry;
use super::savedWifiEntry::SavedWifiEntry;
use ReSet_Lib::network::connection::Connection as ResetConnection;
glib::wrapper! {
pub struct WifiBox(ObjectSubclass<wifiBoxImpl::WifiBox>)
@extends gtk::Box, gtk::Widget,
@ -42,9 +42,10 @@ impl WifiBox {
pub fn setupCallbacks(&self) {
let selfImp = self.imp();
selfImp.resetSavedNetworks.set_action_name(Some("navigation.push"));
selfImp.resetSavedNetworks.set_action_target_value(Some(&Variant::from("saved")))
selfImp.resetSavedNetworks.set_action_target_value(Some(&Variant::from("saved")));
selfImp.resetAvailableNetworks.set_action_name(Some("navigation.pop"));
}
// pub fn donotdisturb() {
@ -173,3 +174,25 @@ pub async fn get_stored_connections() -> Vec<(Path<'static>, Vec<u8>)> {
dbg!(connections.clone());
connections
}
pub fn getConnectionSettings(path: Path<'static>) -> Option<ResetConnection> {
let conn = Connection::new_session().unwrap();
let proxy = conn.with_proxy(
"org.xetibo.ReSet",
"/org/xetibo/ReSet",
Duration::from_millis(1000),
);
let res: Result<(HashMap<String, HashMap<String, dbus::arg::Variant<Box<dyn RefArg>>>,>,), Error> =
proxy.method_call("org.xetibo.ReSet", "GetConnectionSettings", (path,));
if res.is_err() {
println!("lol not work");
return None;
}
let (res,) = res.unwrap();
let res = ResetConnection::convert_from_propmap(res);
if res.is_err() {
println!("lol none");
return None;
}
Some(res.unwrap())
}

View file

@ -1,6 +1,5 @@
use std::cell::RefCell;
use std::sync::{Arc, Mutex};
use gtk::{Button, CompositeTemplate, glib, ListBox, Switch};
use gtk::{CompositeTemplate, glib, ListBox, Switch};
use gtk::prelude::*;
use gtk::subclass::prelude::*;
use crate::components::wifi::wifiBox;
@ -8,8 +7,6 @@ use crate::components::wifi::wifiBox;
use crate::components::wifi::wifiEntry::WifiEntry;
use crate::components::base::listEntry::ListEntry;
use super::wifiBox::scanForWifi;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/Xetibo/ReSet/resetWiFi.ui")]
@ -17,8 +14,6 @@ pub struct WifiBox {
#[template_child]
pub resetWifiDetails: TemplateChild<ListBox>,
#[template_child]
pub resetWifiSwitchRow: TemplateChild<ListEntry>,
#[template_child]
pub resetSavedNetworks: TemplateChild<ListEntry>,
#[template_child]
pub resetWifiSwitch: TemplateChild<Switch>,
@ -26,6 +21,8 @@ pub struct WifiBox {
pub resetWifiList: TemplateChild<ListBox>,
#[template_child]
pub resetStoredWifiList: TemplateChild<ListBox>,
#[template_child]
pub resetAvailableNetworks: TemplateChild<ListEntry>,
pub wifiEntries: Arc<Mutex<Vec<ListEntry>>>,
pub savedWifiEntries: Arc<Mutex<Vec<ListEntry>>>,
}

View file

@ -1,19 +1,21 @@
use crate::components::base::popup::{self, Popup};
use crate::components::wifi::wifiEntryImpl;
use std::sync::Arc;
use std::sync::atomic::AtomicBool;
use std::time::Duration;
use adw::glib;
use adw::glib::{Object, PropertySet};
use adw::prelude::{ButtonExt, EditableExt, EntryExt, PopoverExt};
use adw::subclass::prelude::ObjectSubclassIsExt;
use dbus::blocking::Connection;
use dbus::Error;
use glib::{clone, Cast};
use glib::{Cast, clone};
use gtk::{AlertDialog, GestureClick};
use gtk::prelude::WidgetExt;
use gtk::{AlertDialog, Editable, GestureClick, PasswordEntry, PasswordEntryBuffer, Window};
use std::sync::atomic::AtomicBool;
use std::sync::Arc;
use std::time::Duration;
use ReSet_Lib::network::network::{AccessPoint, WifiStrength};
use crate::components::wifi::wifiBox::getConnectionSettings;
use crate::components::wifi::wifiEntryImpl;
glib::wrapper! {
pub struct WifiEntry(ObjectSubclass<wifiEntryImpl::WifiEntry>)
@extends gtk::Box, gtk::Widget,
@ -75,6 +77,15 @@ impl WifiEntry {
entry.add_controller(gesture);
entry
}
pub fn setupCallbacks(&self) {
let selfImp = self.imp();
selfImp.resetWifiEditButton.connect_clicked(clone!(@ weak selfImp => move |_| {
// TODO open navigationpage
let option = getConnectionSettings(selfImp.accessPoint.borrow().associated_connection.clone());
dbg!(option);
}));
}
}
pub fn click_stored_network(entry: Arc<WifiEntry>) {

View file

@ -16,7 +16,7 @@ pub struct WifiEntry {
#[template_child]
pub resetWifiLabel: TemplateChild<Label>,
#[template_child]
pub resetWifiButton: TemplateChild<Button>,
pub resetWifiEditButton: TemplateChild<Button>,
#[template_child]
pub resetWifiConnected: TemplateChild<Image>,
#[template_child]
@ -49,6 +49,9 @@ impl ObjectSubclass for WifiEntry {
impl ObjectImpl for WifiEntry {
fn constructed(&self) {
self.parent_constructed();
let obj = self.obj();
obj.setupCallbacks();
}
}

View file

@ -1,39 +1,40 @@
use gtk::prelude::FrameExt;
use std::sync::Arc;
use crate::components::audio::audioBox::AudioBox;
use crate::components::output::audioBox::AudioBox;
use crate::components::base::settingBox::SettingBox;
use crate::components::bluetooth::bluetoothBox::BluetoothBox;
use crate::components::wifi::wifiBox::{scanForWifi, show_stored_connections, WifiBox};
use adw::prelude::ButtonExt;
use glib::clone;
use glib::subclass::types::ObjectSubclassIsExt;
use gtk::{FlowBox, Label};
use gtk::{FlowBox, Frame, Label,};
use gtk::prelude::WidgetExt;
use crate::components::input::sourceBox;
use crate::components::input::sourceBox::SourceBox;
pub const HANDLE_CONNECTIVITY_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let wifiBox = Arc::new(WifiBox::new());
show_stored_connections(wifiBox.clone());
scanForWifi(wifiBox.clone());
let wifiBox = SettingBox::new(&*wifiBox, "WiFi");
let bluetoothBox = SettingBox::new(&BluetoothBox::new(), "Bluetooth");
let wifiFrame = wrapInFrame(SettingBox::new(&*wifiBox));
let bluetoothFrame = wrapInFrame(SettingBox::new(&BluetoothBox::new()));
resetMain.remove_all();
resetMain.insert(&wifiBox, -1);
resetMain.insert(&bluetoothBox, -1);
resetMain.insert(&wifiFrame, -1);
resetMain.insert(&bluetoothFrame, -1);
resetMain.set_max_children_per_line(2);
};
pub const HANDLE_WIFI_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let wifiBox = Arc::new(WifiBox::new());
scanForWifi(wifiBox.clone());
let wifiBox = SettingBox::new(&*wifiBox, "WiFi");
let wifiFrame = wrapInFrame(SettingBox::new(&*wifiBox));
resetMain.remove_all();
resetMain.insert(&wifiBox, -1);
resetMain.insert(&wifiFrame, -1);
resetMain.set_max_children_per_line(1);
};
pub const HANDLE_BLUETOOTH_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let bluetoothBox = SettingBox::new(&BluetoothBox::new(), "Bluetooth");
let bluetoothFrame = wrapInFrame(SettingBox::new(&BluetoothBox::new()));
resetMain.remove_all();
resetMain.insert(&bluetoothBox, -1);
resetMain.insert(&bluetoothFrame, -1);
resetMain.set_max_children_per_line(1);
};
@ -45,23 +46,25 @@ pub const HANDLE_VPN_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
};
pub const HANDLE_AUDIO_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let audioBox = SettingBox::new(&AudioBox::new(), "Audio");
let audioFrame = wrapInFrame(SettingBox::new(&AudioBox::new()));
let sourceFrame = wrapInFrame(SettingBox::new(&SourceBox::new()));
resetMain.remove_all();
resetMain.insert(&audioBox, -1);
resetMain.set_max_children_per_line(1);
resetMain.insert(&audioFrame, -1);
resetMain.insert(&sourceFrame, -1);
resetMain.set_max_children_per_line(2);
};
pub const HANDLE_VOLUME_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let audioBox = SettingBox::new(&AudioBox::new(), "Audio");
let audioFrame = wrapInFrame(SettingBox::new(&AudioBox::new()));
resetMain.remove_all();
resetMain.insert(&audioBox, -1);
resetMain.insert(&audioFrame, -1);
resetMain.set_max_children_per_line(1);
};
pub const HANDLE_MICROPHONE_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let label = Label::new(Some("not implemented yet"));
let sourceFrame = wrapInFrame(SettingBox::new(&SourceBox::new()));
resetMain.remove_all();
resetMain.insert(&label, -1);
resetMain.insert(&sourceFrame, -1);
resetMain.set_max_children_per_line(1);
};
@ -96,3 +99,10 @@ pub const HANDLE_KEYBOARD_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
pub const HANDLE_HOME: fn(FlowBox) = |resetMain: FlowBox| {
resetMain.remove_all();
};
fn wrapInFrame(widget: SettingBox) -> Frame {
let frame = Frame::new(None);
frame.set_child(Some(&widget));
frame.add_css_class("resetSettingFrame");
frame
}

View file

@ -165,14 +165,14 @@ impl Window {
let audioList = vec![
SidebarEntry::new(
"Volume",
"Output",
"audio-volume-high-symbolic",
Categories::Audio,
true,
HANDLE_VOLUME_CLICK,
),
SidebarEntry::new(
"Microphone",
"Input",
"audio-input-microphone-symbolic",
Categories::Audio,
true,

View file

@ -1,56 +1,210 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.6"/>
<requires lib="gtk" version="4.12"/>
<requires lib="libadwaita" version="1.4"/>
<template class="resetAudio" parent="GtkBox">
<property name="halign">center</property>
<property name="orientation">vertical</property>
<property name="valign">start</property>
<property name="width-request">400</property>
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Output Device</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetOutputDevice">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
</object>
</child>
<object class="GtkLabel">
<property name="css-classes">resetSettingLabel</property>
<property name="halign">start</property>
<property name="label">Output</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<property name="margin-bottom">5</property>
<object class="AdwNavigationView">
<child>
<object class="GtkLabel">
<property name="label">Show Applications</property>
<object class="AdwNavigationPage">
<property name="tag">output</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkListBox">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetSinksRow">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<property name="margin-start">5</property>
<child>
<object class="GtkLabel">
<property name="label">Output Device</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetOutputDevice">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">go-previous-symbolic-rtl</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="resetDefaultSink">
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="margin-bottom">5</property>
<property name="margin-top">5</property>
<child>
<object class="GtkButton" id="resetSourceMute">
<property name="icon-name">audio-volume-high-symbolic</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkScale" id="resetVolumeSlider">
<property name="adjustment">
<object class="GtkAdjustment">
<property name="page-increment">5.0</property>
<property name="upper">100.0</property>
</object>
</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
<property name="value-pos">bottom</property>
</object>
</child>
<child>
<object class="GtkLabel" id="resetVolumePercentage">
<property name="label">100%</property>
<property name="lines">1</property>
<property name="width-request">40</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkProgressBar" id="resetVolumeMeter">
<property name="margin-top">5</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparator"/>
</child>
<child>
<object class="GtkBox" id="resetOutputStreams">
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="label">Output Streams</property>
</object>
</child>
<child>
<object class="resetOutputStreamEntry" id="resetDefaultSink_2"/>
</child>
<child>
<object class="resetOutputStreamEntry" id="resetDefaultSink_3">
<property name="margin-bottom">5</property>
<property name="margin-top">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSwitch">
<property name="active">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
<object class="AdwNavigationPage">
<property name="tag">outputDevices</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkListBox">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetOutputStreamButton">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Output Streams</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="margin-end">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkLabel"/>
</child>
<child>
<object class="GtkBox" id="resetSinks">
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="label">Output Devices</property>
</object>
</child>
<child>
<object class="resetOutputStreamEntry" id="resetDefaultSink_4"/>
</child>
<child>
<object class="resetOutputStreamEntry" id="resetDefaultSink_5"/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparator"/>
</child>
<child>
<object class="resetAudioSourceEntry" id="asdf">
<property name="margin-top">5</property>
</object>
</child>
</template>
</interface>

View file

@ -17,7 +17,7 @@
</child>
<child>
<object class="GtkLabel" id="resetSourceName">
<property name="label">System Volume</property>
<property name="label">Master Volume</property>
</object>
</child>
</object>

View file

@ -1,11 +1,32 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.12"/>
<requires lib="gtk" version="4.6"/>
<requires lib="libadwaita" version="1.4"/>
<template class="resetBluetooth" parent="GtkBox">
<property name="orientation">vertical</property>
<property name="valign">start</property>
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="css-classes">resetSettingLabel</property>
<property name="label">Bluetooth</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="resetBluetoothSwitch">
<property name="active">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwNavigationView">
<child>
@ -18,27 +39,50 @@
<object class="GtkListBox" id="resetBluetoothDetails">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetBluetoothSwitchRow">
<object class="resetListBoxRow">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<property name="margin-start">5</property>
<child>
<object class="GtkLabel">
<property name="label">Bluetooth Device</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetBluetoothDevice">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="resetListBoxRow" id="resetVisibility">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Bluetooth</property>
<property name="label">Visibility Settings</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="resetBluetoothSwitch">
<property name="active">True</property>
<object class="GtkImage">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="icon-name">go-previous-symbolic-rtl</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
</object>
@ -70,6 +114,7 @@
</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
</object>
@ -104,6 +149,7 @@
</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
</object>
@ -114,38 +160,55 @@
</child>
</object>
</child>
<child>
<object class="GtkButton">
<property name="action-name">navigation.push</property>
<property name="action-target">'advanced'</property>
<property name="halign">start</property>
<property name="label">Advanced</property>
<property name="margin-top">5</property>
<property name="valign">start</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwNavigationPage">
<property name="tag">advanced</property>
<property name="tag">visibility</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="label">advanced bluetooth</property>
<object class="GtkListBox">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetBluetoothMainTab">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Main</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="margin-end">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton">
<property name="action-name">navigation.pop</property>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="label">Advanced</property>
<property name="margin-top">5</property>
<property name="valign">start</property>
<property name="label">Visibility Settings</property>
<property name="margin-start">5</property>
</object>
</child>
</object>

View file

@ -0,0 +1,68 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.12"/>
<template class="resetInputStreamEntry" parent="GtkBox">
<property name="margin-bottom">5</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="margin-bottom">5</property>
<child>
<object class="GtkLabel" id="resetSourceName">
<property name="label">text</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetSelectedSource">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="margin-bottom">5</property>
<property name="margin-top">5</property>
<child>
<object class="GtkButton" id="resetSourceMute">
<property name="icon-name">audio-input-microphone-symbolic</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkScale" id="resetVolumeSlider">
<property name="adjustment">
<object class="GtkAdjustment">
<property name="page-increment">5.0</property>
<property name="upper">100.0</property>
</object>
</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
<property name="value-pos">bottom</property>
</object>
</child>
<child>
<object class="GtkLabel" id="resetVolumePercentage">
<property name="label">100%</property>
<property name="lines">1</property>
<property name="width-request">40</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkProgressBar" id="resetVolumeMeter">
<property name="margin-top">5</property>
</object>
</child>
</template>
</interface>

View file

@ -98,18 +98,18 @@
<property name="label">Shortcuts</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetAboutButton">
<property name="has-frame">False</property>
<property name="label">About</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetPreferenceButton">
<property name="has-frame">False</property>
<property name="label">Preferences</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetAboutButton">
<property name="has-frame">False</property>
<property name="label">About</property>
</object>
</child>
</object>
</property>
</object>

View file

@ -1,57 +1,201 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.6"/>
<requires lib="gtk" version="4.12"/>
<requires lib="libadwaita" version="1.4"/>
<template class="resetMicrophone" parent="GtkBox">
<property name="halign">start</property>
<property name="orientation">vertical</property>
<property name="valign">start</property>
<property name="width-request">400</property>
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Input Device</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetOutputDevice">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
</object>
</child>
<object class="GtkLabel">
<property name="css-classes">resetSettingLabel</property>
<property name="halign">start</property>
<property name="label">Input</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<property name="margin-bottom">5</property>
<object class="AdwNavigationView">
<child>
<object class="GtkLabel">
<property name="label">Show Applications</property>
<object class="AdwNavigationPage">
<property name="tag">output</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkListBox">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetSourceRow">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<property name="margin-start">5</property>
<child>
<object class="GtkLabel">
<property name="label">Input Device</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetSourceDropdown">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">go-previous-symbolic-rtl</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="resetDefaultSource">
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="margin-bottom">5</property>
<property name="margin-top">5</property>
<child>
<object class="GtkButton" id="resetSourceMute">
<property name="icon-name">audio-input-microphone-symbolic</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkScale" id="resetVolumeSlider">
<property name="adjustment">
<object class="GtkAdjustment">
<property name="page-increment">5.0</property>
<property name="upper">100.0</property>
</object>
</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
<property name="value-pos">bottom</property>
</object>
</child>
<child>
<object class="GtkLabel" id="resetVolumePercentage">
<property name="label">100%</property>
<property name="lines">1</property>
<property name="width-request">40</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkProgressBar" id="resetVolumeMeter">
<property name="margin-top">5</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparator"/>
</child>
<child>
<object class="GtkBox" id="resetOutputStreams">
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="label">Input Streams</property>
</object>
</child>
<child>
<object class="resetInputStreamEntry"/>
</child>
<child>
<object class="resetInputStreamEntry"/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSwitch">
<property name="active">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparator"/>
</child>
<child>
<object class="GtkViewport">
<child>
<object class="resetMicEntry">
<property name="margin-top">5</property>
<object class="AdwNavigationPage">
<property name="tag">sources</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkListBox">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetInputStreamButton">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Input Streams</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="margin-end">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="resetSinks">
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="label">Input Devices</property>
</object>
</child>
<child>
<object class="resetInputStreamEntry"/>
</child>
<child>
<object class="resetInputStreamEntry"/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>

View file

@ -0,0 +1,68 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.12"/>
<template class="resetOutputStreamEntry" parent="GtkBox">
<property name="margin-bottom">5</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="margin-bottom">5</property>
<child>
<object class="GtkLabel" id="resetSourceName">
<property name="label">text</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkDropDown" id="resetSelectedSink">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="margin-bottom">5</property>
<property name="margin-top">5</property>
<child>
<object class="GtkButton" id="resetSourceMute">
<property name="icon-name">audio-volume-high-symbolic</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkScale" id="resetVolumeSlider">
<property name="adjustment">
<object class="GtkAdjustment">
<property name="page-increment">5.0</property>
<property name="upper">100.0</property>
</object>
</property>
<property name="hexpand">True</property>
<property name="valign">center</property>
<property name="value-pos">bottom</property>
</object>
</child>
<child>
<object class="GtkLabel" id="resetVolumePercentage">
<property name="label">100%</property>
<property name="lines">1</property>
<property name="width-request">40</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkProgressBar" id="resetVolumeMeter">
<property name="margin-top">5</property>
</object>
</child>
</template>
</interface>

View file

@ -4,20 +4,24 @@
<requires lib="gtk" version="4.12"/>
<template class="resetSavedWifiEntry" parent="GtkBox">
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="resetSavedWifiLabel">
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetEditSavedWifiButton">
<property name="halign">end</property>
<property name="has-frame">False</property>
<property name="hexpand">True</property>
<property name="icon-name">document-edit-symbolic</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetDeleteSavedWifiButton">
<property name="has-frame">False</property>
<property name="icon-name">user-trash-symbolic</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetEditSavedWifiButton">
<property name="has-frame">False</property>
<property name="icon-name">document-edit-symbolic</property>
</object>
</child>
<child>
<object class="GtkLabel" id="resetSavedWifiLabel"/>
</child>
</template>
</interface>

View file

@ -2,14 +2,9 @@
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.0"/>
<template class="resetSettingFrame" parent="GtkFrame">
<property name="css-classes">resetSettingFrame</property>
<template class="resetSettingBox" parent="GtkBox">
<property name="halign">center</property>
<property name="label-widget">
<object class="GtkLabel" id="resetSettingLabel">
<property name="css-classes">resetSettingLabel</property>
</object>
</property>
<property name="orientation">vertical</property>
<property name="width-request">500</property>
</template>
</interface>

View file

@ -6,13 +6,13 @@
(4,7,None,"resetWiFi.ui",None,None,None,None,None,None,None),
(5,2,None,"resetWifiEntry.ui",None,None,None,None,None,None,None),
(6,1,None,"resetSidebarEntry.ui",None,None,None,None,None,None,None),
(7,1,None,"resetAudioSourceEntry.ui",None,None,None,None,None,None,None),
(7,1,None,"resetOutputStreamEntry.ui",None,None,None,None,None,None,None),
(8,1,None,"resetAudio.ui",None,None,None,None,None,None,None),
(10,1,None,"resetBluetooth.ui",None,None,None,None,None,None,None),
(11,2,None,"resetBluetoothEntry.ui",None,None,None,None,None,None,None),
(12,1,None,"resetMicrophone.ui",None,None,None,None,None,None,None),
(13,1,None,"resetMicSourceEntry.ui",None,None,None,None,None,None,None),
(14,2,None,"resetSettingBox.ui",None,None,None,None,None,None,None),
(12,11,None,"resetMicrophone.ui",None,None,None,None,None,None,None),
(13,11,None,"resetInputStreamEntry.ui",None,None,None,None,None,None,None),
(14,3,None,"resetSettingBox.ui",None,None,None,None,None,None,None),
(15,1,None,"resetListBoxRow.ui",None,None,None,None,None,None,None),
(16,6,None,"resetPopup.ui",None,None,None,None,None,None,None),
(17,1,None,"resetSavedWifiEntry.ui",None,None,None,None,None,None,None)
@ -35,8 +35,8 @@
(3,34,"GtkBox","resetPath",25,None,None,None,3,None),
(3,35,"GtkPopoverMenu","resetPopoverMenu",33,None,None,None,-1,None),
(3,36,"GtkBox",None,35,None,None,None,-1,None),
(3,38,"GtkButton","resetPreferenceButton",36,None,None,None,2,None),
(3,39,"GtkButton","resetAboutButton",36,None,None,None,1,None),
(3,38,"GtkButton","resetPreferenceButton",36,None,None,None,1,None),
(3,39,"GtkButton","resetAboutButton",36,None,None,None,2,None),
(3,40,"GtkScrolledWindow",None,18,None,None,None,1,None),
(3,41,"GtkViewport",None,40,None,None,None,None,None),
(3,42,"GtkListBox","resetSidebarList",41,None,None,None,None,None),
@ -50,35 +50,41 @@
(3,50,"GtkLabel",None,34,None,None,None,3,None),
(3,51,"GtkButton","resetShortcutsButton",36,None,None,None,None,None),
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None),
(4,152,"AdwNavigationView",None,7,None,None,None,2,None),
(4,152,"AdwNavigationView",None,7,None,None,None,1,None),
(4,153,"AdwNavigationPage",None,152,None,None,None,None,None),
(4,154,"GtkBox",None,153,None,None,None,None,None),
(4,155,"GtkListBox","resetWifiDetails",154,None,None,None,None,None),
(4,156,"resetListBoxRow","resetWifiSwitchRow",155,None,None,None,None,None),
(4,157,"GtkBox",None,156,None,None,None,None,None),
(4,158,"GtkLabel",None,157,None,None,None,None,None),
(4,159,"GtkSwitch","resetWifiSwitch",157,None,None,None,1,None),
(4,160,"resetListBoxRow","resetSavedNetworks",155,None,None,None,1,None),
(4,161,"GtkBox",None,160,None,None,None,None,None),
(4,162,"GtkLabel",None,161,None,None,None,None,None),
(4,163,"GtkImage",None,161,None,None,None,1,None),
(4,164,"GtkBox",None,154,None,None,None,1,None),
(4,155,"GtkListBox","resetWifiDetails",154,None,None,None,1,None),
(4,164,"GtkBox",None,154,None,None,None,2,None),
(4,165,"GtkLabel",None,164,None,None,None,None,None),
(4,166,"GtkScrolledWindow",None,164,None,None,None,1,None),
(4,167,"GtkViewport",None,166,None,None,None,None,None),
(4,168,"GtkListBox","resetWifiList",167,None,None,None,None,None),
(4,174,"AdwNavigationPage",None,152,None,None,None,2,None),
(4,175,"GtkBox",None,174,None,None,None,None,None),
(4,178,"GtkListBox","resetStoredWifiList",175,None,None,None,3,None),
(4,179,"GtkBox",None,175,None,None,None,None,None),
(4,180,"GtkLabel",None,179,None,None,None,None,None),
(4,181,"GtkButton",None,179,None,None,None,1,None),
(4,178,"GtkListBox","resetStoredWifiList",175,None,None,None,2,None),
(4,182,"GtkBox",None,7,None,None,None,None,None),
(4,183,"GtkLabel",None,182,None,None,None,None,None),
(4,184,"GtkSwitch","resetWifiSwitch",182,None,None,None,1,None),
(4,185,"GtkListBox",None,175,None,None,None,None,None),
(4,186,"resetListBoxRow","resetAvailableNetworks",185,None,None,None,None,None),
(4,187,"GtkBox",None,186,None,None,None,None,None),
(4,188,"GtkLabel",None,187,None,None,None,None,None),
(4,189,"GtkImage",None,187,None,None,None,1,None),
(4,190,"GtkLabel",None,175,None,None,None,1,None),
(4,191,"resetListBoxRow",None,155,None,None,None,1,None),
(4,192,"GtkBox",None,191,None,None,None,None,None),
(4,193,"GtkLabel",None,192,None,None,None,None,None),
(4,194,"GtkDropDown","resetWiFiDevice",192,None,None,None,1,None),
(4,195,"resetListBoxRow","resetSavedNetworks",155,None,None,None,1,None),
(4,196,"GtkBox",None,195,None,None,None,None,None),
(4,197,"GtkLabel",None,196,None,None,None,None,None),
(4,198,"GtkImage",None,196,None,None,None,1,None),
(5,2,"GtkBox","resetWifiEntry",None,None,None,None,None,None),
(5,3,"GtkBox",None,2,None,None,None,None,None),
(5,4,"GtkImage","resetWifiStrength",3,None,None,None,None,None),
(5,5,"GtkImage","resetWifiEncrypted",3,None,None,None,1,None),
(5,6,"GtkLabel","resetWifiLabel",2,None,None,None,1,None),
(5,7,"GtkButton","resetWifiButton",2,None,None,None,4,None),
(5,7,"GtkButton","resetWifiEditButton",2,None,None,None,4,None),
(5,8,"GtkImage","resetWifiConnected",2,None,None,None,3,None),
(5,10,"GtkImage","resetWifiStored",2,None,None,None,2,None),
(5,11,"resetPopup","resetWifiPopup",2,None,None,None,-1,None),
@ -86,75 +92,134 @@
(6,2,"GtkBox",None,1,None,None,None,-1,None),
(6,6,"GtkImage","resetSidebarImage",2,None,None,None,None,None),
(6,7,"GtkLabel","resetSidebarLabel",2,None,None,None,1,None),
(7,1,"GtkBox","resetAudioSourceEntry",None,None,None,None,-1,None),
(7,1,"GtkBox","resetOutputStreamEntry",None,None,None,None,-1,None),
(7,4,"GtkProgressBar","resetVolumeMeter",1,None,None,None,2,None),
(7,5,"GtkBox",None,1,None,None,None,None,None),
(7,6,"GtkLabel","resetSourceName",5,None,None,None,1,None),
(7,7,"GtkImage","resetSourceIcon",5,None,None,None,None,None),
(7,6,"GtkLabel","resetSourceName",5,None,None,None,None,None),
(7,8,"GtkBox",None,1,None,None,None,1,None),
(7,9,"GtkScale","resetVolumeSlider",8,None,None,None,1,None),
(7,10,"GtkAdjustment",None,9,None,None,None,None,None),
(7,11,"GtkButton","resetSourceMute",8,None,None,None,None,None),
(7,12,"GtkLabel","resetVolumePercentage",8,None,None,None,2,None),
(7,13,"GtkDropDown","resetSelectedSink",5,None,None,None,1,None),
(8,1,"GtkBox","resetAudio",None,None,None,None,None,None),
(8,35,"GtkBox",None,1,None,None,None,2,None),
(8,36,"GtkLabel",None,35,None,None,None,None,None),
(8,37,"GtkDropDown","resetOutputDevice",35,None,None,None,1,None),
(8,38,"GtkBox",None,1,None,None,None,3,None),
(8,39,"GtkLabel",None,38,None,None,None,None,None),
(8,40,"GtkSwitch",None,38,None,None,None,1,None),
(8,41,"GtkSeparator",None,1,None,None,None,4,None),
(8,42,"resetAudioSourceEntry","asdf",1,None,None,None,5,None),
(8,53,"GtkLabel",None,1,None,None,None,None,None),
(8,54,"AdwNavigationView",None,1,None,None,None,1,None),
(8,55,"AdwNavigationPage",None,54,None,None,None,None,None),
(8,56,"GtkBox",None,55,None,None,None,None,None),
(8,71,"AdwNavigationPage",None,54,None,None,None,1,None),
(8,72,"GtkBox",None,71,None,None,None,None,None),
(8,73,"GtkListBox",None,56,None,None,None,None,None),
(8,74,"resetListBoxRow","resetSinksRow",73,None,None,None,None,None),
(8,75,"GtkBox",None,74,None,None,None,None,None),
(8,76,"GtkLabel",None,75,None,None,None,None,None),
(8,77,"GtkDropDown","resetOutputDevice",75,None,None,None,1,None),
(8,78,"GtkImage",None,75,None,None,None,2,None),
(8,81,"GtkLabel",None,72,None,None,None,1,None),
(8,85,"GtkBox","resetOutputStreams",56,None,None,None,4,None),
(8,86,"GtkLabel",None,85,None,None,None,None,None),
(8,87,"resetOutputStreamEntry","resetDefaultSink_2",85,None,None,None,1,None),
(8,88,"resetOutputStreamEntry","resetDefaultSink_3",85,None,None,None,2,None),
(8,89,"GtkBox","resetSinks",72,None,None,None,3,None),
(8,90,"GtkLabel",None,89,None,None,None,None,None),
(8,91,"resetOutputStreamEntry","resetDefaultSink_4",89,None,None,None,1,None),
(8,92,"resetOutputStreamEntry","resetDefaultSink_5",89,None,None,None,2,None),
(8,93,"GtkBox","resetDefaultSink",56,None,None,None,2,None),
(8,97,"GtkBox",None,93,None,None,None,None,None),
(8,98,"GtkButton","resetSourceMute",97,None,None,None,None,None),
(8,99,"GtkScale","resetVolumeSlider",97,None,None,None,1,None),
(8,100,"GtkAdjustment",None,99,None,None,None,None,None),
(8,101,"GtkLabel","resetVolumePercentage",97,None,None,None,2,None),
(8,102,"GtkProgressBar","resetVolumeMeter",93,None,None,None,1,None),
(8,103,"GtkSeparator",None,56,None,None,None,3,None),
(8,109,"GtkListBox",None,72,None,None,None,None,None),
(8,110,"resetListBoxRow","resetOutputStreamButton",109,None,None,None,None,None),
(8,111,"GtkBox",None,110,None,None,None,None,None),
(8,112,"GtkLabel",None,111,None,None,None,None,None),
(8,113,"GtkImage",None,111,None,None,None,1,None),
(10,1,"GtkBox","resetBluetooth",None,None,None,None,None,None),
(10,119,"AdwNavigationView",None,1,None,None,None,2,None),
(10,119,"AdwNavigationView",None,1,None,None,None,1,None),
(10,120,"AdwNavigationPage",None,119,None,None,None,None,None),
(10,121,"GtkBox",None,120,None,None,None,None,None),
(10,122,"GtkListBox","resetBluetoothDetails",121,None,None,None,None,None),
(10,123,"resetListBoxRow","resetBluetoothSwitchRow",122,None,None,None,None,None),
(10,124,"GtkBox",None,123,None,None,None,None,None),
(10,125,"GtkLabel",None,124,None,None,None,None,None),
(10,126,"GtkSwitch","resetBluetoothSwitch",124,None,None,None,1,None),
(10,127,"GtkBox",None,121,None,None,None,1,None),
(10,122,"GtkListBox","resetBluetoothDetails",121,None,None,None,1,None),
(10,127,"GtkBox",None,121,None,None,None,2,None),
(10,128,"GtkLabel",None,127,None,None,None,None,None),
(10,129,"GtkScrolledWindow",None,127,None,None,None,1,None),
(10,130,"GtkViewport",None,129,None,None,None,None,None),
(10,131,"GtkListBox","resetBluetoothAvailableDevices",130,None,None,None,None,None),
(10,132,"GtkBox",None,121,None,None,None,2,None),
(10,132,"GtkBox",None,121,None,None,None,3,None),
(10,133,"GtkLabel",None,132,None,None,None,None,None),
(10,134,"GtkScrolledWindow",None,132,None,None,None,1,None),
(10,135,"GtkViewport",None,134,None,None,None,None,None),
(10,136,"GtkListBox","resetBluetoothConnectedDevices",135,None,None,None,None,None),
(10,137,"GtkButton",None,121,None,None,None,3,None),
(10,138,"AdwNavigationPage",None,119,None,None,None,1,None),
(10,139,"GtkBox",None,138,None,None,None,None,None),
(10,140,"GtkLabel",None,139,None,None,None,None,None),
(10,141,"GtkButton",None,139,None,None,None,1,None),
(10,142,"GtkBox",None,1,None,None,None,None,None),
(10,143,"GtkLabel",None,142,None,None,None,None,None),
(10,144,"GtkSwitch","resetBluetoothSwitch",142,None,None,None,1,None),
(10,153,"GtkBox",None,138,None,None,None,None,None),
(10,154,"GtkListBox",None,153,None,None,None,None,None),
(10,155,"resetListBoxRow","resetBluetoothMainTab",154,None,None,None,None,None),
(10,156,"GtkBox",None,155,None,None,None,None,None),
(10,157,"GtkLabel",None,156,None,None,None,None,None),
(10,158,"GtkImage",None,156,None,None,None,1,None),
(10,159,"GtkLabel",None,153,None,None,None,1,None),
(10,164,"resetListBoxRow",None,122,None,None,None,1,None),
(10,165,"GtkBox",None,164,None,None,None,None,None),
(10,166,"GtkLabel",None,165,None,None,None,None,None),
(10,167,"GtkDropDown","resetBluetoothDevice",165,None,None,None,1,None),
(10,168,"resetListBoxRow","resetVisibility",122,None,None,None,1,None),
(10,169,"GtkBox",None,168,None,None,None,None,None),
(10,170,"GtkLabel",None,169,None,None,None,None,None),
(10,171,"GtkImage",None,169,None,None,None,1,None),
(11,2,"GtkBox","resetBluetoothEntry",None,None,None,None,None,None),
(11,3,"GtkImage","resetBluetoothDeviceType",2,None,None,None,None,None),
(11,4,"GtkLabel","resetBluetoothLabel",2,None,None,None,1,None),
(11,5,"GtkButton","resetBluetoothButton",2,None,None,None,2,None),
(12,1,"GtkBox","resetMicrophone",None,None,None,None,None,None),
(12,2,"GtkBox",None,1,None,None,None,1,None),
(12,3,"GtkLabel",None,2,None,None,None,None,None),
(12,4,"GtkDropDown","resetOutputDevice",2,None,None,None,1,None),
(12,5,"GtkBox",None,1,None,None,None,2,None),
(12,6,"GtkLabel",None,5,None,None,None,None,None),
(12,7,"GtkSwitch",None,5,None,None,None,1,None),
(12,8,"GtkSeparator",None,1,None,None,None,3,None),
(12,9,"GtkViewport",None,1,None,None,None,4,None),
(12,10,"resetMicEntry",None,9,None,None,None,-1,None),
(13,1,"GtkBox","resetMicEntry",None,None,None,None,None,None),
(13,2,"GtkBox",None,1,None,None,None,None,None),
(13,3,"GtkImage","resetMicIcon",2,None,None,None,None,None),
(13,4,"GtkLabel","resetMicName",2,None,None,None,1,None),
(13,5,"GtkBox",None,1,None,None,None,1,None),
(13,6,"GtkButton","resetMicMute",5,None,None,None,None,None),
(13,7,"GtkScale","resetMicSlider",5,None,None,None,1,None),
(13,8,"GtkAdjustment",None,7,None,None,None,None,None),
(13,9,"GtkLabel","resetMicPercentage",5,None,None,None,2,None),
(13,10,"GtkProgressBar","resetMicMeter",1,None,None,None,2,None),
(14,2,"GtkFrame","resetSettingFrame",None,None,None,None,-1,None),
(14,3,"GtkLabel","resetSettingLabel",2,None,None,None,-1,None),
(12,11,"GtkBox","resetMicrophone",None,None,None,None,None,None),
(12,12,"GtkLabel",None,11,None,None,None,None,None),
(12,13,"AdwNavigationView",None,11,None,None,None,1,None),
(12,14,"AdwNavigationPage",None,13,None,None,None,None,None),
(12,15,"GtkBox",None,14,None,None,None,None,None),
(12,16,"GtkListBox",None,15,None,None,None,None,None),
(12,17,"resetListBoxRow","resetSourceRow",16,None,None,None,None,None),
(12,18,"GtkBox",None,17,None,None,None,None,None),
(12,19,"GtkLabel",None,18,None,None,None,None,None),
(12,20,"GtkDropDown","resetSourceDropdown",18,None,None,None,1,None),
(12,21,"GtkImage",None,18,None,None,None,2,None),
(12,22,"GtkBox","resetDefaultSource",15,None,None,None,1,None),
(12,23,"GtkBox",None,22,None,None,None,None,None),
(12,24,"GtkButton","resetSourceMute",23,None,None,None,None,None),
(12,25,"GtkScale","resetVolumeSlider",23,None,None,None,1,None),
(12,26,"GtkAdjustment",None,25,None,None,None,None,None),
(12,27,"GtkLabel","resetVolumePercentage",23,None,None,None,2,None),
(12,28,"GtkProgressBar","resetVolumeMeter",22,None,None,None,1,None),
(12,29,"GtkSeparator",None,15,None,None,None,2,None),
(12,30,"GtkBox","resetOutputStreams",15,None,None,None,3,None),
(12,31,"GtkLabel",None,30,None,None,None,None,None),
(12,34,"AdwNavigationPage",None,13,None,None,None,1,None),
(12,40,"resetInputStreamEntry",None,30,None,None,None,1,None),
(12,41,"resetInputStreamEntry",None,30,None,None,None,2,None),
(12,42,"GtkBox",None,34,None,None,None,None,None),
(12,43,"GtkListBox",None,42,None,None,None,1,None),
(12,44,"resetListBoxRow","resetInputStreamButton",43,None,None,None,None,None),
(12,45,"GtkBox",None,44,None,None,None,None,None),
(12,46,"GtkLabel",None,45,None,None,None,None,None),
(12,47,"GtkImage",None,45,None,None,None,1,None),
(12,49,"GtkBox","resetSinks",42,None,None,None,2,None),
(12,50,"GtkLabel",None,49,None,None,None,None,None),
(12,51,"resetInputStreamEntry",None,49,None,None,None,1,None),
(12,52,"resetInputStreamEntry",None,49,None,None,None,2,None),
(13,11,"GtkBox","resetInputStreamEntry",None,None,None,None,None,None),
(13,12,"GtkBox",None,11,None,None,None,None,None),
(13,13,"GtkLabel","resetSourceName",12,None,None,None,None,None),
(13,14,"GtkDropDown","resetSelectedSource",12,None,None,None,1,None),
(13,15,"GtkBox",None,11,None,None,None,1,None),
(13,16,"GtkButton","resetSourceMute",15,None,None,None,None,None),
(13,17,"GtkScale","resetVolumeSlider",15,None,None,None,1,None),
(13,18,"GtkAdjustment",None,17,None,None,None,None,None),
(13,19,"GtkLabel","resetVolumePercentage",15,None,None,None,2,None),
(13,20,"GtkProgressBar","resetVolumeMeter",11,None,None,None,2,None),
(14,3,"GtkBox","resetSettingBox",None,None,None,None,-1,None),
(15,1,"GtkListBoxRow","resetListBoxRow",None,None,None,None,None,None),
(16,6,"GtkPopover","resetPopup",None,None,None,None,-1,None),
(16,7,"GtkBox",None,6,None,None,None,None,None),
@ -163,9 +228,9 @@
(16,12,"GtkButton","resetPopupButton",10,None,None,None,1,None),
(16,13,"GtkLabel","resetPopupLabel",7,None,None,None,None,None),
(17,1,"GtkBox","resetSavedWifiEntry",None,None,None,None,-1,None),
(17,2,"GtkLabel","resetSavedWifiLabel",1,None,None,None,2,None),
(17,2,"GtkLabel","resetSavedWifiLabel",1,None,None,None,None,None),
(17,3,"GtkButton","resetEditSavedWifiButton",1,None,None,None,1,None),
(17,4,"GtkButton","resetDeleteSavedWifiButton",1,None,None,None,None,None)
(17,4,"GtkButton","resetDeleteSavedWifiButton",1,None,None,None,2,None)
</object>
<object_property>
(3,1,"GtkWidget","height-request","200",None,None,None,None,None,None,None,None,None),
@ -251,23 +316,10 @@
(4,155,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(4,155,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(4,155,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(4,155,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,155,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,155,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(4,155,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,157,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(4,158,"GtkLabel","label","WiFi",None,None,None,None,None,None,None,None,None),
(4,158,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,159,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
(4,159,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(4,159,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,159,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,159,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(4,161,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(4,162,"GtkLabel","label","Saved Networks",None,None,None,None,None,None,None,None,None),
(4,162,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,163,"GtkImage","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
(4,163,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(4,163,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,163,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,164,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(4,165,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
(4,165,"GtkLabel","label","Available networks",None,None,None,None,None,None,None,None,None),
@ -280,6 +332,7 @@
(4,168,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(4,168,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,168,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,168,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(4,168,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,174,"AdwNavigationPage","tag","saved",None,None,None,None,None,None,None,None,None),
(4,175,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
@ -288,14 +341,47 @@
(4,178,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(4,178,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,178,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,178,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(4,178,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,180,"GtkLabel","label","saved networks",None,None,None,None,None,None,None,None,None),
(4,181,"GtkActionable","action-name","navigation.pop",None,None,None,None,None,None,None,None,None),
(4,181,"GtkButton","label","back",None,None,None,None,None,None,None,None,None),
(4,181,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(4,181,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,181,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(4,181,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,182,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(4,183,"GtkLabel","label","WiFi",None,None,None,None,None,None,None,None,None),
(4,183,"GtkWidget","css-classes","resetSettingLabel",None,None,None,None,None,None,None,None,None),
(4,183,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,184,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
(4,184,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(4,184,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,184,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,184,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(4,185,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(4,185,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(4,185,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(4,185,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,185,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,185,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(4,185,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,187,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(4,188,"GtkLabel","label","Available Networks",None,None,None,None,None,None,None,None,None),
(4,188,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,189,"GtkImage","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
(4,189,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(4,189,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,189,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(4,190,"GtkLabel","label","Saved Networks",None,None,None,None,None,None,None,None,None),
(4,190,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(4,190,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,192,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(4,192,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,193,"GtkLabel","label","WiFi Device",None,None,None,None,None,None,None,None,None),
(4,194,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(4,194,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,194,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(4,196,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(4,197,"GtkLabel","label","Saved Networks",None,None,None,None,None,None,None,None,None),
(4,197,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(4,198,"GtkImage","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
(4,198,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(4,198,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,198,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(5,2,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(5,3,"GtkWidget","width-request","35",None,None,None,None,None,None,None,None,None),
(5,4,"GtkImage","icon-name","network-wireless-signal-excellent-symbolic",None,None,None,None,None,None,None,None,None),
@ -326,12 +412,14 @@
(6,2,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(6,6,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None),
(7,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(7,1,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(7,1,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(7,1,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(7,1,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(7,4,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(7,5,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(7,6,"GtkLabel","label","System Volume",None,None,None,None,None,None,None,None,None),
(7,7,"GtkImage","icon-name","audio-volume-high-symbolic",None,None,None,None,None,None,None,None,None),
(7,7,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(7,6,"GtkLabel","label","text",None,None,None,None,None,None,None,None,None),
(7,6,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(7,8,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(7,8,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(7,9,"GtkRange","adjustment",None,None,None,None,None,10,None,None,None,None),
@ -346,24 +434,81 @@
(7,12,"GtkLabel","label","100%",None,None,None,None,None,None,None,None,None),
(7,12,"GtkLabel","lines","1",None,None,None,None,None,None,None,None,None),
(7,12,"GtkWidget","width-request","40",None,None,None,None,None,None,None,None,None),
(7,13,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(7,13,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(7,13,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(8,1,"GtkWidget","halign","center",None,None,None,None,None,None,None,None,None),
(8,1,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(8,1,"GtkWidget","width-request","400",None,None,None,None,None,None,None,None,None),
(8,35,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(8,36,"GtkLabel","label","Output Device",None,None,None,None,None,None,None,None,None),
(8,37,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(8,37,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(8,37,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(8,38,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(8,38,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(8,39,"GtkLabel","label","Show Applications",None,None,None,None,None,None,None,None,None),
(8,40,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
(8,40,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(8,40,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(8,40,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,40,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(8,42,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(8,53,"GtkLabel","label","Output",None,None,None,None,None,None,None,None,None),
(8,53,"GtkWidget","css-classes","resetSettingLabel",None,None,None,None,None,None,None,None,None),
(8,53,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(8,53,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,55,"AdwNavigationPage","tag","output",None,None,None,None,None,None,None,None,None),
(8,56,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(8,71,"AdwNavigationPage","tag","outputDevices",None,None,None,None,None,None,None,None,None),
(8,72,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(8,73,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(8,73,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(8,73,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(8,73,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,73,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,73,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(8,73,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(8,75,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(8,75,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,76,"GtkLabel","label","Output Device",None,None,None,None,None,None,None,None,None),
(8,77,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(8,77,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(8,77,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(8,78,"GtkImage","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
(8,78,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,78,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,85,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(8,85,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(8,86,"GtkLabel","label","Output Streams",None,None,None,None,None,None,None,None,None),
(8,86,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(8,88,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(8,88,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(8,89,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(8,89,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,89,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,89,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(8,90,"GtkLabel","label","Output Devices",None,None,None,None,None,None,None,None,None),
(8,90,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(8,93,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(8,93,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(8,93,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,93,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,93,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(8,97,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(8,97,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(8,98,"GtkButton","icon-name","audio-volume-high-symbolic",None,None,None,None,None,None,None,None,None),
(8,98,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,98,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(8,99,"GtkRange","adjustment",None,None,None,None,None,100,None,None,None,None),
(8,99,"GtkScale","value-pos","bottom",None,None,None,None,None,None,None,None,None),
(8,99,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(8,99,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(8,100,"GtkAdjustment","page-increment","5.0",None,None,None,None,None,None,None,None,None),
(8,100,"GtkAdjustment","upper","100.0",None,None,None,None,None,None,None,None,None),
(8,101,"GtkLabel","label","100%",None,None,None,None,None,None,None,None,None),
(8,101,"GtkLabel","lines","1",None,None,None,None,None,None,None,None,None),
(8,101,"GtkWidget","width-request","40",None,None,None,None,None,None,None,None,None),
(8,102,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(8,109,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(8,109,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(8,109,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(8,109,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(8,109,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,109,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(8,109,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(8,111,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(8,112,"GtkLabel","label","Output Streams",None,None,None,None,None,None,None,None,None),
(8,112,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(8,113,"GtkImage","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
(8,113,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(8,113,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(8,113,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(10,1,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,120,"AdwNavigationPage","tag","main",None,None,None,None,None,None,None,None,None),
@ -371,16 +516,10 @@
(10,122,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(10,122,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(10,122,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(10,122,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,122,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,122,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(10,122,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,124,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(10,125,"GtkLabel","label","Bluetooth",None,None,None,None,None,None,None,None,None),
(10,125,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,126,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
(10,126,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(10,126,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(10,126,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,126,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(10,127,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(10,128,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
(10,128,"GtkLabel","label","Available devices",None,None,None,None,None,None,None,None,None),
@ -392,6 +531,7 @@
(10,131,"GtkWidget","css-classes","boxed-list\n",None,None,None,None,None,None,None,None,None),
(10,131,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,131,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,131,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(10,131,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,132,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(10,132,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
@ -405,21 +545,49 @@
(10,136,"GtkWidget","css-classes","boxed-list\n",None,None,None,None,None,None,None,None,None),
(10,136,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,136,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,136,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(10,136,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,137,"GtkActionable","action-name","navigation.push",None,None,None,None,None,None,None,None,None),
(10,137,"GtkActionable","action-target","'advanced'",None,None,None,None,None,None,None,None,None),
(10,137,"GtkButton","label","Advanced",None,None,None,None,None,None,None,None,None),
(10,137,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(10,137,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(10,137,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,138,"AdwNavigationPage","tag","advanced",None,None,None,None,None,None,None,None,None),
(10,139,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(10,140,"GtkLabel","label","advanced bluetooth",None,None,None,None,None,None,None,None,None),
(10,141,"GtkActionable","action-name","navigation.pop",None,None,None,None,None,None,None,None,None),
(10,141,"GtkButton","label","Advanced",None,None,None,None,None,None,None,None,None),
(10,141,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(10,141,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(10,141,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,138,"AdwNavigationPage","tag","visibility",None,None,None,None,None,None,None,None,None),
(10,142,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(10,143,"GtkLabel","label","Bluetooth",None,None,None,None,None,None,None,None,None),
(10,143,"GtkWidget","css-classes","resetSettingLabel",None,None,None,None,None,None,None,None,None),
(10,143,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,144,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
(10,144,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(10,144,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(10,144,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,144,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(10,153,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(10,154,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(10,154,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(10,154,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(10,154,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,154,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,154,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(10,154,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(10,156,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(10,157,"GtkLabel","label","Main",None,None,None,None,None,None,None,None,None),
(10,157,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,158,"GtkImage","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
(10,158,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(10,158,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(10,158,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(10,159,"GtkLabel","label","Visibility Settings",None,None,None,None,None,None,None,None,None),
(10,159,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(10,159,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,165,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(10,165,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,166,"GtkLabel","label","Bluetooth Device",None,None,None,None,None,None,None,None,None),
(10,167,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(10,167,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(10,167,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(10,169,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(10,170,"GtkLabel","label","Visibility Settings",None,None,None,None,None,None,None,None,None),
(10,170,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(10,171,"GtkImage","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
(10,171,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(10,171,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(10,171,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(11,2,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(11,3,"GtkImage","icon-name","input-mouse-symbolic",None,None,None,None,None,None,None,None,None),
(11,3,"GtkWidget","margin-end","15",None,None,None,None,None,None,None,None,None),
@ -432,50 +600,105 @@
(11,4,"GtkWidget","width-request","200",None,None,None,None,None,None,None,None,None),
(11,5,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(11,5,"GtkButton","icon-name","emblem-system-symbolic",None,None,None,None,None,None,None,None,None),
(12,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,1,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(12,1,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(12,1,"GtkWidget","width-request","400",None,None,None,None,None,None,None,None,None),
(12,2,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(12,3,"GtkLabel","label","Input Device",None,None,None,None,None,None,None,None,None),
(12,4,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(12,4,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(12,4,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(12,5,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(12,5,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(12,6,"GtkLabel","label","Show Applications",None,None,None,None,None,None,None,None,None),
(12,7,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
(12,7,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(12,7,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(12,7,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,7,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(12,10,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(13,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(13,1,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(13,1,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(13,2,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(13,3,"GtkImage","icon-name","audio-input-microphone-symbolic",None,None,None,None,None,None,None,None,None),
(13,3,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(13,4,"GtkLabel","label","Input Volume",None,None,None,None,None,None,None,None,None),
(13,5,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(13,5,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(13,6,"GtkButton","icon-name","audio-input-microphone-symbolic",None,None,None,None,None,None,None,None,None),
(13,6,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(13,6,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(13,7,"GtkRange","adjustment",None,None,None,None,None,8,None,None,None,None),
(13,7,"GtkScale","value-pos","bottom",None,None,None,None,None,None,None,None,None),
(13,7,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(13,7,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(13,8,"GtkAdjustment","page-increment","5.0",None,None,None,None,None,None,None,None,None),
(13,8,"GtkAdjustment","upper","100.0",None,None,None,None,None,None,None,None,None),
(13,9,"GtkLabel","label","100%",None,None,None,None,None,None,None,None,None),
(13,9,"GtkLabel","lines","1",None,None,None,None,None,None,None,None,None),
(13,9,"GtkWidget","width-request","40",None,None,None,None,None,None,None,None,None),
(14,2,"GtkFrame","label-widget",None,None,None,None,None,3,None,None,None,None),
(14,2,"GtkWidget","css-classes","resetSettingFrame",None,None,None,None,None,None,None,None,None),
(14,2,"GtkWidget","halign","center",None,None,None,None,None,None,None,None,None),
(14,2,"GtkWidget","width-request","500",None,None,None,None,None,None,None,None,None),
(14,3,"GtkWidget","css-classes","resetSettingLabel",None,None,None,None,None,None,None,None,None),
(12,11,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,11,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(12,12,"GtkLabel","label","Input",None,None,None,None,None,None,None,None,None),
(12,12,"GtkWidget","css-classes","resetSettingLabel",None,None,None,None,None,None,None,None,None),
(12,12,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(12,12,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,14,"AdwNavigationPage","tag","output",None,None,None,None,None,None,None,None,None),
(12,15,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,16,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(12,16,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(12,16,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(12,16,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,16,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,16,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(12,16,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(12,18,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(12,18,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,19,"GtkLabel","label","Input Device",None,None,None,None,None,None,None,None,None),
(12,20,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(12,20,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(12,20,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(12,21,"GtkImage","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
(12,21,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,21,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,22,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,22,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(12,22,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,22,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,22,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(12,23,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(12,23,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(12,24,"GtkButton","icon-name","audio-input-microphone-symbolic",None,None,None,None,None,None,None,None,None),
(12,24,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,24,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(12,25,"GtkRange","adjustment",None,None,None,None,None,26,None,None,None,None),
(12,25,"GtkScale","value-pos","bottom",None,None,None,None,None,None,None,None,None),
(12,25,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(12,25,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(12,26,"GtkAdjustment","page-increment","5.0",None,None,None,None,None,None,None,None,None),
(12,26,"GtkAdjustment","upper","100.0",None,None,None,None,None,None,None,None,None),
(12,27,"GtkLabel","label","100%",None,None,None,None,None,None,None,None,None),
(12,27,"GtkLabel","lines","1",None,None,None,None,None,None,None,None,None),
(12,27,"GtkWidget","width-request","40",None,None,None,None,None,None,None,None,None),
(12,28,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(12,30,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,30,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(12,31,"GtkLabel","label","Input Streams",None,None,None,None,None,None,None,None,None),
(12,31,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(12,34,"AdwNavigationPage","tag","sources",None,None,None,None,None,None,None,None,None),
(12,42,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,43,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
(12,43,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None),
(12,43,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
(12,43,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,43,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,43,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(12,43,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(12,45,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(12,46,"GtkLabel","label","Input Streams",None,None,None,None,None,None,None,None,None),
(12,46,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,47,"GtkImage","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
(12,47,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(12,47,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(12,47,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,49,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(12,49,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(12,49,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(12,49,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
(12,50,"GtkLabel","label","Input Devices",None,None,None,None,None,None,None,None,None),
(12,50,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(13,11,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(13,11,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(13,11,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(13,11,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(13,11,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(13,12,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(13,13,"GtkLabel","label","text",None,None,None,None,None,None,None,None,None),
(13,13,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(13,14,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(13,14,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(13,14,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(13,15,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(13,15,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(13,16,"GtkButton","icon-name","audio-input-microphone-symbolic",None,None,None,None,None,None,None,None,None),
(13,16,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
(13,16,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(13,17,"GtkRange","adjustment",None,None,None,None,None,18,None,None,None,None),
(13,17,"GtkScale","value-pos","bottom",None,None,None,None,None,None,None,None,None),
(13,17,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(13,17,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(13,18,"GtkAdjustment","page-increment","5.0",None,None,None,None,None,None,None,None,None),
(13,18,"GtkAdjustment","upper","100.0",None,None,None,None,None,None,None,None,None),
(13,19,"GtkLabel","label","100%",None,None,None,None,None,None,None,None,None),
(13,19,"GtkLabel","lines","1",None,None,None,None,None,None,None,None,None),
(13,19,"GtkWidget","width-request","40",None,None,None,None,None,None,None,None,None),
(13,20,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(14,3,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(14,3,"GtkWidget","halign","center",None,None,None,None,None,None,None,None,None),
(14,3,"GtkWidget","width-request","500",None,None,None,None,None,None,None,None,None),
(15,1,"GtkListBoxRow","selectable","False",None,None,None,None,None,None,None,None,None),
(15,1,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
(16,7,"GtkBox","homogeneous","True",None,None,None,None,None,None,None,None,None),
@ -494,8 +717,11 @@
(16,12,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(16,13,"GtkWidget","visible","False",None,None,None,None,None,None,None,None,None),
(17,1,"GtkBox","spacing","5",None,None,None,None,None,None,None,None,None),
(17,2,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
(17,3,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(17,3,"GtkButton","icon-name","document-edit-symbolic",None,None,None,None,None,None,None,None,None),
(17,3,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(17,3,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(17,4,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(17,4,"GtkButton","icon-name","user-trash-symbolic",None,None,None,None,None,None,None,None,None)
</object_property>

View file

@ -1,13 +1,34 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.12"/>
<requires lib="gtk" version="4.6"/>
<requires lib="libadwaita" version="1.4"/>
<template class="resetWifi" parent="GtkBox">
<property name="hexpand">True</property>
<property name="hexpand-set">True</property>
<property name="orientation">vertical</property>
<property name="valign">start</property>
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="css-classes">resetSettingLabel</property>
<property name="label">WiFi</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="resetWifiSwitch">
<property name="active">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwNavigationView">
<child>
@ -20,26 +41,26 @@
<object class="GtkListBox" id="resetWifiDetails">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="resetListBoxRow" id="resetWifiSwitchRow">
<object class="resetListBoxRow">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<property name="margin-start">5</property>
<child>
<object class="GtkLabel">
<property name="label">WiFi</property>
<property name="margin-start">5</property>
<property name="label">WiFi Device</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="resetWifiSwitch">
<property name="active">True</property>
<object class="GtkDropDown" id="resetWiFiDevice">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="margin-end">5</property>
<property name="valign">center</property>
</object>
</child>
@ -95,6 +116,7 @@
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
</object>
@ -116,30 +138,53 @@
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<object class="GtkListBox">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
<child>
<object class="GtkLabel">
<property name="label">saved networks</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="action-name">navigation.pop</property>
<property name="halign">start</property>
<property name="label">back</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="valign">start</property>
<object class="resetListBoxRow" id="resetAvailableNetworks">
<child>
<object class="GtkBox">
<property name="height-request">40</property>
<child>
<object class="GtkLabel">
<property name="label">Available Networks</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="margin-end">5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="label">Saved Networks</property>
<property name="margin-start">5</property>
</object>
</child>
<child>
<object class="GtkListBox" id="resetStoredWifiList">
<property name="css-classes">boxed-list</property>
<property name="margin-bottom">10</property>
<property name="margin-end">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="show-separators">True</property>
<property name="valign">start</property>
</object>

View file

@ -50,7 +50,7 @@
</object>
</child>
<child>
<object class="GtkButton" id="resetWifiButton">
<object class="GtkButton" id="resetWifiEditButton">
<property name="halign">start</property>
<property name="has-frame">False</property>
<property name="icon-name">info-symbolic</property>

View file

@ -11,9 +11,9 @@
<file compressed="true" preprocess="xml-stripblanks">resetBluetooth.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetBluetoothEntry.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetAudio.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetAudioSourceEntry.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetOutputStreamEntry.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetMicrophone.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetMicSourceEntry.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetInputStreamEntry.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetPopup.ui</file>
</gresource>
</gresources>

View file

@ -16,7 +16,7 @@ frame.resetSettingFrame {
padding: 10px;
}
frame > label {
label.resetSettingLabel {
font-size: 32px;
font-weight: bold;
}