chore: bump versions of dependencies, small refactor on errors -> use macros

This commit is contained in:
DashieTM 2024-05-06 20:47:26 +02:00
parent 822a6a7146
commit 84660083f9
14 changed files with 1241 additions and 57 deletions

10
Cargo.lock generated
View file

@ -968,9 +968,9 @@ dependencies = [
[[package]] [[package]]
name = "re_set-lib" name = "re_set-lib"
version = "3.3.0" version = "3.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e610c5187314da0f61fe746ca0102e6d4ca2914f7f8f99ce3723af49c9673dc" checksum = "d25cf78a85f7e39ca17fd755a370044d828b1d99998f41a6778d4d707e278c74"
dependencies = [ dependencies = [
"dbus", "dbus",
"dbus-crossroads", "dbus-crossroads",
@ -1005,7 +1005,7 @@ dependencies = [
[[package]] [[package]]
name = "reset" name = "reset"
version = "1.1.1" version = "1.2.0"
dependencies = [ dependencies = [
"dbus", "dbus",
"fork", "fork",
@ -1021,9 +1021,9 @@ dependencies = [
[[package]] [[package]]
name = "reset_daemon" name = "reset_daemon"
version = "1.2.1" version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff3634f15c02c4a1394d4e26c10b12df4e1e6d5eff3a3cd5afe9b574e98f322a" checksum = "130fefb02b41748af697f67ff201fffe5e73864331a177442e7cd9910b538fb1"
dependencies = [ dependencies = [
"crossbeam", "crossbeam",
"dbus", "dbus",

View file

@ -1,16 +1,14 @@
[package] [package]
name = "reset" name = "reset"
version = "1.1.1" version = "1.2.0"
edition = "2021" edition = "2021"
description = "A wip universal Linux settings application." description = "A wip universal Linux settings application."
repository = "https://github.com/Xetibo/ReSet" repository = "https://github.com/Xetibo/ReSet"
license = "GPL-3.0-or-later" license = "GPL-3.0-or-later"
[dependencies] [dependencies]
#reset_daemon = { git = "https://github.com/Xetibo/ReSet-Daemon", branch = "dashie" } reset_daemon = "1.3.1"
reset_daemon = "1.2.1" re_set-lib = "3.4.1"
#re_set-lib = { git = "https://github.com/Xetibo/ReSet-Lib" , branch = "audioobject"}
re_set-lib = "3.3.0"
adw = { version = "0.6.0", package = "libadwaita", features = ["v1_4"] } adw = { version = "0.6.0", package = "libadwaita", features = ["v1_4"] }
dbus = "0.9.7" dbus = "0.9.7"
gtk = { version = "0.8.1", package = "gtk4", features = ["v4_12"] } gtk = { version = "0.8.1", package = "gtk4", features = ["v4_12"] }

View file

@ -15,8 +15,12 @@ use gtk::{
use re_set_lib::{ use re_set_lib::{
audio::audio_structures::{Card, TAudioObject, TAudioStreamObject}, audio::audio_structures::{Card, TAudioObject, TAudioStreamObject},
signals::{TAudioEventRemoved, TAudioObjectEvent, TAudioStreamEvent}, signals::{TAudioEventRemoved, TAudioObjectEvent, TAudioStreamEvent},
ERROR,
}; };
#[cfg(debug_assertions)]
use re_set_lib::{utils::macros::ErrorLevel, write_log_to_file};
use crate::components::{ use crate::components::{
base::{card_entry::CardEntry, error_impl::ReSetErrorImpl, list_entry::ListEntry}, base::{card_entry::CardEntry, error_impl::ReSetErrorImpl, list_entry::ListEntry},
utils::{create_dropdown_label_factory, set_combo_row_ellipsis, BASE, DBUS_PATH}, utils::{create_dropdown_label_factory, set_combo_row_ellipsis, BASE, DBUS_PATH},
@ -365,8 +369,7 @@ pub fn start_audio_box_listener<
>(object_added_box.clone(), ir, dummy_name) >(object_added_box.clone(), ir, dummy_name)
}); });
if res.is_err() { if res.is_err() {
// TODO: handle this with the log/error macro ERROR!("fail on source add event", ErrorLevel::PartialBreakage);
println!("fail on source add event");
return conn; return conn;
} }
@ -384,7 +387,7 @@ pub fn start_audio_box_listener<
>(object_changed_box.clone(), ir, get_default_name_function) >(object_changed_box.clone(), ir, get_default_name_function)
}); });
if res.is_err() { if res.is_err() {
println!("fail on source change event"); ERROR!("fail on source change event", ErrorLevel::PartialBreakage);
return conn; return conn;
} }
@ -402,7 +405,7 @@ pub fn start_audio_box_listener<
>(object_removed_box.clone(), ir, dummy_name) >(object_removed_box.clone(), ir, dummy_name)
}); });
if res.is_err() { if res.is_err() {
println!("fail on source remove event"); ERROR!("fail on source remove event", ErrorLevel::PartialBreakage);
return conn; return conn;
} }
@ -420,7 +423,10 @@ pub fn start_audio_box_listener<
>(stream_added_box.clone(), ir) >(stream_added_box.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on output stream add event"); ERROR!(
"fail on output stream add event",
ErrorLevel::PartialBreakage
);
return conn; return conn;
} }
@ -438,7 +444,10 @@ pub fn start_audio_box_listener<
>(stream_changed_box.clone(), ir) >(stream_changed_box.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on output stream change event"); ERROR!(
"fail on output stream change event",
ErrorLevel::PartialBreakage
);
return conn; return conn;
} }
@ -456,7 +465,10 @@ pub fn start_audio_box_listener<
>(stream_removed_box.clone(), ir) >(stream_removed_box.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on output stream remove event"); ERROR!(
"fail on output stream remove event",
ErrorLevel::PartialBreakage
);
return conn; return conn;
} }

View file

@ -24,7 +24,6 @@ impl ReSetError {
.imp() .imp()
.reset_error_button .reset_error_button
.connect_clicked(clone!(@strong error => move |_| { .connect_clicked(clone!(@strong error => move |_| {
println!("pingpangpung");
error.popdown(); error.popdown();
})); }));
error error

View file

@ -14,8 +14,14 @@ use glib::{clone, ControlFlow};
use gtk::glib::Variant; use gtk::glib::Variant;
use gtk::prelude::{ActionableExt, ButtonExt, ListBoxRowExt, WidgetExt}; use gtk::prelude::{ActionableExt, ButtonExt, ListBoxRowExt, WidgetExt};
use gtk::{gio, StringObject}; use gtk::{gio, StringObject};
use re_set_lib::bluetooth::bluetooth_structures::{BluetoothAdapter, BluetoothDevice}; use re_set_lib::{
use re_set_lib::signals::{BluetoothDeviceAdded, BluetoothDeviceChanged, BluetoothDeviceRemoved}; bluetooth::bluetooth_structures::{BluetoothAdapter, BluetoothDevice},
signals::{BluetoothDeviceAdded, BluetoothDeviceChanged, BluetoothDeviceRemoved},
ERROR
};
#[cfg(debug_assertions)]
use re_set_lib::{utils::macros::ErrorLevel, write_log_to_file};
use crate::components::base::error_impl::{show_error, ReSetErrorImpl}; use crate::components::base::error_impl::{show_error, ReSetErrorImpl};
use crate::components::base::utils::Listeners; use crate::components::base::utils::Listeners;
@ -318,7 +324,10 @@ pub fn start_bluetooth_listener(listeners: Arc<Listeners>, bluetooth_box: Arc<Bl
device_added_handler(device_added_box.clone(), ir) device_added_handler(device_added_box.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on bluetooth device add event"); ERROR!(
"fail on bluetooth device add event",
ErrorLevel::PartialBreakage
);
return; return;
} }
@ -326,7 +335,10 @@ pub fn start_bluetooth_listener(listeners: Arc<Listeners>, bluetooth_box: Arc<Bl
device_removed_handler(device_removed_box.clone(), ir) device_removed_handler(device_removed_box.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on bluetooth device remove event"); ERROR!(
"fail on bluetooth device remove event",
ErrorLevel::PartialBreakage
);
return; return;
} }
@ -334,7 +346,10 @@ pub fn start_bluetooth_listener(listeners: Arc<Listeners>, bluetooth_box: Arc<Bl
device_changed_handler(device_changed_box.clone(), ir) device_changed_handler(device_changed_box.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on bluetooth device remove event"); ERROR!(
"fail on bluetooth device remove event",
ErrorLevel::PartialBreakage
);
return; return;
} }

View file

@ -20,9 +20,15 @@ use glib::{clone, ControlFlow};
use gtk::glib::Variant; use gtk::glib::Variant;
use gtk::prelude::ActionableExt; use gtk::prelude::ActionableExt;
use gtk::{gio, StringList, StringObject}; use gtk::{gio, StringList, StringObject};
use re_set_lib::network::network_structures::{AccessPoint, WifiDevice}; use re_set_lib::{
use re_set_lib::signals::{AccessPointAdded, WifiDeviceChanged, WifiDeviceReset}; network::network_structures::{AccessPoint, WifiDevice},
use re_set_lib::signals::{AccessPointChanged, AccessPointRemoved}; signals::{AccessPointAdded, WifiDeviceChanged, WifiDeviceReset},
signals::{AccessPointChanged, AccessPointRemoved},
ERROR,
};
#[cfg(debug_assertions)]
use re_set_lib::{utils::macros::ErrorLevel, write_log_to_file};
use crate::components::wifi::wifi_box_impl; use crate::components::wifi::wifi_box_impl;
use crate::components::wifi::wifi_entry::WifiEntry; use crate::components::wifi::wifi_entry::WifiEntry;
@ -324,35 +330,50 @@ pub fn start_event_listener(listeners: Arc<Listeners>, wifi_box: Arc<WifiBox>) {
access_point_added_handler(added_ref.clone(), ir) access_point_added_handler(added_ref.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on access point add event"); ERROR!(
"fail on access point add event",
ErrorLevel::PartialBreakage
);
return; return;
} }
let res = conn.add_match(access_point_removed, move |ir: AccessPointRemoved, _, _| { let res = conn.add_match(access_point_removed, move |ir: AccessPointRemoved, _, _| {
access_point_removed_handler(removed_ref.clone(), ir) access_point_removed_handler(removed_ref.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on access point remove event"); ERROR!(
"fail on access point remove event",
ErrorLevel::PartialBreakage
);
return; return;
} }
let res = conn.add_match(access_point_changed, move |ir: AccessPointChanged, _, _| { let res = conn.add_match(access_point_changed, move |ir: AccessPointChanged, _, _| {
access_point_changed_handler(changed_ref.clone(), ir) access_point_changed_handler(changed_ref.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on access point change event"); ERROR!(
"fail on access point change event",
ErrorLevel::PartialBreakage
);
return; return;
} }
let res = conn.add_match(device_changed, move |ir: WifiDeviceChanged, _, _| { let res = conn.add_match(device_changed, move |ir: WifiDeviceChanged, _, _| {
wifi_device_changed_handler(wifi_changed_ref.clone(), ir) wifi_device_changed_handler(wifi_changed_ref.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on wifi device change event"); ERROR!(
"fail on wifi device change event",
ErrorLevel::PartialBreakage
);
return; return;
} }
let res = conn.add_match(devices_reset, move |ir: WifiDeviceReset, _, _| { let res = conn.add_match(devices_reset, move |ir: WifiDeviceReset, _, _| {
wifi_device_reset_handler(wifi_reset_ref.clone(), ir) wifi_device_reset_handler(wifi_reset_ref.clone(), ir)
}); });
if res.is_err() { if res.is_err() {
println!("fail on wifi device change event"); ERROR!(
"fail on wifi device change event",
ErrorLevel::PartialBreakage
);
return; return;
} }

View file

@ -144,11 +144,10 @@ impl ReSetWindow {
let mut plugin_sidebar_list = vec![]; let mut plugin_sidebar_list = vec![];
unsafe { unsafe {
for plugin in FRONTEND_PLUGINS.iter() { for plugin in FRONTEND_PLUGINS.iter() {
let plugin_capabilities = &plugin.capabilities; let plugin_capabilities = &plugin.capabilities;
(plugin.frontend_startup)(); (plugin.frontend_startup)();
let (sidebar_info, plugin_boxes) = (plugin.frontend_data)(); let (sidebar_info, plugin_boxes) = (plugin.frontend_data)();
let listeners = self_imp.listeners.clone(); let listeners = self_imp.listeners.clone();
@ -241,6 +240,17 @@ impl ReSetWindow {
}) })
.build(); .build();
let banner_action = ActionEntry::builder("banner")
.parameter_type(Some(&String::static_variant_type()))
.activate(move |window: &Self, _, text| {
let imp = window.imp();
if let Some(text) = text {
imp.reset_banner.set_title(&text.to_string());
}
imp.reset_banner.set_revealed(true);
})
.build();
let close_action = ActionEntry::builder("close") let close_action = ActionEntry::builder("close")
.activate(move |window: &Self, _, _| { .activate(move |window: &Self, _, _| {
window.close(); window.close();
@ -320,6 +330,7 @@ impl ReSetWindow {
self.add_action_entries([ self.add_action_entries([
search_action, search_action,
banner_action,
close_action, close_action,
about_action, about_action,
vim_up, vim_up,
@ -385,6 +396,12 @@ fn setup_callback(window: Rc<ReSetWindow>) -> Rc<ReSetWindow> {
self_imp.reset_close.connect_clicked(move |_| { self_imp.reset_close.connect_clicked(move |_| {
close_ref.close(); close_ref.close();
}); });
self_imp.reset_banner.connect_button_clicked(|banner| {
banner.set_revealed(false);
banner.set_title("Info");
});
window window
} }

View file

@ -25,6 +25,8 @@ pub struct ReSetWindow {
#[template_child] #[template_child]
pub reset_main: TemplateChild<FlowBox>, pub reset_main: TemplateChild<FlowBox>,
#[template_child] #[template_child]
pub reset_banner: TemplateChild<adw::Banner>,
#[template_child]
pub reset_sidebar_breakpoint: TemplateChild<Breakpoint>, pub reset_sidebar_breakpoint: TemplateChild<Breakpoint>,
#[template_child] #[template_child]
pub reset_overlay_split_view: TemplateChild<OverlaySplitView>, pub reset_overlay_split_view: TemplateChild<OverlaySplitView>,
@ -36,6 +38,8 @@ pub struct ReSetWindow {
pub reset_sidebar_toggle: TemplateChild<Button>, pub reset_sidebar_toggle: TemplateChild<Button>,
#[template_child] #[template_child]
pub reset_close: TemplateChild<Button>, pub reset_close: TemplateChild<Button>,
// #[template_child]
// pub reset_banner: TemplateChild<adw::Banner>,
pub sidebar_entries: SidebarEntries, pub sidebar_entries: SidebarEntries,
pub default_entry: RefCell<Option<Rc<SidebarEntry>>>, pub default_entry: RefCell<Option<Rc<SidebarEntry>>>,
pub listeners: Arc<Listeners>, pub listeners: Arc<Listeners>,
@ -81,14 +85,20 @@ impl WidgetImpl for ReSetWindow {
if width > 658 { if width > 658 {
self.reset_main.set_margin_start(60); self.reset_main.set_margin_start(60);
self.reset_main.set_margin_end(60); self.reset_main.set_margin_end(60);
self.reset_banner.set_margin_start(60);
self.reset_banner.set_margin_end(60);
} else { } else {
let div = (width - 540) / 2; let div = (width - 540) / 2;
if div > 1 { if div > 1 {
self.reset_main.set_margin_start(div); self.reset_main.set_margin_start(div);
self.reset_main.set_margin_end(div); self.reset_main.set_margin_end(div);
self.reset_banner.set_margin_start(div);
self.reset_banner.set_margin_end(div);
} else { } else {
self.reset_main.set_margin_start(0); self.reset_main.set_margin_start(0);
self.reset_main.set_margin_end(0); self.reset_main.set_margin_end(0);
self.reset_banner.set_margin_start(0);
self.reset_banner.set_margin_end(0);
} }
} }
} }

View file

@ -39,7 +39,6 @@
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="hexpand-set">True</property> <property name="hexpand-set">True</property>
<property name="icon-name">open-menu-symbolic</property> <property name="icon-name">open-menu-symbolic</property>
<property name="menu-model">main_menu</property>
<property name="valign">end</property> <property name="valign">end</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
</object> </object>
@ -63,14 +62,27 @@
<child> <child>
<object class="GtkViewport"> <object class="GtkViewport">
<child> <child>
<object class="GtkFlowBox" id="reset_main"> <object class="GtkBox">
<property name="column-spacing">25</property> <property name="orientation">vertical</property>
<property name="hexpand">True</property> <child>
<property name="hexpand-set">True</property> <object class="AdwBanner" id="reset_banner">
<property name="margin-top">5</property> <property name="button-label">Acknowledge</property>
<property name="row-spacing">25</property> <property name="css-classes">banner</property>
<property name="selection-mode">none</property> <property name="margin-bottom">5</property>
<property name="valign">start</property> <property name="margin-top">5</property>
</object>
</child>
<child>
<object class="GtkFlowBox" id="reset_main">
<property name="column-spacing">25</property>
<property name="hexpand">True</property>
<property name="hexpand-set">True</property>
<property name="margin-top">5</property>
<property name="row-spacing">25</property>
<property name="selection-mode">none</property>
<property name="valign">start</property>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>

View file

@ -45,12 +45,10 @@
(3,40,"GtkScrolledWindow",None,18,None,None,None,1,None,None), (3,40,"GtkScrolledWindow",None,18,None,None,None,1,None,None),
(3,41,"GtkViewport",None,40,None,None,None,None,None,None), (3,41,"GtkViewport",None,40,None,None,None,None,None,None),
(3,42,"GtkListBox","reset_sidebar_list",41,None,None,None,None,None,None), (3,42,"GtkListBox","reset_sidebar_list",41,None,None,None,None,None,None),
(3,43,"GtkScrolledWindow",None,3,None,None,None,1,None,None), (3,43,"GtkScrolledWindow",None,3,None,None,None,2,None,None),
(3,44,"GtkViewport",None,43,None,None,None,None,None,None), (3,44,"GtkViewport",None,43,None,None,None,1,None,None),
(3,45,"GtkFlowBox","reset_main",44,None,None,None,None,None,None),
(3,54,"(menu)","main_menu",None,None,None,None,None,None,None), (3,54,"(menu)","main_menu",None,None,None,None,None,None,None),
(3,59,"(external)","54",None,None,None,None,None,None,None), (3,59,"(external)","54",None,None,None,None,None,None,None),
(3,61,"(external)","59",None,None,None,None,None,None,None),
(3,63,"(external)","61",None,None,None,None,None,None,None), (3,63,"(external)","61",None,None,None,None,None,None,None),
(3,65,"(external)","63",None,None,None,None,None,None,None), (3,65,"(external)","63",None,None,None,None,None,None,None),
(3,69,"(external)","67",None,None,None,None,None,None,None), (3,69,"(external)","67",None,None,None,None,None,None,None),
@ -59,6 +57,9 @@
(3,74,"(external)","72",None,None,None,None,None,None,None), (3,74,"(external)","72",None,None,None,None,None,None,None),
(3,75,"(item)",None,54,None,None,None,2,None,None), (3,75,"(item)",None,54,None,None,None,2,None,None),
(3,76,"(external)","74",None,None,None,None,None,None,None), (3,76,"(external)","74",None,None,None,None,None,None,None),
(3,78,"GtkBox",None,44,None,None,None,-1,None,None),
(3,79,"AdwBanner","reset_banner",78,None,None,None,None,None,None),
(3,80,"GtkFlowBox","reset_main",78,None,None,None,1,None,None),
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None,None), (4,7,"GtkBox","resetWifi",None,None,None,None,None,None,None),
(4,152,"AdwNavigationView","reset_wifi_navigation",7,None,None,None,1,None,None), (4,152,"AdwNavigationView","reset_wifi_navigation",7,None,None,None,1,None,None),
(4,153,"AdwNavigationPage",None,152,None,None,None,None,None,None), (4,153,"AdwNavigationPage",None,152,None,None,None,None,None,None),
@ -346,7 +347,7 @@
(3,33,"GtkMenuButton","can-shrink","True",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","has-frame","False",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","has-frame","False",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","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","menu-model","54",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","menu-model",None,None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None), (3,33,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), (3,33,"GtkWidget","hexpand","True",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","hexpand-set","True",None,None,None,None,None,None,None,None,None),
@ -357,17 +358,22 @@
(3,42,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None), (3,42,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None),
(3,42,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None), (3,42,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None),
(3,43,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), (3,43,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None),
(3,45,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None),
(3,45,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None),
(3,45,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None),
(3,45,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(3,45,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,45,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(3,45,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(3,73,"(item)","action","win.about",None,None,None,None,None,None,None,None,None), (3,73,"(item)","action","win.about",None,None,None,None,None,None,None,None,None),
(3,73,"(item)","label","About",None,None,None,None,None,None,None,None,None), (3,73,"(item)","label","About",None,None,None,None,None,None,None,None,None),
(3,75,"(item)","action","win.show-help-overlay",None,None,None,None,None,None,None,None,None), (3,75,"(item)","action","win.show-help-overlay",None,None,None,None,None,None,None,None,None),
(3,75,"(item)","label","Shortcuts",None,None,None,None,None,None,None,None,None), (3,75,"(item)","label","Shortcuts",None,None,None,None,None,None,None,None,None),
(3,78,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(3,79,"AdwBanner","button-label","Acknowledge",None,None,None,None,None,None,None,None,None),
(3,79,"GtkWidget","css-classes","banner",None,None,None,None,None,None,None,None,None),
(3,79,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
(3,79,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(3,80,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None),
(3,80,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None),
(3,80,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None),
(3,80,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(3,80,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,80,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(3,80,"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,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(4,7,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), (4,7,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,7,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), (4,7,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),

View file

@ -27,4 +27,8 @@ row.audioRow {
notebook > stack > box, notebook > stack { notebook > stack > box, notebook > stack {
background-color: @window_bg_color; background-color: @window_bg_color;
} }
banner {
border-radius: 5px;
}

1090
test_plugin/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -7,7 +7,7 @@ edition = "2021"
crate-type = ["dylib"] crate-type = ["dylib"]
[dependencies] [dependencies]
re_set-lib = { git = "https://github.com/Xetibo/ReSet-Lib" } re_set-lib = "3.4.0"
gtk = { version = "0.8.1", package = "gtk4", features = ["v4_12"] } gtk = { version = "0.8.1", package = "gtk4", features = ["v4_12"] }
dbus = "0.9.7" dbus = "0.9.7"
glib = "0.19.3" glib = "0.19.3"