mirror of
https://github.com/Xetibo/ReSet.git
synced 2025-04-12 08:28:32 +02:00
commit
1cb778d97e
40
src/audio/audioBox.rs
Normal file
40
src/audio/audioBox.rs
Normal file
|
@ -0,0 +1,40 @@
|
|||
use gtk::{Button, CompositeTemplate, DropDown, TemplateChild, glib};
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/xetibo/reset/resetAudio.ui")]
|
||||
pub struct AudioBox {
|
||||
#[template_child]
|
||||
pub resetOutputDevice: TemplateChild<DropDown>,
|
||||
#[template_child]
|
||||
pub resetAllOutputDevices: TemplateChild<Button>,
|
||||
}
|
||||
|
||||
|
||||
#[glib::object_subclass]
|
||||
impl ObjectSubclass for AudioBox {
|
||||
const NAME: &'static str = "resetAudio";
|
||||
type Type = super::AudioBox;
|
||||
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 AudioBox {}
|
||||
|
||||
impl ObjectImpl for AudioBox {}
|
||||
|
||||
impl ListBoxRowImpl for AudioBox {}
|
||||
|
||||
impl WidgetImpl for AudioBox {}
|
||||
|
||||
impl WindowImpl for AudioBox {}
|
||||
|
||||
impl ApplicationWindowImpl for AudioBox {}
|
45
src/audio/audioSource.rs
Normal file
45
src/audio/audioSource.rs
Normal file
|
@ -0,0 +1,45 @@
|
|||
use gtk::{Button, CompositeTemplate, glib, Image, Label, ProgressBar, Scale};
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/xetibo/reset/resetAudioSourceEntry.ui")]
|
||||
pub struct AudioSourceEntry {
|
||||
#[template_child]
|
||||
pub resetSourceIcon: TemplateChild<Image>,
|
||||
#[template_child]
|
||||
pub resetSourceName: TemplateChild<Label>,
|
||||
#[template_child]
|
||||
pub resetSourceMute: TemplateChild<Button>,
|
||||
#[template_child]
|
||||
pub resetVolumeSlider: TemplateChild<Scale>,
|
||||
#[template_child]
|
||||
pub resetVolumeMeter: TemplateChild<ProgressBar>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
impl ObjectSubclass for AudioSourceEntry {
|
||||
const NAME: &'static str = "resetAudioSourceEntry";
|
||||
type Type = super::AudioSourceEntry;
|
||||
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 AudioSourceEntry {}
|
||||
|
||||
impl ObjectImpl for AudioSourceEntry {}
|
||||
|
||||
impl ListBoxRowImpl for AudioSourceEntry {}
|
||||
|
||||
impl WidgetImpl for AudioSourceEntry {}
|
||||
|
||||
impl WindowImpl for AudioSourceEntry {}
|
||||
|
||||
impl ApplicationWindowImpl for AudioSourceEntry {}
|
31
src/audio/mod.rs
Normal file
31
src/audio/mod.rs
Normal file
|
@ -0,0 +1,31 @@
|
|||
#![allow(non_snake_case)]
|
||||
|
||||
mod audioSource;
|
||||
mod audioBox;
|
||||
|
||||
use adw::glib::Object;
|
||||
use gtk::{glib};
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct AudioBox(ObjectSubclass<audioBox::AudioBox>)
|
||||
@extends gtk::Box, gtk::Widget,
|
||||
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
|
||||
}
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct AudioSourceEntry(ObjectSubclass<audioSource::AudioSourceEntry>)
|
||||
@extends gtk::Box, gtk::Widget,
|
||||
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
|
||||
}
|
||||
|
||||
impl AudioBox {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
||||
|
||||
impl AudioSourceEntry {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
46
src/bluetooth/bluetoothBox.rs
Normal file
46
src/bluetooth/bluetoothBox.rs
Normal file
|
@ -0,0 +1,46 @@
|
|||
use gtk::{CompositeTemplate, glib, ListBox, Switch};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
use crate::bluetooth::BluetoothEntry;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/xetibo/reset/resetBluetooth.ui")]
|
||||
pub struct BluetoothBox {
|
||||
#[template_child]
|
||||
pub resetBluetoothSwitch: TemplateChild<Switch>,
|
||||
#[template_child]
|
||||
pub resetBluetoothAvailableDevices: TemplateChild<ListBox>,
|
||||
#[template_child]
|
||||
pub resetBluetoothConnectedDevices: TemplateChild<ListBox>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
impl ObjectSubclass for BluetoothBox {
|
||||
const NAME: &'static str = "resetBluetooth";
|
||||
type Type = super::BluetoothBox;
|
||||
type ParentType = gtk::Box;
|
||||
|
||||
fn class_init(klass: &mut Self::Class) {
|
||||
BluetoothEntry::ensure_type();
|
||||
klass.bind_template();
|
||||
}
|
||||
|
||||
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
|
||||
obj.init_template();
|
||||
}
|
||||
}
|
||||
|
||||
impl ObjectImpl for BluetoothBox {
|
||||
fn constructed(&self) {
|
||||
self.parent_constructed();
|
||||
}
|
||||
}
|
||||
|
||||
impl BoxImpl for BluetoothBox {}
|
||||
|
||||
impl WidgetImpl for BluetoothBox {}
|
||||
|
||||
impl WindowImpl for BluetoothBox {}
|
||||
|
||||
impl ApplicationWindowImpl for BluetoothBox {}
|
43
src/bluetooth/bluetoothEntry.rs
Normal file
43
src/bluetooth/bluetoothEntry.rs
Normal file
|
@ -0,0 +1,43 @@
|
|||
use gtk::{Button, CompositeTemplate, glib, Image, Label};
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/xetibo/reset/resetBluetoothEntry.ui")]
|
||||
pub struct BluetoothEntry {
|
||||
#[template_child]
|
||||
pub resetBluetoothDeviceType: TemplateChild<Image>,
|
||||
#[template_child]
|
||||
pub resetBluetoothLabel: TemplateChild<Label>,
|
||||
#[template_child]
|
||||
pub resetBluetoothButton: TemplateChild<Button>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
impl ObjectSubclass for BluetoothEntry {
|
||||
const NAME: &'static str = "resetBluetoothEntry";
|
||||
type Type = super::BluetoothEntry;
|
||||
type ParentType = gtk::ListBoxRow;
|
||||
|
||||
fn class_init(klass: &mut Self::Class) {
|
||||
klass.bind_template();
|
||||
}
|
||||
|
||||
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
|
||||
obj.init_template();
|
||||
}
|
||||
}
|
||||
|
||||
impl ObjectImpl for BluetoothEntry {
|
||||
fn constructed(&self) {
|
||||
self.parent_constructed();
|
||||
}
|
||||
}
|
||||
|
||||
impl ListBoxRowImpl for BluetoothEntry {}
|
||||
|
||||
impl WidgetImpl for BluetoothEntry {}
|
||||
|
||||
impl WindowImpl for BluetoothEntry {}
|
||||
|
||||
impl ApplicationWindowImpl for BluetoothEntry {}
|
30
src/bluetooth/mod.rs
Normal file
30
src/bluetooth/mod.rs
Normal file
|
@ -0,0 +1,30 @@
|
|||
#![allow(non_snake_case)]
|
||||
mod bluetoothBox;
|
||||
mod bluetoothEntry;
|
||||
|
||||
use adw::glib::Object;
|
||||
use gtk::{glib};
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct BluetoothBox(ObjectSubclass<bluetoothBox::BluetoothBox>)
|
||||
@extends gtk::Box, gtk::Widget,
|
||||
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
|
||||
}
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct BluetoothEntry(ObjectSubclass<bluetoothEntry::BluetoothEntry>)
|
||||
@extends gtk::Widget,
|
||||
@implements gtk::Accessible, gtk::Buildable, gtk::Actionable, gtk::ConstraintTarget;
|
||||
}
|
||||
|
||||
impl BluetoothBox {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
||||
|
||||
impl BluetoothEntry {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
17
src/main.rs
17
src/main.rs
|
@ -1,8 +1,10 @@
|
|||
mod window;
|
||||
mod audio;
|
||||
mod bluetooth;
|
||||
mod wifi;
|
||||
mod window;
|
||||
|
||||
use gtk::prelude::*;
|
||||
use gtk::{Application, gio};
|
||||
use gtk::{gio, Application};
|
||||
use window::Window;
|
||||
|
||||
const APP_ID: &str = "org.Xetibo.ReSet";
|
||||
|
@ -11,9 +13,11 @@ fn main() {
|
|||
gio::resources_register_include!("src.templates.gresource")
|
||||
.expect("Failed to register resources.");
|
||||
|
||||
let app = Application::builder()
|
||||
.application_id(APP_ID)
|
||||
.build();
|
||||
let app = Application::builder().application_id(APP_ID).build();
|
||||
|
||||
app.connect_startup(move |_| {
|
||||
adw::init().unwrap();
|
||||
});
|
||||
|
||||
app.connect_activate(buildUI);
|
||||
app.run();
|
||||
|
@ -23,4 +27,5 @@ fn main() {
|
|||
fn buildUI(app: &Application) {
|
||||
let window = Window::new(app);
|
||||
window.present();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
42
src/resources/resetAudio.ui
Normal file
42
src/resources/resetAudio.ui
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.17.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.12"/>
|
||||
<template class="resetAudio" parent="GtkBox">
|
||||
<property name="halign">start</property>
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-start">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="valign">start</property>
|
||||
<property name="width-request">300</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">10</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">end</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparator"/>
|
||||
</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>
|
||||
<property name="margin-top">5</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
62
src/resources/resetAudioSourceEntry.ui
Normal file
62
src/resources/resetAudioSourceEntry.ui
Normal file
|
@ -0,0 +1,62 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.17.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.12"/>
|
||||
<template class="resetAudioSourceEntry" parent="GtkBox">
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-start">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">5</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="resetSourceIcon">
|
||||
<property name="icon-name">audio-volume-high-symbolic</property>
|
||||
<property name="margin-end">5</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="resetSourceName">
|
||||
<property name="label">System Volume</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"/>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
109
src/resources/resetBluetooth.ui
Normal file
109
src/resources/resetBluetooth.ui
Normal file
|
@ -0,0 +1,109 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- 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">300</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">5</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">Bluetooth</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>
|
||||
</child>
|
||||
</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>
|
||||
<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>
|
||||
</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>
|
||||
<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>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="resetBluetoothEntry"/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="halign">start</property>
|
||||
<property name="label">Advanced</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
33
src/resources/resetBluetoothEntry.ui
Normal file
33
src/resources/resetBluetoothEntry.ui
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.17.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.12"/>
|
||||
<template class="resetBluetoothEntry" parent="GtkListBoxRow">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkImage" id="resetBluetoothDeviceType">
|
||||
<property name="icon-name">input-mouse-symbolic</property>
|
||||
<property name="margin-end">15</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="resetBluetoothLabel">
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="label">LoremIpsum Wireless Mouse</property>
|
||||
<property name="margin-end">10</property>
|
||||
<property name="single-line-mode">True</property>
|
||||
<property name="width-request">200</property>
|
||||
<property name="xalign">0.0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetBluetoothButton">
|
||||
<property name="icon-name">emblem-system-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
|
@ -4,6 +4,11 @@
|
|||
<requires lib="gtk" version="4.12"/>
|
||||
<requires lib="libadwaita" version="1.4"/>
|
||||
<template class="resetUI" parent="AdwApplicationWindow">
|
||||
<property name="default-height">500</property>
|
||||
<property name="default-width">800</property>
|
||||
<child>
|
||||
<object class="GtkWindowHandle"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwOverlaySplitView" id="resetOverlaySplitView">
|
||||
<property name="content">
|
||||
|
@ -11,37 +16,47 @@
|
|||
<property name="margin-start">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<object class="GtkWindowHandle">
|
||||
<child>
|
||||
<object class="GtkButton" id="resetSideBarToggle">
|
||||
<property name="icon-name">sidebar-show-symbolic</property>
|
||||
<property name="visible">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetBack">
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetForward">
|
||||
<property name="icon-name">go-previous-symbolic-rtl</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="resetPath"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetMenu">
|
||||
<property name="halign">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetClose">
|
||||
<property name="icon-name">window-close-symbolic</property>
|
||||
<object class="GtkBox">
|
||||
<property name="valign">start</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetSideBarToggle">
|
||||
<property name="icon-name">sidebar-show-symbolic</property>
|
||||
<property name="visible">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetBack">
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetForward">
|
||||
<property name="icon-name">go-previous-symbolic-rtl</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="resetPath">
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetMenu">
|
||||
<property name="halign">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="resetClose">
|
||||
<property name="icon-name">window-close-symbolic</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
@ -62,24 +77,35 @@
|
|||
<property name="margin-top">5</property>
|
||||
<property name="max-sidebar-width">180.0</property>
|
||||
<property name="sidebar">
|
||||
<object class="GtkViewport">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="width-request">150</property>
|
||||
<object class="GtkWindowHandle">
|
||||
<property name="valign">start</property>
|
||||
<child>
|
||||
<object class="GtkSearchEntry" id="resetSearchEntry">
|
||||
<property name="margin-end">5</property>
|
||||
<property name="placeholder-text">Search</property>
|
||||
<property name="valign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkViewport">
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetSidebarList">
|
||||
<property name="css-name">resetList</property>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="width-request">150</property>
|
||||
<style>
|
||||
<class name="b"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkListBox" id="resetSidebarList">
|
||||
<property name="css-name">resetList</property>
|
||||
<property name="width-request">150</property>
|
||||
<style>
|
||||
<class name="b"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
@ -5,37 +5,48 @@
|
|||
(3,1,None,"resetMainWindow",None,None,None,None,None,None,None),
|
||||
(4,7,None,"resetWiFi",None,None,None,None,None,None,None),
|
||||
(5,1,None,"resetWifiEntry",None,None,None,None,None,None,None),
|
||||
(6,1,None,"resetSidebarEntry",None,None,None,None,None,None,None)
|
||||
(6,1,None,"resetSidebarEntry",None,None,None,None,None,None,None),
|
||||
(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)
|
||||
</ui>
|
||||
<object>
|
||||
(3,1,"AdwApplicationWindow","resetUI",None,None,None,None,-1," <child>\n <object id=\"resetSidebarBreakpoint\" class=\"AdwBreakpoint\">\n </object>\n </child>"),
|
||||
(3,2,"AdwOverlaySplitView","resetOverlaySplitView",1,None,None,None,None,""),
|
||||
(3,2,"AdwOverlaySplitView","resetOverlaySplitView",1,None,None,None,2,""),
|
||||
(3,3,"GtkBox",None,2,None,None,None,None,None),
|
||||
(3,4,"GtkBox",None,3,None,None,None,None,None),
|
||||
(3,5,"GtkButton","resetSideBarToggle",4,None,None,None,None,None),
|
||||
(3,6,"GtkButton",None,4,None,None,None,1,None),
|
||||
(3,7,"GtkButton",None,4,None,None,None,2,None),
|
||||
(3,8,"GtkLabel",None,4,None,None,None,3,None),
|
||||
(3,9,"GtkButton",None,4,None,None,None,4,None),
|
||||
(3,10,"GtkButton",None,4,None,None,None,5,None),
|
||||
(3,11,"GtkFlowBox","resetMain",3,None,None,None,1,None),
|
||||
(3,12,"GtkViewport",None,2,None,None,None,None,None),
|
||||
(3,13,"GtkBox",None,12,None,None,None,None,None),
|
||||
(3,14,"GtkSearchEntry","resetSearchEntry",13,None,None,None,None,None),
|
||||
(3,15,"GtkListBox","resetSidebarList",13,None,None,None,1,None),
|
||||
(3,17,"GtkWindowHandle",None,1,None,None,None,1,None),
|
||||
(3,18,"GtkBox",None,2,None,None,None,-1,None),
|
||||
(3,19,"GtkWindowHandle",None,18,None,None,None,None,None),
|
||||
(3,20,"GtkSearchEntry","resetSearchEntry",19,None,None,None,None,None),
|
||||
(3,21,"GtkViewport",None,18,None,None,None,1,None),
|
||||
(3,22,"GtkBox",None,21,None,None,None,None,None),
|
||||
(3,23,"GtkListBox","resetSidebarList",22,None,None,None,None,None),
|
||||
(3,24,"GtkWindowHandle",None,3,None,None,None,None,None),
|
||||
(3,25,"GtkBox",None,24,None,None,None,None,None),
|
||||
(3,26,"GtkButton","resetSideBarToggle",25,None,None,None,None,None),
|
||||
(3,27,"GtkButton","resetBack",25,None,None,None,1,None),
|
||||
(3,28,"GtkButton","resetForward",25,None,None,None,2,None),
|
||||
(3,29,"GtkBox","resetPath",25,None,None,None,3,None),
|
||||
(3,30,"GtkButton","resetMenu",25,None,None,None,4,None),
|
||||
(3,31,"GtkButton","resetClose",25,None,None,None,5,None),
|
||||
(3,32,"GtkFlowBox","resetMain",3,None,None,None,1,None),
|
||||
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None),
|
||||
(4,8,"AdwClampScrollable",None,7,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,1,None),
|
||||
(4,42,"GtkButton",None,7,None,None,None,2,None),
|
||||
(4,44,"resetWifiEntry",None,11,None,None,None,1,None),
|
||||
(4,45,"resetWifiEntry",None,11,None,None,None,1,None),
|
||||
(4,45,"resetWifiEntry",None,11,None,None,None,None,None),
|
||||
(4,46,"resetWifiEntry",None,11,None,None,None,2,None),
|
||||
(4,47,"resetWifiEntry",None,11,None,None,None,3,None),
|
||||
(4,48,"resetWifiEntry",None,11,None,None,None,4,None),
|
||||
(4,49,"resetWifiEntry",None,11,None,None,None,5,None),
|
||||
(4,50,"resetWifiEntry",None,11,None,None,None,6,None),
|
||||
(4,51,"GtkBox",None,7,None,None,None,None,None),
|
||||
(4,52,"GtkLabel",None,51,None,None,None,None,None),
|
||||
(4,53,"GtkSwitch","resetWiFiSwitch",51,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,3,"GtkImage","resetWifiStrength",2,None,None,None,None,None),
|
||||
|
@ -43,42 +54,94 @@
|
|||
(5,5,"GtkButton","resetWifiButton",2,None,None,None,2,None),
|
||||
(6,1,"GtkListBoxRow","resetSidebarEntry",None,None,None,None,None,None),
|
||||
(6,2,"GtkBox",None,1,None,None,None,-1,None),
|
||||
(6,6,"GtkImage","resetSidebarImage",2,None,None,None,1,None),
|
||||
(6,7,"GtkLabel","resetSidebarLabel",2,None,None,None,2,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,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,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),
|
||||
(8,1,"GtkBox","resetAudio",None,None,None,None,None,None),
|
||||
(8,13,"GtkButton","resetAllOutputDevices",1,None,None,None,2,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),
|
||||
(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),
|
||||
(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)
|
||||
</object>
|
||||
<object_property>
|
||||
(3,1,"GtkWindow","default-height","500",None,None,None,None,None,None,None,None,None),
|
||||
(3,1,"GtkWindow","default-width","800",None,None,None,None,None,None,None,None,None),
|
||||
(3,2,"AdwOverlaySplitView","content",None,None,None,None,None,3,None,None,None,None),
|
||||
(3,2,"AdwOverlaySplitView","max-sidebar-width","180.0",None,None,None,None,None,None,None,None,None),
|
||||
(3,2,"AdwOverlaySplitView","sidebar",None,None,None,None,None,12,None,None,None,None),
|
||||
(3,2,"AdwOverlaySplitView","sidebar",None,None,None,None,None,18,None,None,None,None),
|
||||
(3,2,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,2,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,2,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,3,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(3,3,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkButton","icon-name","sidebar-show-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkWidget","visible","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkButton","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkButton","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkLabel","label","breadcrum path",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkButton","icon-name","window-close-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","homogeneous","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None),
|
||||
(3,11,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,13,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(3,13,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkSearchEntry","placeholder-text","Search",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None),
|
||||
(3,18,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(3,19,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,20,"GtkSearchEntry","placeholder-text","Search",None,None,None,None,None,None,None,None,None),
|
||||
(3,20,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,20,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None),
|
||||
(3,23,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None),
|
||||
(3,23,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None),
|
||||
(3,25,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,26,"GtkButton","icon-name","sidebar-show-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,26,"GtkWidget","visible","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,27,"GtkButton","icon-name","go-previous-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,27,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,28,"GtkButton","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None),
|
||||
(3,28,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,29,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,30,"GtkButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,30,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(3,30,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,30,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,31,"GtkButton","icon-name","window-close-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(3,31,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,32,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None),
|
||||
(3,32,"GtkFlowBox","homogeneous","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,32,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None),
|
||||
(3,32,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None),
|
||||
(3,32,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(4,7,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(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","300",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),
|
||||
|
@ -90,6 +153,11 @@
|
|||
(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","valign","start",None,None,None,None,None,None,None,None,None),
|
||||
(4,51,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(4,52,"GtkLabel","label","WiFi",None,None,None,None,None,None,None,None,None),
|
||||
(4,53,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(4,53,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(4,53,"GtkWidget","valign","end",None,None,None,None,None,None,None,None,None),
|
||||
(5,3,"GtkImage","icon-name","network-wireless-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(5,3,"GtkWidget","margin-end","15",None,None,None,None,None,None,None,None,None),
|
||||
(5,4,"GtkLabel","ellipsize","end",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -106,13 +174,91 @@
|
|||
(6,2,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
|
||||
(6,2,"GtkWidget","margin-start","10",None,None,None,None,None,None,None,None,None),
|
||||
(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)
|
||||
(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-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,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,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),
|
||||
(7,9,"GtkScale","value-pos","bottom",None,None,None,None,None,None,None,None,None),
|
||||
(7,9,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(7,9,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(7,10,"GtkAdjustment","page-increment","5.0",None,None,None,None,None,None,None,None,None),
|
||||
(7,10,"GtkAdjustment","upper","100.0",None,None,None,None,None,None,None,None,None),
|
||||
(7,11,"GtkButton","icon-name","audio-volume-high-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(7,11,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None),
|
||||
(7,11,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
|
||||
(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),
|
||||
(8,1,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(8,1,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(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","300",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,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),
|
||||
(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","300",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","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),
|
||||
(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),
|
||||
(11,4,"GtkLabel","ellipsize","end",None,None,None,None,None,None,None,None,None),
|
||||
(11,4,"GtkLabel","label","LoremIpsum Wireless Mouse",None,None,None,None,None,None,None,None,None),
|
||||
(11,4,"GtkLabel","single-line-mode","True",None,None,None,None,None,None,None,None,None),
|
||||
(11,4,"GtkLabel","xalign","0.0",None,None,None,None,None,None,None,None,None),
|
||||
(11,4,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(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","icon-name","emblem-system-symbolic",None,None,None,None,None,None,None,None,None)
|
||||
</object_property>
|
||||
<object_data>
|
||||
(3,15,"GtkWidget",2,2,None,1,None,None,None,None),
|
||||
(3,15,"GtkWidget",1,1,None,None,None,None,None,None)
|
||||
(3,23,"GtkWidget",1,1,None,None,None,None,None,None),
|
||||
(3,23,"GtkWidget",2,2,None,1,None,None,None,None)
|
||||
</object_data>
|
||||
<object_data_arg>
|
||||
(3,15,"GtkWidget",2,2,"name","b")
|
||||
(3,23,"GtkWidget",2,2,"name","b"),
|
||||
(7,9,"GtkScale",2,2,"value","50.0")
|
||||
</object_data_arg>
|
||||
</cambalache-project>
|
||||
|
|
|
@ -5,8 +5,27 @@
|
|||
<requires lib="libadwaita" version="1.4"/>
|
||||
<template class="resetWifi" 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">300</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="margin-bottom">5</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">WiFi</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="resetWiFiSwitch">
|
||||
<property name="halign">end</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="valign">end</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwClampScrollable">
|
||||
<property name="maximum-size">0</property>
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/org/xetibo/reset/">
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetSidebarEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWifiEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWiFi.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetMainWindow.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetSidebarEntry.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWiFi.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks">resetWifiEntry.ui</file>
|
||||
<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>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
|
|
@ -23,4 +23,8 @@ impl WifiBox {
|
|||
}
|
||||
}
|
||||
|
||||
impl WifiEntry {}
|
||||
impl WifiEntry {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
use gtk::{CompositeTemplate, glib, ListBox};
|
||||
use gtk::prelude::*;
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
use crate::wifi::WifiEntry;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
|
@ -9,7 +10,6 @@ use crate::wifi::WifiEntry;
|
|||
pub struct WifiBox {
|
||||
#[template_child]
|
||||
pub resetWifiList: TemplateChild<ListBox>,
|
||||
// pub resetWifiList2: Vec<ListBox>,
|
||||
}
|
||||
|
||||
#[glib::object_subclass]
|
||||
|
@ -31,16 +31,6 @@ impl ObjectSubclass for WifiBox {
|
|||
impl ObjectImpl for WifiBox {
|
||||
fn constructed(&self) {
|
||||
self.parent_constructed();
|
||||
|
||||
// for i in 0.. {
|
||||
// let listEntryOption = self.resetWifiList.row_at_index(i);
|
||||
// match listEntryOption {
|
||||
// None => break,
|
||||
// Some(row) => {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
use gtk::{Button, CompositeTemplate, glib};
|
||||
use gtk::{Button, CompositeTemplate, glib, Image, Label};
|
||||
use gtk::subclass::prelude::*;
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/xetibo/reset/resetWifiEntry.ui")]
|
||||
pub struct WifiEntry {
|
||||
#[template_child]
|
||||
pub resetWifiStrength: TemplateChild<Image>,
|
||||
#[template_child]
|
||||
pub resetWifiLabel: TemplateChild<Label>,
|
||||
#[template_child]
|
||||
pub resetWifiButton: TemplateChild<Button>,
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
use gtk::FlowBox;
|
||||
use crate::audio::AudioBox;
|
||||
use crate::bluetooth::BluetoothBox;
|
||||
use crate::wifi::WifiBox;
|
||||
|
||||
|
||||
pub const HANDLE_CONNECTIVITY_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
let wifibox = WifiBox::new();
|
||||
resetMain.remove_all();
|
||||
|
@ -15,9 +16,9 @@ pub const HANDLE_WIFI_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
|||
};
|
||||
|
||||
pub const HANDLE_BLUETOOTH_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
let wifibox = WifiBox::new();
|
||||
let bluetoothBox = BluetoothBox::new();
|
||||
resetMain.remove_all();
|
||||
resetMain.insert(&wifibox, -1);
|
||||
resetMain.insert(&bluetoothBox, -1);
|
||||
};
|
||||
|
||||
pub const HANDLE_VPN_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
|
@ -27,15 +28,15 @@ pub const HANDLE_VPN_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
|||
};
|
||||
|
||||
pub const HANDLE_AUDIO_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
let wifibox = WifiBox::new();
|
||||
let audioBox = AudioBox::new();
|
||||
resetMain.remove_all();
|
||||
resetMain.insert(&wifibox, -1);
|
||||
resetMain.insert(&audioBox, -1);
|
||||
};
|
||||
|
||||
pub const HANDLE_VOLUME_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
let wifibox = WifiBox::new();
|
||||
let audioBox = AudioBox::new();
|
||||
resetMain.remove_all();
|
||||
resetMain.insert(&wifibox, -1);
|
||||
resetMain.insert(&audioBox, -1);
|
||||
};
|
||||
|
||||
pub const HANDLE_MICROPHONE_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
#![allow(non_snake_case)]
|
||||
|
||||
use adw::BreakpointCondition;
|
||||
use adw::glib::clone;
|
||||
use adw::subclass::prelude::ObjectSubclassIsExt;
|
||||
use adw::BreakpointCondition;
|
||||
use glib::Object;
|
||||
use gtk::{Application, FlowBox, gio, glib};
|
||||
use gtk::prelude::*;
|
||||
use gtk::{gio, glib, Application, FlowBox};
|
||||
|
||||
use crate::window::handleSidebarClick::{HANDLE_AUDIO_CLICK, HANDLE_BLUETOOTH_CLICK, HANDLE_CONNECTIVITY_CLICK, HANDLE_MICROPHONE_CLICK, HANDLE_VOLUME_CLICK, HANDLE_VPN_CLICK, HANDLE_WIFI_CLICK};
|
||||
use crate::window::handleSidebarClick::{
|
||||
HANDLE_AUDIO_CLICK, HANDLE_BLUETOOTH_CLICK, HANDLE_CONNECTIVITY_CLICK, HANDLE_MICROPHONE_CLICK,
|
||||
HANDLE_VOLUME_CLICK, HANDLE_VPN_CLICK, HANDLE_WIFI_CLICK,
|
||||
};
|
||||
use crate::window::sidebarEntry::{Categories, SidebarAction};
|
||||
|
||||
mod window;
|
||||
mod sidebarEntry;
|
||||
mod handleSidebarClick;
|
||||
mod sidebarEntry;
|
||||
mod window;
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct Window(ObjectSubclass<window::Window>)
|
||||
|
@ -36,30 +39,48 @@ impl Window {
|
|||
fn setupCallback(&self) {
|
||||
let selfImp = self.imp();
|
||||
|
||||
selfImp.resetSearchEntry.connect_search_changed(clone!(@ weak self as window => move |_| {
|
||||
selfImp
|
||||
.resetSearchEntry
|
||||
.connect_search_changed(clone!(@ weak self as window => move |_| {
|
||||
window.filterList();
|
||||
}));
|
||||
|
||||
selfImp.resetSideBarToggle.connect_clicked(clone!(@ weak self as window => move |_| {
|
||||
selfImp
|
||||
.resetSideBarToggle
|
||||
.connect_clicked(clone!(@ weak self as window => move |_| {
|
||||
window.toggleSidebar();
|
||||
}));
|
||||
|
||||
selfImp.resetSidebarList.connect_row_activated(clone!(@ weak selfImp as flowbox => move |x, y| {
|
||||
let mut result = y.downcast_ref::<SidebarEntry>().unwrap();
|
||||
let clickEvent = result.imp().onClickEvent.borrow().onClickEvent;
|
||||
(clickEvent)(flowbox.resetMain.get());
|
||||
}));
|
||||
selfImp.resetSidebarList.connect_row_activated(
|
||||
clone!(@ weak selfImp as flowbox => move |_, y| {
|
||||
let result = y.downcast_ref::<SidebarEntry>().unwrap();
|
||||
let clickEvent = result.imp().onClickEvent.borrow().onClickEvent;
|
||||
(clickEvent)(flowbox.resetMain.get());
|
||||
}),
|
||||
);
|
||||
|
||||
selfImp
|
||||
.resetClose
|
||||
.connect_clicked(clone!(@ weak self as window => move |_| {
|
||||
window.close();
|
||||
}));
|
||||
}
|
||||
|
||||
fn handleDynamicSidebar(&self) {
|
||||
let selfImp = self.imp();
|
||||
selfImp.resetSidebarBreakpoint.set_condition(BreakpointCondition::parse("max-width: 500sp").as_ref().ok());
|
||||
selfImp.resetSidebarBreakpoint.add_setter(&Object::from(selfImp.resetOverlaySplitView.get()),
|
||||
"collapsed",
|
||||
&true.to_value());
|
||||
selfImp.resetSidebarBreakpoint.add_setter(&Object::from(selfImp.resetSideBarToggle.get()),
|
||||
"visible",
|
||||
&true.to_value());
|
||||
selfImp
|
||||
.resetSidebarBreakpoint
|
||||
.set_condition(BreakpointCondition::parse("max-width: 500sp").as_ref().ok());
|
||||
selfImp.resetSidebarBreakpoint.add_setter(
|
||||
&Object::from(selfImp.resetOverlaySplitView.get()),
|
||||
"collapsed",
|
||||
&true.to_value(),
|
||||
);
|
||||
selfImp.resetSidebarBreakpoint.add_setter(
|
||||
&Object::from(selfImp.resetSideBarToggle.get()),
|
||||
"visible",
|
||||
&true.to_value(),
|
||||
);
|
||||
}
|
||||
|
||||
fn filterList(&self) {
|
||||
|
@ -72,13 +93,25 @@ impl Window {
|
|||
}
|
||||
continue;
|
||||
}
|
||||
if mainEntry.imp().name.borrow().to_lowercase().contains(&text.to_lowercase()) {
|
||||
if mainEntry
|
||||
.imp()
|
||||
.name
|
||||
.borrow()
|
||||
.to_lowercase()
|
||||
.contains(&text.to_lowercase())
|
||||
{
|
||||
mainEntry.set_visible(true);
|
||||
} else {
|
||||
mainEntry.set_visible(false);
|
||||
}
|
||||
for subEntry in subEntries {
|
||||
if subEntry.imp().name.borrow().to_lowercase().contains(&text.to_lowercase()) {
|
||||
if subEntry
|
||||
.imp()
|
||||
.name
|
||||
.borrow()
|
||||
.to_lowercase()
|
||||
.contains(&text.to_lowercase())
|
||||
{
|
||||
subEntry.set_visible(true);
|
||||
mainEntry.set_visible(true);
|
||||
} else {
|
||||
|
@ -100,45 +133,68 @@ impl Window {
|
|||
let selfImp = self.imp();
|
||||
let mut sidebarEntries = selfImp.sidebarEntries.borrow_mut();
|
||||
|
||||
let mut connectivityList = vec![SidebarEntry::new("WiFi",
|
||||
"network-wireless-symbolic",
|
||||
Categories::Connectivity,
|
||||
true,
|
||||
HANDLE_WIFI_CLICK),
|
||||
SidebarEntry::new("Bluetooth",
|
||||
"bluetooth-symbolic",
|
||||
Categories::Connectivity,
|
||||
true,
|
||||
HANDLE_BLUETOOTH_CLICK),
|
||||
SidebarEntry::new("VPN",
|
||||
"network-vpn-symbolic",
|
||||
Categories::Connectivity,
|
||||
true,
|
||||
HANDLE_VPN_CLICK)];
|
||||
let connectivityList = vec![
|
||||
SidebarEntry::new(
|
||||
"WiFi",
|
||||
"network-wireless-symbolic",
|
||||
Categories::Connectivity,
|
||||
true,
|
||||
HANDLE_WIFI_CLICK,
|
||||
),
|
||||
SidebarEntry::new(
|
||||
"Bluetooth",
|
||||
"bluetooth-symbolic",
|
||||
Categories::Connectivity,
|
||||
true,
|
||||
HANDLE_BLUETOOTH_CLICK,
|
||||
),
|
||||
SidebarEntry::new(
|
||||
"VPN",
|
||||
"network-vpn-symbolic",
|
||||
Categories::Connectivity,
|
||||
true,
|
||||
HANDLE_VPN_CLICK,
|
||||
),
|
||||
];
|
||||
|
||||
sidebarEntries.push((SidebarEntry::new("Connectivity",
|
||||
"network-wired-symbolic",
|
||||
Categories::Connectivity,
|
||||
false,
|
||||
HANDLE_CONNECTIVITY_CLICK), connectivityList));
|
||||
sidebarEntries.push((
|
||||
SidebarEntry::new(
|
||||
"Connectivity",
|
||||
"network-wired-symbolic",
|
||||
Categories::Connectivity,
|
||||
false,
|
||||
HANDLE_CONNECTIVITY_CLICK,
|
||||
),
|
||||
connectivityList,
|
||||
));
|
||||
|
||||
let mut audioList = vec![SidebarEntry::new("Volume",
|
||||
"audio-volume-high-symbolic",
|
||||
Categories::Audio,
|
||||
true,
|
||||
HANDLE_VOLUME_CLICK),
|
||||
SidebarEntry::new("Microphone",
|
||||
"audio-input-microphone-symbolic",
|
||||
Categories::Audio,
|
||||
true,
|
||||
HANDLE_MICROPHONE_CLICK)];
|
||||
|
||||
sidebarEntries.push((SidebarEntry::new("Audio",
|
||||
"audio-headset-symbolic",
|
||||
Categories::Audio,
|
||||
false,
|
||||
HANDLE_AUDIO_CLICK), audioList));
|
||||
let audioList = vec![
|
||||
SidebarEntry::new(
|
||||
"Volume",
|
||||
"audio-volume-high-symbolic",
|
||||
Categories::Audio,
|
||||
true,
|
||||
HANDLE_VOLUME_CLICK,
|
||||
),
|
||||
SidebarEntry::new(
|
||||
"Microphone",
|
||||
"audio-input-microphone-symbolic",
|
||||
Categories::Audio,
|
||||
true,
|
||||
HANDLE_MICROPHONE_CLICK,
|
||||
),
|
||||
];
|
||||
|
||||
sidebarEntries.push((
|
||||
SidebarEntry::new(
|
||||
"Audio",
|
||||
"audio-headset-symbolic",
|
||||
Categories::Audio,
|
||||
false,
|
||||
HANDLE_AUDIO_CLICK,
|
||||
),
|
||||
audioList,
|
||||
));
|
||||
|
||||
for (mainEntry, subEntries) in sidebarEntries.iter() {
|
||||
selfImp.resetSidebarList.append(mainEntry);
|
||||
|
@ -150,18 +206,28 @@ impl Window {
|
|||
}
|
||||
|
||||
impl SidebarEntry {
|
||||
pub fn new(entryName: &str, iconName: &str, category: Categories, isSubcategory: bool, clickEvent: fn(FlowBox)) -> Self {
|
||||
pub fn new(
|
||||
entryName: &str,
|
||||
iconName: &str,
|
||||
category: Categories,
|
||||
isSubcategory: bool,
|
||||
clickEvent: fn(FlowBox),
|
||||
) -> Self {
|
||||
let entry: SidebarEntry = Object::builder().build();
|
||||
let entryImp = entry.imp();
|
||||
entryImp.resetSidebarLabel.get().set_text(entryName);
|
||||
entryImp.resetSidebarImage.set_from_icon_name(Some(iconName));
|
||||
entryImp
|
||||
.resetSidebarImage
|
||||
.set_from_icon_name(Some(iconName));
|
||||
entryImp.category.set(category);
|
||||
entryImp.isSubcategory.set(isSubcategory);
|
||||
{
|
||||
let mut name = entryImp.name.borrow_mut();
|
||||
*name = String::from(entryName);
|
||||
let mut action = entryImp.onClickEvent.borrow_mut();
|
||||
*action = SidebarAction { onClickEvent: clickEvent };
|
||||
*action = SidebarAction {
|
||||
onClickEvent: clickEvent,
|
||||
};
|
||||
}
|
||||
Self::setMargin(&entry);
|
||||
entry
|
||||
|
@ -173,4 +239,5 @@ impl SidebarEntry {
|
|||
option.set_margin_start(30);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
use std::cell::{Cell, RefCell};
|
||||
use adw::{Breakpoint, OverlaySplitView};
|
||||
use adw::glib::StaticTypeExt;
|
||||
use adw::subclass::prelude::AdwApplicationWindowImpl;
|
||||
use adw::{Breakpoint, OverlaySplitView};
|
||||
use glib::subclass::InitializingObject;
|
||||
use gtk::{Button, CompositeTemplate, FlowBox, glib, ListBox, SearchEntry, Box};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{glib, Box, Button, CompositeTemplate, FlowBox, ListBox, SearchEntry};
|
||||
use std::cell::RefCell;
|
||||
|
||||
use crate::wifi::WifiBox;
|
||||
use crate::window::SidebarEntry;
|
||||
|
@ -27,6 +27,8 @@ pub struct Window {
|
|||
pub resetSideBarToggle: TemplateChild<Button>,
|
||||
#[template_child]
|
||||
pub resetPath: TemplateChild<Box>,
|
||||
#[template_child]
|
||||
pub resetClose: TemplateChild<Button>,
|
||||
pub sidebarEntries: RefCell<Vec<(SidebarEntry, Vec<SidebarEntry>)>>,
|
||||
}
|
||||
|
||||
|
@ -64,5 +66,3 @@ impl WindowImpl for Window {}
|
|||
impl ApplicationWindowImpl for Window {}
|
||||
|
||||
impl AdwApplicationWindowImpl for Window {}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue