feat!(dialog): refactor and support rfd as file_chooser provider

This commit is contained in:
Michael Aaron Murphy 2024-01-22 08:08:45 +01:00 committed by Michael Murphy
parent b09b3db81a
commit 0bef593ba4
9 changed files with 618 additions and 362 deletions

View file

@ -11,18 +11,27 @@ name = "cosmic"
a11y = ["iced/a11y", "iced_accessibility"]
# Builds support for animated images
animated-image = ["image", "dep:async-fs", "tokio?/io-util", "tokio?/fs"]
# XXX Use "a11y"; which is causing a panic currently
applet = ["wayland", "tokio", "cosmic-panel-config", "ron"]
applet-token = []
# Use the cosmic-settings-daemon for config handling
dbus-config = ["cosmic-config/dbus", "dep:zbus", "cosmic-settings-daemon"]
# Debug features
debug = ["iced/debug"]
# Enables pipewire support in ashpd, if ashpd is enabled
pipewire = ["ashpd?/pipewire"]
# Enables process spawning helper
process = ["nix"]
process = ["dep:nix"]
# Use rfd for file dialogs
rfd = ["dep:rfd"]
# Enables keycode serialization
serde-keycode = ["iced_core/serde"]
# Prevents multiple separate process instances.
single-instance = ["dep:zbus", "serde", "ron"]
# smol async runtime
smol = ["iced/smol", "zbus?/async-io"]
# Tokio async runtime
tokio = ["dep:tokio", "ashpd?/tokio", "iced/tokio", "zbus?/tokio"]
tokio = ["dep:tokio", "ashpd?/tokio", "iced/tokio", "rfd?/tokio", "zbus?/tokio"]
# Wayland window support
wayland = [
"ashpd?/wayland",
@ -42,35 +51,30 @@ winit_tokio = ["winit", "tokio"]
winit_wgpu = ["winit", "wgpu"]
# Enables XDG portal integrations
xdg-portal = ["ashpd"]
# XXX Use "a11y"; which is causing a panic currently
applet = ["wayland", "tokio", "cosmic-panel-config", "ron"]
applet-token = []
single-instance = ["dep:zbus", "serde", "ron"]
dbus-config = ["cosmic-config/dbus", "dep:zbus", "cosmic-settings-daemon"]
[dependencies]
apply = "0.3.0"
derive_setters = "0.1.5"
lazy_static = "1.4.0"
palette = "0.7.3"
tokio = { version = "1.24.2", optional = true }
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "e65fa5e", optional = true }
slotmap = "1.0.6"
fraction = "0.14.0"
cosmic-config = { path = "cosmic-config" }
tracing = "0.1"
image = { version = "0.24.6", optional = true }
thiserror = "1.0.44"
ashpd = { version = "0.6.8", default-features = false, optional = true }
async-fs = { version = "2.1", optional = true }
ashpd = { version = "0.6.0", default-features = false, optional = true }
url = "2.4.0"
unicode-segmentation = "1.6"
css-color = "0.2.5"
nix = { version = "0.27", features = ["process"], optional = true }
zbus = {version = "3.14.1", default-features = false, optional = true}
serde = { version = "1.0.180", optional = true }
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "e65fa5e", optional = true }
cosmic-config = { path = "cosmic-config" }
cosmic-settings-daemon = { git = "https://github.com/pop-os/dbus-settings-bindings", branch = "cosmic-settings-daemon", optional = true }
css-color = "0.2.5"
derive_setters = "0.1.5"
fraction = "0.14.0"
image = { version = "0.24.6", optional = true }
lazy_static = "1.4.0"
nix = { version = "0.27", features = ["process"], optional = true }
palette = "0.7.3"
rfd = { version = "0.13.0", optional = true }
serde = { version = "1.0.180", optional = true }
slotmap = "1.0.6"
thiserror = "1.0.44"
tokio = { version = "1.24.2", optional = true }
tracing = "0.1"
unicode-segmentation = "1.6"
url = "2.4.0"
zbus = {version = "3.14.1", default-features = false, optional = true}
[target.'cfg(unix)'.dependencies]
freedesktop-icons = "0.2.4"