Expose system module through feature flag

This commit is contained in:
Héctor Ramón Jiménez 2022-04-30 13:37:57 +02:00
parent 5eefa5d4ea
commit 93bfe2c75e
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
8 changed files with 30 additions and 14 deletions

View file

@ -42,6 +42,8 @@ smol = ["iced_futures/smol"]
palette = ["iced_core/palette"]
# Enables pure, virtual widgets in the `pure` module
pure = ["iced_pure", "iced_graphics/pure"]
# Enables querying system information
system = ["iced_winit/system"]
[badges]
maintenance = { status = "actively-developed" }

View file

@ -6,5 +6,5 @@ edition = "2021"
publish = false
[dependencies]
iced = { path = "../.." }
bytesize = { version = "1.1.0" }
iced = { path = "../..", features = ["system"] }
bytesize = { version = "1.1.0" }

View file

@ -12,6 +12,7 @@ categories = ["gui"]
[features]
debug = ["iced_winit/debug"]
system = ["iced_winit/system"]
[dependencies.log]
version = "0.4"

View file

@ -22,7 +22,6 @@ pub mod application;
pub use iced_winit::clipboard;
pub use iced_winit::conversion;
pub use iced_winit::settings;
pub use iced_winit::system;
pub use iced_winit::window;
pub use iced_winit::{Error, Mode};
@ -32,3 +31,6 @@ pub use application::Application;
pub use clipboard::Clipboard;
#[doc(no_inline)]
pub use settings::Settings;
#[cfg(feature = "system")]
pub use iced_winit::system;

View file

@ -224,8 +224,10 @@ pub use settings::Settings;
pub use runtime::alignment;
pub use runtime::futures;
pub use runtime::system;
pub use runtime::{
Alignment, Background, Color, Command, ContentFit, Font, Length, Point,
Rectangle, Size, Subscription, Vector,
};
#[cfg(feature = "system")]
pub use runtime::system;

View file

@ -12,12 +12,12 @@ categories = ["gui"]
[features]
debug = ["iced_native/debug"]
system = ["sysinfo"]
[dependencies]
window_clipboard = "0.2"
log = "0.4"
thiserror = "1.0"
sysinfo = "0.23"
[dependencies.winit]
version = "0.26"
@ -42,3 +42,7 @@ version = "0.3.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = ["Document", "Window"]
[dependencies.sysinfo]
version = "0.23"
optional = true

View file

@ -542,7 +542,7 @@ pub fn run_command<Message: 'static + std::fmt::Debug + Send, E: Executor>(
clipboard: &mut Clipboard,
proxy: &mut winit::event_loop::EventLoopProxy<Message>,
window: &winit::window::Window,
graphics_info: impl FnOnce() -> compositor::Information + Copy,
_graphics_info: impl FnOnce() -> compositor::Information + Copy,
) {
use iced_native::command;
use iced_native::system;
@ -580,15 +580,18 @@ pub fn run_command<Message: 'static + std::fmt::Debug + Send, E: Executor>(
}
},
command::Action::System(action) => match action {
system::Action::QueryInformation(tag) => {
let information =
crate::system::information(graphics_info());
system::Action::QueryInformation(_tag) => {
#[cfg(feature = "sysinfo")]
{
let information =
crate::system::information(_graphics_info());
let message = tag(information);
let message = _tag(information);
proxy
.send_event(message)
.expect("Send message to event loop");
proxy
.send_event(message)
.expect("Send message to event loop");
}
}
},
}

View file

@ -31,9 +31,11 @@ pub mod application;
pub mod clipboard;
pub mod conversion;
pub mod settings;
pub mod system;
pub mod window;
#[cfg(feature = "system")]
pub mod system;
mod error;
mod mode;
mod position;