mirror of
https://github.com/Xetibo/ReSet.git
synced 2025-04-12 08:28:32 +02:00
Merge pull request #33 from Xetibo/ina
Dynamically add bluetooth devices
This commit is contained in:
commit
83be828bc9
|
@ -1,4 +1,4 @@
|
|||
use gtk::{Button, CompositeTemplate, DropDown, TemplateChild, glib};
|
||||
use gtk::{CompositeTemplate, DropDown, TemplateChild, glib};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
use crate::components::audio::audioBox;
|
||||
|
@ -10,8 +10,6 @@ use crate::components::audio::audioSource::AudioSourceEntry;
|
|||
pub struct AudioBox {
|
||||
#[template_child]
|
||||
pub resetOutputDevice: TemplateChild<DropDown>,
|
||||
#[template_child]
|
||||
pub resetAllOutputDevices: TemplateChild<Button>,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
use adw::glib;
|
||||
use adw::glib::Object;
|
||||
use adw::subclass::prelude::ObjectSubclassIsExt;
|
||||
|
||||
use crate::components::bluetooth::bluetoothBoxImpl;
|
||||
use crate::components::bluetooth::bluetoothEntry::BluetoothEntry;
|
||||
use crate::components::bluetooth::bluetoothEntryImpl::DeviceTypes;
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct BluetoothBox(ObjectSubclass<bluetoothBoxImpl::BluetoothBox>)
|
||||
|
@ -13,4 +17,28 @@ impl BluetoothBox {
|
|||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
|
||||
pub fn scanForDevices(&self) {
|
||||
let selfImp = self.imp();
|
||||
let mut wifiEntries = selfImp.availableDevices.borrow_mut();
|
||||
wifiEntries.push(BluetoothEntry::new(DeviceTypes::Mouse, "ina mouse"));
|
||||
wifiEntries.push(BluetoothEntry::new(DeviceTypes::Keyboard, "inaboard"));
|
||||
wifiEntries.push(BluetoothEntry::new(DeviceTypes::Controller, "ina controller"));
|
||||
wifiEntries.push(BluetoothEntry::new(DeviceTypes::Controller, "ina best waifu"));
|
||||
|
||||
for wifiEntry in wifiEntries.iter() {
|
||||
selfImp.resetBluetoothAvailableDevices.append(wifiEntry);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn addConnectedDevices(&self) {
|
||||
let selfImp = self.imp();
|
||||
let mut wifiEntries = selfImp.connectedDevices.borrow_mut();
|
||||
wifiEntries.push(BluetoothEntry::new(DeviceTypes::Mouse, "why are we still here?"));
|
||||
wifiEntries.push(BluetoothEntry::new(DeviceTypes::Keyboard, "just to suffer?"));
|
||||
|
||||
for wifiEntry in wifiEntries.iter() {
|
||||
selfImp.resetBluetoothConnectedDevices.append(wifiEntry);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
use std::cell::RefCell;
|
||||
use gtk::{CompositeTemplate, glib, ListBox, Switch};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
@ -15,6 +16,8 @@ pub struct BluetoothBox {
|
|||
pub resetBluetoothAvailableDevices: TemplateChild<ListBox>,
|
||||
#[template_child]
|
||||
pub resetBluetoothConnectedDevices: TemplateChild<ListBox>,
|
||||
pub availableDevices: RefCell<Vec<BluetoothEntry>>,
|
||||
pub connectedDevices: RefCell<Vec<BluetoothEntry>>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
|
@ -36,6 +39,9 @@ impl ObjectSubclass for BluetoothBox {
|
|||
impl ObjectImpl for BluetoothBox {
|
||||
fn constructed(&self) {
|
||||
self.parent_constructed();
|
||||
let obj = self.obj();
|
||||
obj.scanForDevices();
|
||||
obj.addConnectedDevices();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
use adw::glib;
|
||||
use adw::glib::Object;
|
||||
use adw::subclass::prelude::ObjectSubclassIsExt;
|
||||
use crate::components::bluetooth::bluetoothEntryImpl;
|
||||
use crate::components::bluetooth::bluetoothEntryImpl::DeviceTypes;
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct BluetoothEntry(ObjectSubclass<bluetoothEntryImpl::BluetoothEntry>)
|
||||
|
@ -9,7 +11,21 @@ glib::wrapper! {
|
|||
}
|
||||
|
||||
impl BluetoothEntry {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
pub fn new(deviceType: DeviceTypes, name: &str) -> Self {
|
||||
let entry: BluetoothEntry = Object::builder().build();
|
||||
let entryImp = entry.imp();
|
||||
entryImp.resetBluetoothLabel.get().set_text(name);
|
||||
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::Controller => Some("input-gaming-symbolic"),
|
||||
DeviceTypes::None => Some("text-x-generic-symbolic") // no generic bluetooth device icon found
|
||||
});
|
||||
{
|
||||
let mut wifiName = entryImp.deviceName.borrow_mut();
|
||||
*wifiName = String::from(name);
|
||||
}
|
||||
entry
|
||||
}
|
||||
}
|
|
@ -1,7 +1,17 @@
|
|||
use std::cell::RefCell;
|
||||
use gtk::{Button, CompositeTemplate, glib, Image, Label};
|
||||
use gtk::subclass::prelude::*;
|
||||
use crate::components::bluetooth::bluetoothEntry;
|
||||
|
||||
#[derive(Default, Copy, Clone)]
|
||||
pub enum DeviceTypes {
|
||||
Mouse,
|
||||
Keyboard,
|
||||
Headset,
|
||||
Controller,
|
||||
#[default]
|
||||
None,
|
||||
}
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/Xetibo/ReSet/resetBluetoothEntry.ui")]
|
||||
|
@ -12,6 +22,7 @@ pub struct BluetoothEntry {
|
|||
pub resetBluetoothLabel: TemplateChild<Label>,
|
||||
#[template_child]
|
||||
pub resetBluetoothButton: TemplateChild<Button>,
|
||||
pub deviceName: RefCell<String>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
|
|
|
@ -1,28 +1,15 @@
|
|||
use gtk::{Align, FlowBox, FlowBoxChild};
|
||||
use gtk::prelude::{FlowBoxChildExt, WidgetExt};
|
||||
use gtk::{FlowBox, FlowBoxChild, Label};
|
||||
use gtk::prelude::FlowBoxChildExt;
|
||||
use crate::components::audio::audioBox::AudioBox;
|
||||
use crate::components::bluetooth::bluetoothBox::BluetoothBox;
|
||||
use crate::components::wifi::wifiBox::WifiBox;
|
||||
|
||||
pub const HANDLE_CONNECTIVITY_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
let wifibox = WifiBox::new();
|
||||
let wifiBox = WifiBox::new();
|
||||
let bluetoothBox = BluetoothBox::new();
|
||||
let child1 = FlowBoxChild::new();
|
||||
let child2 = FlowBoxChild::new();
|
||||
|
||||
wifibox.set_halign(Align::Start);
|
||||
bluetoothBox.set_halign(Align::Start);
|
||||
|
||||
child1.set_halign(Align::Fill);
|
||||
child2.set_halign(Align::Fill);
|
||||
|
||||
child1.set_child(Some(&wifibox));
|
||||
child2.set_child(Some(&bluetoothBox));
|
||||
|
||||
resetMain.remove_all();
|
||||
resetMain.insert(&child1, -1);
|
||||
resetMain.insert(&child2, -1);
|
||||
|
||||
resetMain.insert(&wifiBox, -1);
|
||||
resetMain.insert(&bluetoothBox, -1);
|
||||
// todo center flowbox children
|
||||
};
|
||||
|
||||
|
@ -59,9 +46,9 @@ pub const HANDLE_VOLUME_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
|||
};
|
||||
|
||||
pub const HANDLE_MICROPHONE_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
let wifibox = WifiBox::new();
|
||||
let label = Label::new(Some("not implemented yet"));
|
||||
resetMain.remove_all();
|
||||
resetMain.insert(&wifibox, -1);
|
||||
resetMain.insert(&label, -1);
|
||||
};
|
||||
|
||||
pub const HANDLE_HOME: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?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"/>
|
||||
<template class="resetAudio" parent="GtkBox">
|
||||
<property name="halign">start</property>
|
||||
<property name="margin-start">5</property>
|
||||
|
@ -10,7 +10,7 @@
|
|||
<property name="width-request">400</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">10</property>
|
||||
<property name="height-request">40</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Output Device</property>
|
||||
|
@ -20,7 +20,27 @@
|
|||
<object class="GtkDropDown" id="resetOutputDevice">
|
||||
<property name="halign">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="height-request">40</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Show Applications</property>
|
||||
</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>
|
||||
|
@ -29,15 +49,8 @@
|
|||
<object class="GtkSeparator"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetAudioSourceEntry" id="asdf"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetAllOutputDevices">
|
||||
<property name="halign">start</property>
|
||||
<property name="label">All Output Devices</property>
|
||||
<property name="margin-start">5</property>
|
||||
<object class="resetAudioSourceEntry" id="asdf">
|
||||
<property name="margin-top">5</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
|
|
|
@ -2,95 +2,92 @@
|
|||
<!-- Created with Cambalache 0.17.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.12"/>
|
||||
<requires lib="libadwaita" version="1.4"/>
|
||||
<template class="resetBluetooth" parent="GtkBox">
|
||||
<property name="halign">start</property>
|
||||
<property name="margin-start">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="width-request">400</property>
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetBluetoothDetails">
|
||||
<property name="margin-bottom">10</property>
|
||||
<property name="show-separators">True</property>
|
||||
<property name="valign">start</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow" id="resetBluetoothSwitchRow">
|
||||
<property name="selectable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="height-request">40</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<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>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Bluetooth</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="justify">right</property>
|
||||
<property name="label">Available device</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="resetBluetoothSwitch">
|
||||
<property name="halign">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="valign">end</property>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="propagate-natural-height">True</property>
|
||||
<child>
|
||||
<object class="GtkViewport">
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetBluetoothAvailableDevices">
|
||||
<property name="show-separators">True</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwClampScrollable">
|
||||
<property name="maximum-size">0</property>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-top">10</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="valign">start</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="halign">start</property>
|
||||
<property name="justify">right</property>
|
||||
<property name="label">Available device</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetBluetoothAvailableDevices">
|
||||
<property name="valign">start</property>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkLabel">
|
||||
<property name="halign">start</property>
|
||||
<property name="justify">right</property>
|
||||
<property name="label">Connected devices</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparator">
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="margin-top">5</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwClampScrollable">
|
||||
<property name="maximum-size">0</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="valign">start</property>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="propagate-natural-height">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="halign">start</property>
|
||||
<property name="justify">right</property>
|
||||
<property name="label">Connected devices</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetBluetoothConnectedDevices">
|
||||
<property name="valign">start</property>
|
||||
<object class="GtkViewport">
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
<object class="GtkListBox" id="resetBluetoothConnectedDevices">
|
||||
<property name="show-separators">True</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
@ -102,6 +99,7 @@
|
|||
<object class="GtkButton">
|
||||
<property name="halign">start</property>
|
||||
<property name="label">Advanced</property>
|
||||
<property name="margin-top">5</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
(7,1,None,"resetAudioSourceEntry",None,None,None,None,None,None,None),
|
||||
(8,1,None,"resetAudio",None,None,None,None,None,None,None),
|
||||
(10,1,None,"resetBluetooth",None,None,None,None,None,None,None),
|
||||
(11,1,None,"resetBluetoothEntry",None,None,None,None,None,None,None)
|
||||
(11,1,None,"resetBluetoothEntry",None,None,None,None,None,None,None),
|
||||
(12,1,None,"resetMicrophone",None,None,None,None,None,None,None),
|
||||
(13,1,None,"resetMicSourceEntry",None,None,None,None,None,None,None)
|
||||
</ui>
|
||||
<object>
|
||||
(3,1,"AdwApplicationWindow","resetUI",None,None,None,None,-1," <child>\n <object id=\"resetSidebarBreakpoint\" class=\"AdwBreakpoint\">\n </object>\n </child>"),
|
||||
|
@ -37,10 +39,6 @@
|
|||
(3,38,"GtkButton",None,36,None,None,None,1,None),
|
||||
(3,39,"GtkButton","resetAboutButton",36,None,None,None,2,None),
|
||||
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None),
|
||||
(4,8,"AdwClampScrollable",None,7,None,None,None,1,None),
|
||||
(4,9,"GtkBox",None,8,None,None,None,None,None),
|
||||
(4,10,"GtkLabel",None,9,None,None,None,None,None),
|
||||
(4,11,"GtkListBox","resetWifiList",9,None,None,None,1,None),
|
||||
(4,42,"GtkButton",None,7,None,None,None,2,None),
|
||||
(4,54,"GtkListBox","resetWifiDetails",7,None,None,None,None,None),
|
||||
(4,55,"GtkListBoxRow","resetWifiSwitchRow",54,None,None,None,None,None),
|
||||
|
@ -51,6 +49,11 @@
|
|||
(4,60,"GtkBox",None,56,None,None,None,None,None),
|
||||
(4,61,"GtkLabel",None,60,None,None,None,None,None),
|
||||
(4,62,"GtkImage",None,60,None,None,None,1,None),
|
||||
(4,63,"GtkBox",None,7,None,None,None,1,None),
|
||||
(4,64,"GtkLabel",None,63,None,None,None,None,None),
|
||||
(4,65,"GtkScrolledWindow",None,63,None,None,None,1,None),
|
||||
(4,66,"GtkViewport",None,65,None,None,None,None,None),
|
||||
(4,68,"GtkListBox","resetWifiList",66,None,None,None,1,None),
|
||||
(5,1,"GtkListBoxRow","resetWifiEntry",None,None,None,None,None,None),
|
||||
(5,2,"GtkBox",None,1,None,None,None,None,None),
|
||||
(5,4,"GtkLabel","resetWifiLabel",2,None,None,None,1,None),
|
||||
|
@ -73,37 +76,56 @@
|
|||
(7,11,"GtkButton","resetSourceMute",8,None,None,None,None,None),
|
||||
(7,12,"GtkLabel","resetVolumePercentage",8,None,None,None,2,None),
|
||||
(8,1,"GtkBox","resetAudio",None,None,None,None,None,None),
|
||||
(8,13,"GtkButton","resetAllOutputDevices",1,None,None,None,3,None),
|
||||
(8,14,"GtkBox",None,1,None,None,None,None,None),
|
||||
(8,15,"GtkLabel",None,14,None,None,None,None,None),
|
||||
(8,16,"GtkDropDown","resetOutputDevice",14,None,None,None,1,None),
|
||||
(8,18,"GtkSeparator",None,1,None,None,None,1,None),
|
||||
(8,19,"resetAudioSourceEntry","asdf",1,None,None,None,2,None),
|
||||
(8,18,"GtkSeparator",None,1,None,None,None,2,None),
|
||||
(8,19,"resetAudioSourceEntry","asdf",1,None,None,None,3,None),
|
||||
(8,20,"GtkBox",None,1,None,None,None,1,None),
|
||||
(8,22,"GtkSwitch",None,20,None,None,None,1,None),
|
||||
(8,23,"GtkLabel",None,20,None,None,None,None,None),
|
||||
(10,1,"GtkBox","resetBluetooth",None,None,None,None,None,None),
|
||||
(10,2,"AdwClampScrollable",None,1,None,None,None,1,None),
|
||||
(10,3,"GtkBox",None,2,None,None,None,None,None),
|
||||
(10,4,"GtkLabel",None,3,None,None,None,None,None),
|
||||
(10,5,"GtkListBox","resetBluetoothAvailableDevices",3,None,None,None,1,None),
|
||||
(10,14,"AdwClampScrollable",None,1,None,None,None,3,None),
|
||||
(10,15,"GtkBox",None,14,None,None,None,None,None),
|
||||
(10,16,"GtkLabel",None,15,None,None,None,None,None),
|
||||
(10,17,"GtkListBox","resetBluetoothConnectedDevices",15,None,None,None,1,None),
|
||||
(10,18,"GtkButton",None,1,None,None,None,4,None),
|
||||
(10,19,"GtkBox",None,1,None,None,None,None,None),
|
||||
(10,20,"GtkLabel",None,19,None,None,None,None,None),
|
||||
(10,21,"GtkSwitch","resetBluetoothSwitch",19,None,None,None,1,None),
|
||||
(10,22,"resetBluetoothEntry",None,5,None,None,None,-1,None),
|
||||
(10,23,"resetBluetoothEntry",None,5,None,None,None,1,None),
|
||||
(10,24,"resetBluetoothEntry",None,5,None,None,None,2,None),
|
||||
(10,25,"resetBluetoothEntry",None,17,None,None,None,None,None),
|
||||
(10,26,"resetBluetoothEntry",None,17,None,None,None,1,None),
|
||||
(10,27,"resetBluetoothEntry",None,17,None,None,None,2,None),
|
||||
(10,28,"GtkSeparator",None,1,None,None,None,2,None),
|
||||
(10,18,"GtkButton",None,1,None,None,None,3,None),
|
||||
(10,32,"GtkBox",None,1,None,None,None,1,None),
|
||||
(10,33,"GtkBox",None,1,None,None,None,2,None),
|
||||
(10,34,"GtkScrolledWindow",None,32,None,None,None,1,None),
|
||||
(10,35,"GtkViewport",None,34,None,None,None,None,None),
|
||||
(10,39,"GtkScrolledWindow",None,33,None,None,None,1,None),
|
||||
(10,40,"GtkViewport",None,39,None,None,None,None,None),
|
||||
(10,44,"GtkLabel",None,33,None,None,None,None,None),
|
||||
(10,45,"GtkListBox","resetBluetoothConnectedDevices",40,None,None,None,1,None),
|
||||
(10,46,"GtkLabel",None,32,None,None,None,None,None),
|
||||
(10,47,"GtkListBox","resetBluetoothAvailableDevices",35,None,None,None,None,None),
|
||||
(10,48,"GtkListBox","resetBluetoothDetails",1,None,None,None,None,None),
|
||||
(10,49,"GtkListBoxRow","resetBluetoothSwitchRow",48,None,None,None,None,None),
|
||||
(10,50,"GtkBox",None,49,None,None,None,None,None),
|
||||
(10,51,"GtkLabel",None,50,None,None,None,None,None),
|
||||
(10,52,"GtkSwitch","resetBluetoothSwitch",50,None,None,None,1,None),
|
||||
(11,1,"GtkListBoxRow","resetBluetoothEntry",None,None,None,None,None,None),
|
||||
(11,2,"GtkBox",None,1,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)
|
||||
(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,None,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,1,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,2,None),
|
||||
(12,9,"GtkViewport",None,1,None,None,None,3,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)
|
||||
</object>
|
||||
<object_property>
|
||||
(3,1,"GtkWindow","default-height","500",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -168,15 +190,6 @@
|
|||
(4,7,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkWidget","width-request","400",None,None,None,None,None,None,None,None,None),
|
||||
(4,8,"AdwClampScrollable","maximum-size","0",None,None,None,None,None,None,None,None,None),
|
||||
(4,8,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(4,9,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(4,9,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,10,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
|
||||
(4,10,"GtkLabel","label","Available networks",None,None,None,None,None,None,None,None,None),
|
||||
(4,10,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,11,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
|
||||
(4,11,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,42,"GtkButton","label","Advanced",None,None,None,None,None,None,None,None,None),
|
||||
(4,42,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,42,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -201,6 +214,13 @@
|
|||
(4,62,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(4,62,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(4,62,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(4,63,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(4,64,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
|
||||
(4,64,"GtkLabel","label","Available networks",None,None,None,None,None,None,None,None,None),
|
||||
(4,64,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,65,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None),
|
||||
(4,68,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
|
||||
(4,68,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(5,1,"GtkListBoxRow","selectable","False",None,None,None,None,None,None,None,None,None),
|
||||
(5,4,"GtkLabel","ellipsize","end",None,None,None,None,None,None,None,None,None),
|
||||
(5,4,"GtkLabel","label","LoremIpsumInternet",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -210,7 +230,7 @@
|
|||
(5,4,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None),
|
||||
(5,4,"GtkWidget","width-request","200",None,None,None,None,None,None,None,None,None),
|
||||
(5,5,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
|
||||
(5,5,"GtkButton","icon-name","emblem-system-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(5,5,"GtkButton","icon-name","text-x-generic-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(5,5,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(5,5,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(5,6,"GtkBox","spacing","-1",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -252,47 +272,56 @@
|
|||
(8,1,"GtkWidget","margin-start","5",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,13,"GtkButton","label","All Output Devices",None,None,None,None,None,None,None,None,None),
|
||||
(8,13,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(8,13,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(8,13,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(8,13,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(8,14,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
|
||||
(8,14,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
|
||||
(8,15,"GtkLabel","label","Output Device",None,None,None,None,None,None,None,None,None),
|
||||
(8,16,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(8,16,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(8,16,"GtkWidget","valign","end",None,None,None,None,None,None,None,None,None),
|
||||
(8,16,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(8,19,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(8,20,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
|
||||
(8,20,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(8,22,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
|
||||
(8,22,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(8,22,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(8,22,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(8,22,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(8,23,"GtkLabel","label","Show Applications",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","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,1,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,1,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,1,"GtkWidget","width-request","400",None,None,None,None,None,None,None,None,None),
|
||||
(10,2,"AdwClampScrollable","maximum-size","0",None,None,None,None,None,None,None,None,None),
|
||||
(10,2,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(10,3,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(10,3,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,4,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
|
||||
(10,4,"GtkLabel","label","Available device",None,None,None,None,None,None,None,None,None),
|
||||
(10,4,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,5,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,14,"AdwClampScrollable","maximum-size","0",None,None,None,None,None,None,None,None,None),
|
||||
(10,14,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(10,15,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(10,15,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,16,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
|
||||
(10,16,"GtkLabel","label","Connected devices",None,None,None,None,None,None,None,None,None),
|
||||
(10,16,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,17,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,18,"GtkButton","label","Advanced",None,None,None,None,None,None,None,None,None),
|
||||
(10,18,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,18,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,18,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,19,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,20,"GtkLabel","label","Bluetooth",None,None,None,None,None,None,None,None,None),
|
||||
(10,21,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(10,21,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,21,"GtkWidget","valign","end",None,None,None,None,None,None,None,None,None),
|
||||
(10,28,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,28,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,32,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(10,33,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(10,33,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None),
|
||||
(10,34,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,39,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,44,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
|
||||
(10,44,"GtkLabel","label","Connected devices",None,None,None,None,None,None,None,None,None),
|
||||
(10,44,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,45,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,45,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,46,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
|
||||
(10,46,"GtkLabel","label","Available device",None,None,None,None,None,None,None,None,None),
|
||||
(10,46,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,47,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,47,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,48,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,48,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
|
||||
(10,48,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(10,49,"GtkListBoxRow","selectable","False",None,None,None,None,None,None,None,None,None),
|
||||
(10,50,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None),
|
||||
(10,51,"GtkLabel","label","Bluetooth",None,None,None,None,None,None,None,None,None),
|
||||
(10,51,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,52,"GtkSwitch","active","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,52,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(10,52,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(10,52,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(10,52,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(11,1,"GtkListBoxRow","selectable","False",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),
|
||||
|
@ -304,7 +333,47 @@
|
|||
(11,4,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None),
|
||||
(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)
|
||||
(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","margin-start","5",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)
|
||||
</object_property>
|
||||
<object_data>
|
||||
(3,23,"GtkWidget",1,1,None,None,None,None,None,None),
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
<!-- Created with Cambalache 0.17.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.12"/>
|
||||
<requires lib="libadwaita" version="1.4"/>
|
||||
<template class="resetWifi" parent="GtkBox">
|
||||
<property name="halign">start</property>
|
||||
<property name="margin-start">5</property>
|
||||
|
@ -66,24 +65,26 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwClampScrollable">
|
||||
<property name="maximum-size">0</property>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="valign">start</property>
|
||||
<object class="GtkLabel">
|
||||
<property name="halign">start</property>
|
||||
<property name="justify">right</property>
|
||||
<property name="label">Available networks</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="propagate-natural-height">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="halign">start</property>
|
||||
<property name="justify">right</property>
|
||||
<property name="label">Available networks</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetWifiList">
|
||||
<property name="show-separators">True</property>
|
||||
<property name="valign">start</property>
|
||||
<object class="GtkViewport">
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetWifiList">
|
||||
<property name="show-separators">True</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<object class="GtkButton" id="resetWifiButton">
|
||||
<property name="halign">start</property>
|
||||
<property name="has-frame">False</property>
|
||||
<property name="icon-name">emblem-system-symbolic</property>
|
||||
<property name="icon-name">info-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
|
|
Loading…
Reference in a new issue