mirror of
https://github.com/Xetibo/ReSet.git
synced 2025-04-12 08:28:32 +02:00
Add Bluetooth UI
This commit is contained in:
parent
01835f0018
commit
eeebfe3033
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()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
mod window;
|
||||
mod audio;
|
||||
mod wifi;
|
||||
mod bluetooth;
|
||||
|
||||
use gtk::prelude::*;
|
||||
use gtk::{Application, gio};
|
||||
|
|
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>
|
|
@ -7,7 +7,9 @@
|
|||
(5,1,None,"resetWifiEntry",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)
|
||||
(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>"),
|
||||
|
@ -30,18 +32,21 @@
|
|||
(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),
|
||||
|
@ -66,7 +71,32 @@
|
|||
(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,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),
|
||||
|
@ -109,7 +139,9 @@
|
|||
(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),
|
||||
|
@ -121,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),
|
||||
|
@ -161,7 +198,6 @@
|
|||
(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-end","5",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),
|
||||
|
@ -174,7 +210,48 @@
|
|||
(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","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,23,"GtkWidget",1,1,None,None,None,None,None,None),
|
||||
|
|
|
@ -5,9 +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>
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
<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>
|
||||
|
|
|
@ -23,4 +23,8 @@ impl WifiBox {
|
|||
}
|
||||
}
|
||||
|
||||
impl WifiEntry {}
|
||||
impl WifiEntry {
|
||||
pub fn new() -> Self {
|
||||
Object::builder().build()
|
||||
}
|
||||
}
|
|
@ -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,5 +1,6 @@
|
|||
use gtk::FlowBox;
|
||||
use crate::audio::AudioBox;
|
||||
use crate::bluetooth::BluetoothBox;
|
||||
use crate::wifi::WifiBox;
|
||||
|
||||
pub const HANDLE_CONNECTIVITY_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
||||
|
@ -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| {
|
||||
|
@ -33,9 +34,9 @@ pub const HANDLE_AUDIO_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
|
|||
};
|
||||
|
||||
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| {
|
||||
|
|
Loading…
Reference in a new issue