chore: update dependencies
This adapts to the changed context drawer actions API. Also simplifies the actions code.
This commit is contained in:
parent
a0ac86d2ff
commit
2ba08c4928
5 changed files with 390 additions and 370 deletions
665
Cargo.lock
generated
665
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
12
Cargo.toml
12
Cargo.toml
|
|
@ -9,7 +9,7 @@ rust-version = "1.85"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1"
|
anyhow = "1"
|
||||||
chrono = { version = "0.4", features = ["unstable-locales"] }
|
chrono = { version = "0.4", features = ["unstable-locales"] }
|
||||||
icu = { version = "2.0.0", features = ["compiled_data"] }
|
icu = { version = "2.1.1", features = ["compiled_data"] }
|
||||||
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "d0e95be", optional = true }
|
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "d0e95be", optional = true }
|
||||||
cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true }
|
cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true }
|
||||||
dirs = "6.0.0"
|
dirs = "6.0.0"
|
||||||
|
|
@ -45,8 +45,8 @@ xdg-mime = { git = "https://github.com/ebassi/xdg-mime-rs" }
|
||||||
bzip2 = { version = "0.6", optional = true } #TODO: replace with pure Rust crate
|
bzip2 = { version = "0.6", optional = true } #TODO: replace with pure Rust crate
|
||||||
flate2 = "1.1"
|
flate2 = "1.1"
|
||||||
tar = "0.4.44"
|
tar = "0.4.44"
|
||||||
lzma-rust2 = { version = "0.14", optional = true }
|
lzma-rust2 = { version = "0.15", optional = true }
|
||||||
ordermap = { version = "0.5.12", features = ["serde"] }
|
ordermap = { version = "1.0.0", features = ["serde"] }
|
||||||
# Internationalization
|
# Internationalization
|
||||||
i18n-embed = { version = "0.16", features = [
|
i18n-embed = { version = "0.16", features = [
|
||||||
"fluent-system",
|
"fluent-system",
|
||||||
|
|
@ -56,7 +56,7 @@ i18n-embed-fl = "0.10"
|
||||||
rust-embed = "8"
|
rust-embed = "8"
|
||||||
slotmap = "1.0.7"
|
slotmap = "1.0.7"
|
||||||
recently-used-xbel = { git = "https://github.com/pop-os/recently-used-xbel.git" }
|
recently-used-xbel = { git = "https://github.com/pop-os/recently-used-xbel.git" }
|
||||||
zip = "5.1.1"
|
zip = "6.0"
|
||||||
uzers = "0.12.1"
|
uzers = "0.12.1"
|
||||||
md-5 = "0.10.6"
|
md-5 = "0.10.6"
|
||||||
png = "0.18"
|
png = "0.18"
|
||||||
|
|
@ -70,7 +70,7 @@ default-features = false
|
||||||
features = ["io", "macros", "polling", "runtime"]
|
features = ["io", "macros", "polling", "runtime"]
|
||||||
|
|
||||||
[dependencies.io-uring]
|
[dependencies.io-uring]
|
||||||
version = "0.7.10"
|
version = "0.7.11"
|
||||||
default-features = false
|
default-features = false
|
||||||
optional = true
|
optional = true
|
||||||
|
|
||||||
|
|
@ -111,7 +111,7 @@ inherits = "release"
|
||||||
debug = true
|
debug = true
|
||||||
|
|
||||||
[target.'cfg(unix)'.dependencies]
|
[target.'cfg(unix)'.dependencies]
|
||||||
fork = "0.2"
|
fork = "0.4"
|
||||||
|
|
||||||
[target.'cfg(target_os = "linux")'.dependencies]
|
[target.'cfg(target_os = "linux")'.dependencies]
|
||||||
procfs = "0.18"
|
procfs = "0.18"
|
||||||
|
|
|
||||||
28
src/app.rs
28
src/app.rs
|
|
@ -4732,26 +4732,26 @@ impl Application for App {
|
||||||
]))
|
]))
|
||||||
}
|
}
|
||||||
ContextPage::Preview(entity_opt, kind) => {
|
ContextPage::Preview(entity_opt, kind) => {
|
||||||
let mut actions = Vec::with_capacity(3);
|
|
||||||
let entity = entity_opt.unwrap_or_else(|| self.tab_model.active());
|
let entity = entity_opt.unwrap_or_else(|| self.tab_model.active());
|
||||||
if let Some(tab) = self.tab_model.data::<Tab>(entity) {
|
let actions = self
|
||||||
if let Some(items) = tab.items_opt() {
|
.tab_model
|
||||||
for item in items {
|
.data::<Tab>(entity)
|
||||||
if item.selected {
|
.and_then(|tab| {
|
||||||
actions.extend(item.preview_header().into_iter().map(|element| {
|
tab.items_opt()?
|
||||||
element.map(move |x| Message::TabMessage(Some(entity), x))
|
.iter()
|
||||||
}));
|
.find(|item| item.selected)
|
||||||
break;
|
.map(|item| {
|
||||||
}
|
item.preview_actions()
|
||||||
}
|
.map(move |x| Message::TabMessage(Some(entity), x))
|
||||||
}
|
})
|
||||||
}
|
})
|
||||||
|
.unwrap_or_else(|| widget::horizontal_space().into());
|
||||||
context_drawer::context_drawer(
|
context_drawer::context_drawer(
|
||||||
self.preview(entity_opt, kind, true)
|
self.preview(entity_opt, kind, true)
|
||||||
.map(move |x| Message::TabMessage(Some(entity), x)),
|
.map(move |x| Message::TabMessage(Some(entity), x)),
|
||||||
Message::ToggleContextPage(ContextPage::Preview(Some(entity), kind.clone())),
|
Message::ToggleContextPage(ContextPage::Preview(Some(entity), kind.clone())),
|
||||||
)
|
)
|
||||||
.header_actions(actions)
|
.actions(actions)
|
||||||
}
|
}
|
||||||
ContextPage::Settings => context_drawer::context_drawer(
|
ContextPage::Settings => context_drawer::context_drawer(
|
||||||
self.settings(),
|
self.settings(),
|
||||||
|
|
|
||||||
|
|
@ -1004,24 +1004,22 @@ impl Application for App {
|
||||||
|
|
||||||
match &self.context_page {
|
match &self.context_page {
|
||||||
ContextPage::Preview(_, kind) => {
|
ContextPage::Preview(_, kind) => {
|
||||||
let mut actions = Vec::with_capacity(3);
|
let actions = self
|
||||||
if let Some(items) = self.tab.items_opt() {
|
.tab
|
||||||
for item in items {
|
.items_opt()
|
||||||
if item.selected {
|
.and_then(|items| {
|
||||||
actions.extend(
|
items
|
||||||
item.preview_header()
|
.iter()
|
||||||
.into_iter()
|
.find(|item| item.selected)
|
||||||
.map(|element| element.map(Message::TabMessage)),
|
.map(|item| item.preview_actions().map(Message::TabMessage))
|
||||||
);
|
})
|
||||||
}
|
.unwrap_or_else(|| widget::horizontal_space().into());
|
||||||
}
|
|
||||||
}
|
|
||||||
Some(
|
Some(
|
||||||
context_drawer::context_drawer(
|
context_drawer::context_drawer(
|
||||||
self.preview(kind).map(Message::TabMessage),
|
self.preview(kind).map(Message::TabMessage),
|
||||||
Message::Preview,
|
Message::Preview,
|
||||||
)
|
)
|
||||||
.header_actions(actions),
|
.actions(actions),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
|
||||||
31
src/tab.rs
31
src/tab.rs
|
|
@ -2066,28 +2066,27 @@ impl Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn preview_header(&self) -> Vec<Element<'_, Message>> {
|
pub fn preview_actions(&self) -> Element<'_, Message> {
|
||||||
let mut row = Vec::with_capacity(3);
|
let mut row = widget::row::with_capacity(3)
|
||||||
row.push(
|
.align_y(Alignment::Center)
|
||||||
widget::button::icon(widget::icon::from_name("go-previous-symbolic"))
|
.spacing(theme::spacing().space_xxs)
|
||||||
.on_press(Message::ItemLeft)
|
.push(
|
||||||
.into(),
|
widget::button::icon(widget::icon::from_name("go-previous-symbolic"))
|
||||||
);
|
.on_press(Message::ItemLeft),
|
||||||
row.push(
|
)
|
||||||
widget::button::icon(widget::icon::from_name("go-next-symbolic"))
|
.push(
|
||||||
.on_press(Message::ItemRight)
|
widget::button::icon(widget::icon::from_name("go-next-symbolic"))
|
||||||
.into(),
|
.on_press(Message::ItemRight),
|
||||||
);
|
);
|
||||||
if self.can_gallery() {
|
if self.can_gallery() {
|
||||||
if let Some(_path) = self.path_opt() {
|
if let Some(_path) = self.path_opt() {
|
||||||
row.push(
|
row = row.push(
|
||||||
widget::button::icon(widget::icon::from_name("view-fullscreen-symbolic"))
|
widget::button::icon(widget::icon::from_name("view-fullscreen-symbolic"))
|
||||||
.on_press(Message::Gallery(true))
|
.on_press(Message::Gallery(true)),
|
||||||
.into(),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
row
|
row.into()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn preview_view<'a>(
|
pub fn preview_view<'a>(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue