diff --git a/Cargo.toml b/Cargo.toml index 65e2c1e..9acbf17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,12 +8,12 @@ license = "GPL-3.0-only" [dependencies] reset_daemon = "1.0.1" -re_set-lib = "1.0.0" -adw = { version = "0.5.3", package = "libadwaita", features = ["v1_4"] } +re_set-lib = "2.0.0" +adw = { version = "0.6.0", package = "libadwaita", features = ["v1_4"] } dbus = "0.9.7" -gtk = { version = "0.7.3", package = "gtk4", features = ["v4_12"] } -glib = "0.18.3" -tokio = { version = "1.33.0", features = [ +gtk = { version = "0.8.1", package = "gtk4", features = ["v4_12"] } +glib = "0.19.2" +tokio = { version = "1.36.0", features = [ "rt", "time", "net", @@ -25,4 +25,4 @@ fork = "0.1.22" ipnetwork = "0.20.0" [build-dependencies] -glib-build-tools = "0.18.0" +glib-build-tools = "0.19.0" diff --git a/src/components/audio/input/output_stream_entry.rs b/src/components/audio/input/output_stream_entry.rs index deefc99..4cb848c 100644 --- a/src/components/audio/input/output_stream_entry.rs +++ b/src/components/audio/input/output_stream_entry.rs @@ -10,7 +10,8 @@ use adw::prelude::{ButtonExt, ComboRowExt, PreferencesRowExt, RangeExt}; use dbus::blocking::Connection; use dbus::Error; use glib::subclass::types::ObjectSubclassIsExt; -use glib::{clone, Cast, Propagation}; +use glib::{clone, Propagation}; +use glib::prelude::Cast; use gtk::{gio, StringObject}; use re_set_lib::audio::audio_structures::OutputStream; diff --git a/src/components/audio/input/source_box_handlers.rs b/src/components/audio/input/source_box_handlers.rs index 939385f..233108b 100644 --- a/src/components/audio/input/source_box_handlers.rs +++ b/src/components/audio/input/source_box_handlers.rs @@ -4,7 +4,8 @@ use std::{ }; use adw::prelude::{ComboRowExt, PreferencesRowExt}; -use glib::{subclass::types::ObjectSubclassIsExt, Cast, ControlFlow, Propagation}; +use glib::{subclass::types::ObjectSubclassIsExt, ControlFlow, Propagation}; +use glib::prelude::Cast; use gtk::{ gio, prelude::{BoxExt, ButtonExt, CheckButtonExt, ListBoxRowExt, RangeExt}, diff --git a/src/components/audio/output/input_stream_entry.rs b/src/components/audio/output/input_stream_entry.rs index 350b268..c66b26a 100644 --- a/src/components/audio/output/input_stream_entry.rs +++ b/src/components/audio/output/input_stream_entry.rs @@ -10,7 +10,8 @@ use adw::prelude::{ButtonExt, ComboRowExt, PreferencesRowExt, RangeExt}; use dbus::blocking::Connection; use dbus::Error; use glib::subclass::types::ObjectSubclassIsExt; -use glib::{clone, Cast, Propagation}; +use glib::{clone, Propagation}; +use glib::prelude::Cast; use gtk::{gio, StringObject}; use re_set_lib::audio::audio_structures::InputStream; diff --git a/src/components/audio/output/sink_box_handlers.rs b/src/components/audio/output/sink_box_handlers.rs index 8039cd0..ea75d03 100644 --- a/src/components/audio/output/sink_box_handlers.rs +++ b/src/components/audio/output/sink_box_handlers.rs @@ -7,7 +7,8 @@ use adw::{ prelude::{ComboRowExt, PreferencesRowExt}, ComboRow, }; -use glib::{subclass::types::ObjectSubclassIsExt, Cast, Propagation}; +use glib::{subclass::types::ObjectSubclassIsExt, Propagation}; +use glib::prelude::Cast; use gtk::{ gio, prelude::{BoxExt, ButtonExt, CheckButtonExt, ListBoxRowExt, RangeExt}, diff --git a/src/components/base/card_entry.rs b/src/components/base/card_entry.rs index 150006e..d3f9308 100644 --- a/src/components/base/card_entry.rs +++ b/src/components/base/card_entry.rs @@ -5,7 +5,8 @@ use adw::prelude::{ComboRowExt, PreferencesRowExt}; use dbus::blocking::Connection; use dbus::Error; use glib::subclass::types::ObjectSubclassIsExt; -use glib::{clone, Cast}; +use glib::{clone}; +use glib::prelude::Cast; use gtk::{gio, StringList, StringObject}; use components::utils::create_dropdown_label_factory; diff --git a/src/components/base/list_entry.rs b/src/components/base/list_entry.rs index 27ed7c9..88e4a87 100644 --- a/src/components/base/list_entry.rs +++ b/src/components/base/list_entry.rs @@ -1,5 +1,6 @@ use crate::components::base::list_entry_impl; -use adw::glib::{IsA, Object}; +use adw::glib::{Object}; +use glib::prelude::IsA; use gtk::prelude::ListBoxRowExt; use gtk::Widget; diff --git a/src/components/base/setting_box.rs b/src/components/base/setting_box.rs index c6ca3d6..2afff96 100644 --- a/src/components/base/setting_box.rs +++ b/src/components/base/setting_box.rs @@ -1,11 +1,12 @@ use crate::components::base::setting_box_impl; -use adw::glib::{IsA, Object}; +use adw::glib::{Object}; +use glib::prelude::IsA; use gtk::prelude::BoxExt; use gtk::Widget; glib::wrapper! { pub struct SettingBox(ObjectSubclass) - @extends gtk::Box, gtk::Widget, + @extends gtk::Box, Widget, @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget; } diff --git a/src/components/bluetooth/bluetooth_box.rs b/src/components/bluetooth/bluetooth_box.rs index e83a817..0ff6ee9 100644 --- a/src/components/bluetooth/bluetooth_box.rs +++ b/src/components/bluetooth/bluetooth_box.rs @@ -8,7 +8,9 @@ use adw::subclass::prelude::ObjectSubclassIsExt; use dbus::blocking::Connection; use dbus::message::SignalArgs; use dbus::{Error, Path}; -use glib::{clone, Cast, ControlFlow, PropertySet}; +use glib::{clone, ControlFlow}; +use glib::prelude::Cast; +use glib::property::PropertySet; use gtk::glib::Variant; use gtk::prelude::{ActionableExt, ButtonExt, ListBoxRowExt, WidgetExt}; use gtk::{gio, StringObject}; diff --git a/src/components/mod.rs b/src/components/mod.rs index 6cd0ff9..ad9703a 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -4,3 +4,4 @@ pub mod bluetooth; pub mod utils; pub mod wifi; pub mod window; +mod plugin; diff --git a/src/components/plugin/function.rs b/src/components/plugin/function.rs new file mode 100644 index 0000000..940b621 --- /dev/null +++ b/src/components/plugin/function.rs @@ -0,0 +1,13 @@ +extern "C" { + pub fn startup() -> gtk::Box; + pub fn sidebar() -> Sidebar; + pub fn shutdown(); + pub fn run_test(); +} + +pub struct Sidebar { + pub name: String, + pub icon_name: String, + pub parent: String, + pub group: String, +} \ No newline at end of file diff --git a/src/components/plugin/mod.rs b/src/components/plugin/mod.rs new file mode 100644 index 0000000..7fd349b --- /dev/null +++ b/src/components/plugin/mod.rs @@ -0,0 +1 @@ +pub mod function; \ No newline at end of file diff --git a/src/components/utils.rs b/src/components/utils.rs index f803f73..5f49835 100644 --- a/src/components/utils.rs +++ b/src/components/utils.rs @@ -1,7 +1,8 @@ use adw::gdk::pango::EllipsizeMode; use adw::prelude::ListModelExtManual; use adw::{ActionRow, ComboRow}; -use glib::{Cast, Object}; +use glib::{Object}; +use glib::prelude::Cast; use gtk::prelude::{GObjectPropertyExpressionExt, ListBoxRowExt, ListItemExt, WidgetExt}; use gtk::{Align, SignalListItemFactory, StringObject}; diff --git a/src/components/wifi/saved_wifi_entry.rs b/src/components/wifi/saved_wifi_entry.rs index 5e4f6fd..c365d90 100644 --- a/src/components/wifi/saved_wifi_entry.rs +++ b/src/components/wifi/saved_wifi_entry.rs @@ -11,7 +11,8 @@ use adw::prelude::{ActionRowExt, ButtonExt, PreferencesGroupExt, PreferencesRowE use dbus::blocking::Connection; use dbus::{Error, Path}; use glib::subclass::types::ObjectSubclassIsExt; -use glib::{clone, PropertySet}; +use glib::{clone}; +use glib::property::PropertySet; use gtk::prelude::{BoxExt, ListBoxRowExt}; use gtk::{gio, Align, Button, Orientation}; diff --git a/src/components/wifi/wifi_box.rs b/src/components/wifi/wifi_box.rs index 58bf042..da6110a 100644 --- a/src/components/wifi/wifi_box.rs +++ b/src/components/wifi/wifi_box.rs @@ -14,7 +14,9 @@ use dbus::blocking::Connection; use dbus::message::SignalArgs; use dbus::Error; use dbus::Path; -use glib::{clone, Cast, ControlFlow, PropertySet}; +use glib::{clone, ControlFlow}; +use glib::prelude::Cast; +use glib::property::PropertySet; use gtk::glib::Variant; use gtk::prelude::ActionableExt; use gtk::{gio, StringList, StringObject}; diff --git a/src/components/wifi/wifi_entry.rs b/src/components/wifi/wifi_entry.rs index 5051c0f..e2d3b5d 100644 --- a/src/components/wifi/wifi_entry.rs +++ b/src/components/wifi/wifi_entry.rs @@ -4,12 +4,13 @@ use std::time::Duration; use crate::components::utils::{BASE, DBUS_PATH, WIRELESS}; use crate::components::wifi::utils::get_connection_settings; -use adw::glib::{Object, PropertySet}; +use adw::glib::{Object}; use adw::prelude::{ActionRowExt, ButtonExt, EditableExt, PopoverExt, PreferencesRowExt}; use adw::subclass::prelude::ObjectSubclassIsExt; use dbus::blocking::Connection; use dbus::Error; use glib::clone; +use glib::property::PropertySet; use gtk::prelude::{BoxExt, ListBoxRowExt, WidgetExt}; use gtk::{gio, Align, Button, Image, Orientation}; use re_set_lib::network::network_structures::{AccessPoint, WifiStrength}; diff --git a/src/components/wifi/wifi_event_handlers.rs b/src/components/wifi/wifi_event_handlers.rs index 0e5e2db..8a83a0a 100644 --- a/src/components/wifi/wifi_event_handlers.rs +++ b/src/components/wifi/wifi_event_handlers.rs @@ -1,7 +1,8 @@ use std::sync::Arc; use adw::prelude::{ComboRowExt, PreferencesGroupExt, PreferencesRowExt}; -use glib::{subclass::types::ObjectSubclassIsExt, PropertySet}; +use glib::{subclass::types::ObjectSubclassIsExt}; +use glib::property::PropertySet; use gtk::prelude::WidgetExt; use re_set_lib::{ network::network_structures::WifiStrength, diff --git a/src/components/wifi/wifi_options.rs b/src/components/wifi/wifi_options.rs index c8ef059..e58f36e 100644 --- a/src/components/wifi/wifi_options.rs +++ b/src/components/wifi/wifi_options.rs @@ -10,7 +10,8 @@ use adw::prelude::{ActionRowExt, ComboRowExt, PreferencesGroupExt}; use adw::subclass::prelude::ObjectSubclassIsExt; use dbus::arg::PropMap; use dbus::{Error, Path}; -use glib::{clone, PropertySet}; +use glib::{clone}; +use glib::property::PropertySet; use gtk::prelude::{ActionableExt, ButtonExt, EditableExt, ListBoxRowExt, WidgetExt}; use re_set_lib::network::connection::{ Connection, DNSMethod4, DNSMethod6, Enum, KeyManagement, TypeSettings, diff --git a/src/components/window/reset_window_impl.rs b/src/components/window/reset_window_impl.rs index b58e69f..4c81c53 100644 --- a/src/components/window/reset_window_impl.rs +++ b/src/components/window/reset_window_impl.rs @@ -2,9 +2,9 @@ use std::cell::RefCell; use std::rc::Rc; use std::sync::Arc; -use adw::glib::StaticTypeExt; use adw::subclass::prelude::AdwApplicationWindowImpl; use adw::{Breakpoint, OverlaySplitView}; +use glib::prelude::StaticTypeExt; use glib::subclass::InitializingObject; use gtk::prelude::WidgetExt; use gtk::subclass::prelude::*;