Merge pull request #30 from Xetibo/ina

Add poopover menu functionality and adjust margin
This commit is contained in:
Dashie 2023-10-29 16:42:27 +01:00 committed by GitHub
commit 518ea48313
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 254 additions and 55 deletions

View file

@ -4,4 +4,9 @@ fn main() {
"src/resources/resources.gresource.xml",
"src.templates.gresource",
);
}
glib_build_tools::compile_resources(
&["src/resources/icons"],
"src/resources/icons/resources.gresource.xml",
"src.icons.gresource",
);
}

View file

@ -5,7 +5,7 @@ use crate::components::audio::AudioSourceEntry;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/xetibo/reset/resetAudio.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetAudio.ui")]
pub struct AudioBox {
#[template_child]
pub resetOutputDevice: TemplateChild<DropDown>,

View file

@ -3,7 +3,7 @@ use gtk::subclass::prelude::*;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/xetibo/reset/resetAudioSourceEntry.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetAudioSourceEntry.ui")]
pub struct AudioSourceEntry {
#[template_child]
pub resetSourceIcon: TemplateChild<Image>,
@ -38,4 +38,4 @@ impl BoxImpl for AudioSourceEntry {}
impl ObjectImpl for AudioSourceEntry {}
impl WidgetImpl for AudioSourceEntry {}
impl WidgetImpl for AudioSourceEntry {}

View file

@ -5,7 +5,7 @@ use crate::components::bluetooth::BluetoothEntry;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/xetibo/reset/resetBluetooth.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetBluetooth.ui")]
pub struct BluetoothBox {
#[template_child]
pub resetBluetoothSwitch: TemplateChild<Switch>,

View file

@ -3,7 +3,7 @@ use gtk::subclass::prelude::*;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/xetibo/reset/resetBluetoothEntry.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetBluetoothEntry.ui")]
pub struct BluetoothEntry {
#[template_child]
pub resetBluetoothDeviceType: TemplateChild<Image>,

View file

@ -6,7 +6,7 @@ use crate::components::wifi::WifiEntry;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/xetibo/reset/resetWiFi.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetWiFi.ui")]
pub struct WifiBox {
#[template_child]
pub resetWifiList: TemplateChild<ListBox>,

View file

@ -3,7 +3,7 @@ use gtk::subclass::prelude::*;
#[allow(non_snake_case)]
#[derive(Default, CompositeTemplate)]
#[template(resource = "/org/xetibo/reset/resetWifiEntry.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetWifiEntry.ui")]
pub struct WifiEntry {
#[template_child]
pub resetWifiStrength: TemplateChild<Image>,

View file

@ -1,18 +1,37 @@
use gtk::FlowBox;
use gtk::{Align, FlowBox, FlowBoxChild};
use gtk::prelude::{FlowBoxChildExt, WidgetExt};
use crate::components::audio::AudioBox;
use crate::components::bluetooth::BluetoothBox;
use crate::components::wifi::WifiBox;
pub const HANDLE_CONNECTIVITY_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
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(&wifibox, -1);
resetMain.insert(&child1, -1);
resetMain.insert(&child2, -1);
// todo center flowbox children
};
pub const HANDLE_WIFI_CLICK: fn(FlowBox) = |resetMain: FlowBox| {
let wifibox = WifiBox::new();
resetMain.remove_all();
resetMain.insert(&wifibox, -1);
let child = FlowBoxChild::new();
child.set_child(Some(&wifibox));
resetMain.insert(&child, -1);
};
pub const HANDLE_BLUETOOTH_CLICK: fn(FlowBox) = |resetMain: FlowBox| {

View file

@ -7,7 +7,6 @@ use glib::Object;
use gtk::{Application, FlowBox, gio, glib};
use gtk::prelude::*;
use crate::components::wifi::WifiBox;
use crate::components::window::handleSidebarClick::{
HANDLE_AUDIO_CLICK, HANDLE_BLUETOOTH_CLICK, HANDLE_CONNECTIVITY_CLICK, HANDLE_MICROPHONE_CLICK,
HANDLE_VOLUME_CLICK, HANDLE_VPN_CLICK, HANDLE_WIFI_CLICK,
@ -42,32 +41,33 @@ impl Window {
selfImp.resetSearchEntry.connect_search_changed(clone!(@ weak self as window => move |_| {
window.filterList();
}));
}));
selfImp.resetSideBarToggle.connect_clicked(clone!(@ weak self as window => move |_| {
window.toggleSidebar();
}));
}));
selfImp.resetSidebarList
.connect_row_activated(clone!(@ weak selfImp as flowbox => move |_, y| {
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();
}));
window.close();
}));
selfImp.resetMenu.connect_clicked(|_| {
WifiBox::donotdisturb();
});
// selfImp.resetMenu.connect_clicked(|_| {
// WifiBox::donotdisturb();
//
// });
}
fn handleDynamicSidebar(&self) {
let selfImp = self.imp();
selfImp.resetSidebarBreakpoint
.set_condition(BreakpointCondition::parse("max-width: 500sp").as_ref().ok());
selfImp.resetSidebarBreakpoint.set_condition(BreakpointCondition::parse("max-width: 500sp").as_ref().ok());
selfImp.resetSidebarBreakpoint.add_setter(
&Object::from(selfImp.resetOverlaySplitView.get()),
"collapsed",
@ -188,6 +188,31 @@ impl Window {
}
}
}
fn setupPopoverButtons(&self) {
let selfImp = self.imp();
selfImp
.resetAboutButton
.connect_clicked(clone!(@ weak self as window => move |_| {
let dialog = adw::AboutWindow::builder()
.application_name("ReSet")
.application_icon("ReSet")
.developer_name("Xetibo")
.license("GPL-3.0")
.license_type(gtk::License::Gpl30)
.website("https://github.com/Xetibo/ReSet")
.issue_url("https://github.com/Xetibo/ReSet/issues")
.version("0.0.1")
.transient_for(&window)
.modal(true)
.copyright("© 2022-2023 Xetibo")
.developers(vec!["DashieTM".to_string(), "Takatori".to_string()])
.designers(vec!["DashieTM".to_string(), "Takatori".to_string()])
.build();
dialog.present();
}));
}
}
impl SidebarEntry {
@ -223,4 +248,3 @@ impl SidebarEntry {
}
}
}

View file

@ -16,7 +16,7 @@ pub enum Categories {
#[allow(non_snake_case)]
#[derive(CompositeTemplate, Default)]
#[template(resource = "/org/xetibo/reset/resetSidebarEntry.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetSidebarEntry.ui")]
pub struct SidebarEntry {
#[template_child]
pub resetSidebarLabel: TemplateChild<Label>,

View file

@ -3,7 +3,7 @@ use adw::subclass::prelude::AdwApplicationWindowImpl;
use adw::{Breakpoint, OverlaySplitView};
use glib::subclass::InitializingObject;
use gtk::subclass::prelude::*;
use gtk::{glib, Box, Button, CompositeTemplate, FlowBox, ListBox, SearchEntry};
use gtk::{glib, Box, Button, CompositeTemplate, FlowBox, ListBox, SearchEntry, PopoverMenu};
use std::cell::RefCell;
use crate::components::wifi::WifiBox;
@ -11,7 +11,7 @@ use crate::components::window::SidebarEntry;
#[allow(non_snake_case)]
#[derive(CompositeTemplate, Default)]
#[template(resource = "/org/xetibo/reset/resetMainWindow.ui")]
#[template(resource = "/org/Xetibo/ReSet/resetMainWindow.ui")]
pub struct Window {
#[template_child]
pub resetMain: TemplateChild<FlowBox>,
@ -28,9 +28,11 @@ pub struct Window {
#[template_child]
pub resetPath: TemplateChild<Box>,
#[template_child]
pub resetMenu: TemplateChild<Button>,
pub resetPopoverMenu: TemplateChild<PopoverMenu>,
#[template_child]
pub resetClose: TemplateChild<Button>,
#[template_child]
pub resetAboutButton: TemplateChild<Button>,
pub sidebarEntries: RefCell<Vec<(SidebarEntry, Vec<SidebarEntry>)>>,
}
@ -56,6 +58,7 @@ impl ObjectImpl for Window {
let object = self.obj();
object.setupCallback();
object.setupPopoverButtons();
object.handleDynamicSidebar();
object.setupSidebarEntries();
}

View file

@ -10,6 +10,8 @@ const APP_ID: &str = "org.Xetibo.ReSet";
fn main() {
gio::resources_register_include!("src.templates.gresource")
.expect("Failed to register resources.");
gio::resources_register_include!("src.icons.gresource")
.expect("Failed to register resources.");
let app = Application::builder().application_id(APP_ID).build();

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="#502100"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="feather feather-settings"
version="1.1"
id="svg1"
sodipodi:docname="ReSet1.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="38.541667"
inkscape:cx="12"
inkscape:cy="11.987027"
inkscape:window-width="3440"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<ellipse
cx="-12"
cy="-12.000001"
id="circle1"
transform="scale(-1)"
rx="2.25"
ry="2.2500007"
style="stroke-width:1.3;stroke-dasharray:none" />
<path
d="m 16.933331,14.000005 a 1.1000004,1.1000012 0 0 0 0.220001,1.213335 l 0.04,0.04 a 1.3333338,1.3333349 0 0 1 0,1.886671 1.3333338,1.3333349 0 0 1 -1.886668,0 l -0.04,-0.04 a 1.1000004,1.1000012 0 0 0 -1.213335,-0.219999 1.1000004,1.1000012 0 0 0 -0.666667,1.006667 v 0.113333 a 1.3333338,1.3333349 0 0 1 -1.333332,1.333326 1.3333338,1.3333349 0 0 1 -1.333334,-1.333336 v -0.06 a 1.1000004,1.1000012 0 0 0 -0.7200005,-1.006666 1.1000004,1.1000012 0 0 0 -1.213334,0.22 l -0.04,0.04 a 1.3333338,1.3333349 0 0 1 -1.8866673,0 1.3333338,1.3333349 0 0 1 0,-1.88667 l 0.04,-0.04001 A 1.1000004,1.1000012 0 0 0 7.1199943,14.053327 1.1000004,1.1000012 0 0 0 6.1133272,13.38666 H 5.9999939 A 1.3333338,1.3333349 0 0 1 4.66666,12.053336 1.3333338,1.3333349 0 0 1 5.9999939,10.720002 h 0.06 a 1.1000004,1.1000012 0 0 0 1.0066674,-0.7200024 1.1000004,1.1000012 0 0 0 -0.22,-1.2133349 l -0.04,-0.04 a 1.3333338,1.3333349 0 0 1 0,-1.8866689 1.3333338,1.3333349 0 0 1 1.8866674,0 l 0.04,0.040001 a 1.1000004,1.1000012 0 0 0 1.2133328,0.2199993 h 0.05333 A 1.1000004,1.1000012 0 0 0 10.666663,6.1133283 V 5.9999948 A 1.3333338,1.3333349 0 0 1 11.999996,4.66666 1.3333338,1.3333349 0 0 1 13.33333,5.9999948 v 0.06 a 1.1000004,1.1000012 0 0 0 0.666668,1.0066678 1.1000004,1.1000012 0 0 0 1.213333,-0.2200002 l 0.04,-0.04 a 1.3333338,1.3333349 0 0 1 1.886668,0 1.3333338,1.3333349 0 0 1 0,1.8866688 l -0.04,0.04 a 1.1000004,1.1000012 0 0 0 -0.220003,1.2133354 v 0.05333 a 1.1000004,1.1000012 0 0 0 1.006669,0.6666684 h 0.113334 A 1.3333338,1.3333349 0 0 1 19.333333,12 1.3333338,1.3333349 0 0 1 17.999999,13.333335 h -0.06 a 1.1000004,1.1000012 0 0 0 -1.006673,0.666667 z"
id="path1"
style="stroke-width:1.3;stroke-dasharray:none" />
<ellipse
style="fill:none;fill-opacity:1;stroke-width:1.3;stroke-dasharray:none"
id="path2"
cx="12.113708"
cy="12.113707"
rx="10.863708"
ry="10.863707" />
<rect
style="fill:none;fill-opacity:1;stroke-width:1.23083;stroke-dasharray:none"
id="rect2"
width="4.2691722"
height="0.06917306"
x="4.0028996"
y="4.8591166" />
<rect
style="fill:none;fill-opacity:1;stroke-width:1.23083;stroke-dasharray:none"
id="rect2-5"
width="0.069173172"
height="4.2691717"
x="3.849386"
y="0.64830494" />
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/Xetibo/ReSet/icons/scalable/actions">
<file preprocess="xml-stripblanks">ReSet.svg</file>
</gresource>
</gresources>

View file

@ -3,6 +3,7 @@
<interface>
<requires lib="gtk" version="4.12"/>
<template class="resetBluetoothEntry" parent="GtkListBoxRow">
<property name="selectable">False</property>
<child>
<object class="GtkBox">
<child>
@ -24,6 +25,7 @@
</child>
<child>
<object class="GtkButton" id="resetBluetoothButton">
<property name="has-frame">False</property>
<property name="icon-name">emblem-system-symbolic</property>
</object>
</child>

View file

@ -28,33 +28,67 @@
</child>
<child>
<object class="GtkButton" id="resetBack">
<property name="has-frame">False</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="valign">start</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetForward">
<property name="has-frame">False</property>
<property name="icon-name">go-previous-symbolic-rtl</property>
<property name="valign">start</property>
</object>
</child>
<child>
<object class="GtkBox" id="resetPath">
<property name="hexpand">True</property>
<property name="hexpand-set">True</property>
<property name="valign">start</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetMenu">
<object class="GtkMenuButton">
<property name="can-shrink">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="hexpand-set">True</property>
<property name="icon-name">open-menu-symbolic</property>
<property name="valign">start</property>
<property name="popover">
<object class="GtkPopoverMenu" id="resetPopoverMenu">
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkButton">
<property name="has-frame">False</property>
<property name="label">Help</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="has-frame">False</property>
<property name="label">Preferences</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetAboutButton">
<property name="has-frame">False</property>
<property name="label">About</property>
</object>
</child>
</object>
</property>
</object>
</property>
<property name="valign">end</property>
<property name="vexpand">True</property>
</object>
</child>
<child>
<object class="GtkButton" id="resetClose">
<property name="halign">start</property>
<property name="icon-name">window-close-symbolic</property>
<property name="valign">start</property>
<property name="margin-start">5</property>
</object>
</child>
</object>
@ -64,7 +98,8 @@
<child>
<object class="GtkFlowBox" id="resetMain">
<property name="column-spacing">25</property>
<property name="homogeneous">True</property>
<property name="hexpand">True</property>
<property name="hexpand-set">True</property>
<property name="row-spacing">25</property>
<property name="selection-mode">none</property>
<property name="valign">start</property>
@ -78,13 +113,13 @@
<property name="max-sidebar-width">180.0</property>
<property name="sidebar">
<object class="GtkBox">
<property name="margin-end">5</property>
<property name="orientation">vertical</property>
<child>
<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>
@ -93,6 +128,7 @@
</child>
<child>
<object class="GtkViewport">
<property name="margin-top">5</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>

View file

@ -27,10 +27,15 @@
(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),
(3,33,"GtkMenuButton",None,25,None,None,None,4,None),
(3,34,"GtkBox","resetPath",25,None,None,None,3,None),
(3,35,"GtkPopoverMenu","resetPopoverMenu",33,None,None,None,-1,None),
(3,36,"GtkBox",None,35,None,None,None,-1,None),
(3,37,"GtkButton",None,36,None,None,None,None,None),
(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),
@ -111,10 +116,11 @@
(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,18,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(3,18,"GtkWidget","margin-end","5",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,21,"GtkWidget","margin-top","5",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),
@ -122,22 +128,39 @@
(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","has-frame","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","has-frame","False",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,31,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
(3,31,"GtkWidget","margin-start","5",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","hexpand","True",None,None,None,None,None,None,None,None,None),
(3,32,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,32,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","can-shrink","True",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","popover",None,None,None,None,None,35,None,None,None,None),
(3,33,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","valign","end",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","vexpand","True",None,None,None,None,None,None,None,None,None),
(3,34,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(3,34,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,34,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(3,35,"GtkPopover","child",None,None,None,None,None,36,None,None,None,None),
(3,36,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(3,37,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,37,"GtkButton","label","Help",None,None,None,None,None,None,None,None,None),
(3,38,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,38,"GtkButton","label","Preferences",None,None,None,None,None,None,None,None,None),
(3,39,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,39,"GtkButton","label","About",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),
@ -159,6 +182,7 @@
(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,1,"GtkListBoxRow","selectable","False",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),
@ -168,6 +192,7 @@
(5,4,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(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,"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),
@ -243,6 +268,7 @@
(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,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),
(11,4,"GtkLabel","ellipsize","end",None,None,None,None,None,None,None,None,None),
@ -252,6 +278,7 @@
(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","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)
</object_property>
<object_data>

View file

@ -3,6 +3,7 @@
<interface>
<requires lib="gtk" version="4.12"/>
<template class="resetWifiEntry" parent="GtkListBoxRow">
<property name="selectable">False</property>
<child>
<object class="GtkBox">
<child>
@ -25,6 +26,7 @@
<child>
<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="valign">center</property>
</object>

View file

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/xetibo/reset/">
<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>
<gresource prefix="/org/Xetibo/ReSet/">
<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>