Do not show remove from sidebar unless the item is a favorite, fixes #368
This commit is contained in:
parent
a9daddb1b0
commit
cf70c16367
2 changed files with 58 additions and 62 deletions
50
Cargo.lock
generated
50
Cargo.lock
generated
|
|
@ -808,9 +808,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06"
|
|||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.18.0"
|
||||
version = "1.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae"
|
||||
checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d"
|
||||
dependencies = [
|
||||
"bytemuck_derive",
|
||||
]
|
||||
|
|
@ -913,9 +913,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.29"
|
||||
version = "1.1.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1"
|
||||
checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
|
|
@ -1212,7 +1212,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cosmic-config"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"atomicwrites",
|
||||
"cosmic-config-derive",
|
||||
|
|
@ -1231,7 +1231,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cosmic-config-derive"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
|
|
@ -1340,7 +1340,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "cosmic-theme"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"almost",
|
||||
"cosmic-config",
|
||||
|
|
@ -2800,7 +2800,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_accessibility",
|
||||
|
|
@ -2819,7 +2819,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_accessibility"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"accesskit",
|
||||
"accesskit_unix",
|
||||
|
|
@ -2829,7 +2829,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_core"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"dnd",
|
||||
|
|
@ -2851,7 +2851,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_futures"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"iced_core",
|
||||
|
|
@ -2864,7 +2864,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_graphics"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"bytemuck",
|
||||
|
|
@ -2888,7 +2888,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_renderer"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"iced_graphics",
|
||||
"iced_tiny_skia",
|
||||
|
|
@ -2900,7 +2900,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_runtime"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_accessibility",
|
||||
|
|
@ -2914,7 +2914,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_sctk"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"enum-repr",
|
||||
"float-cmp",
|
||||
|
|
@ -2941,7 +2941,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_style"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"iced_core",
|
||||
"once_cell",
|
||||
|
|
@ -2951,7 +2951,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_tiny_skia"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cosmic-text",
|
||||
|
|
@ -2968,7 +2968,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_wgpu"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"as-raw-xcb-connection",
|
||||
"bitflags 2.6.0",
|
||||
|
|
@ -2997,7 +2997,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_widget"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_accessibility",
|
||||
|
|
@ -3015,7 +3015,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "iced_winit"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_accessibility",
|
||||
|
|
@ -3531,7 +3531,7 @@ checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
|
|||
[[package]]
|
||||
name = "libcosmic"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#8da25f94e9c363c8c6b93284adf4cf6e07bc3a45"
|
||||
source = "git+https://github.com/pop-os/libcosmic.git#dc97166f914f8273e2521188ba5f1121f0ca3fda"
|
||||
dependencies = [
|
||||
"apply",
|
||||
"ashpd 0.9.2",
|
||||
|
|
@ -4488,9 +4488,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
|||
|
||||
[[package]]
|
||||
name = "pathdiff"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
|
||||
checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361"
|
||||
|
||||
[[package]]
|
||||
name = "pbkdf2"
|
||||
|
|
@ -4710,9 +4710,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "profiling"
|
||||
version = "1.0.15"
|
||||
version = "1.0.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
|
||||
checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d"
|
||||
|
||||
[[package]]
|
||||
name = "pure-rust-locales"
|
||||
|
|
|
|||
70
src/app.rs
70
src/app.rs
|
|
@ -1357,45 +1357,41 @@ impl Application for App {
|
|||
|
||||
fn nav_context_menu(
|
||||
&self,
|
||||
id: widget::nav_bar::Id,
|
||||
entity: widget::nav_bar::Id,
|
||||
) -> Option<Vec<widget::menu::Tree<cosmic::app::Message<Self::Message>>>> {
|
||||
let maybe_trash_entity = self.nav_model.iter().find(|&entity| {
|
||||
self.nav_model
|
||||
.data::<Location>(entity)
|
||||
.map(|loc| *loc == Location::Trash)
|
||||
.unwrap_or_default()
|
||||
});
|
||||
let mut is_context_trash = false;
|
||||
if let Some(trash_id) = maybe_trash_entity {
|
||||
is_context_trash = trash_id == id;
|
||||
let favorite_index_opt = self.nav_model.data::<FavoriteIndex>(entity);
|
||||
let location_opt = self.nav_model.data::<Location>(entity);
|
||||
|
||||
let mut items = Vec::new();
|
||||
|
||||
items.push(cosmic::widget::menu::Item::Button(
|
||||
fl!("open-in-new-tab"),
|
||||
NavMenuAction::OpenInNewTab(entity),
|
||||
));
|
||||
items.push(cosmic::widget::menu::Item::Button(
|
||||
fl!("open-in-new-window"),
|
||||
NavMenuAction::OpenInNewWindow(entity),
|
||||
));
|
||||
items.push(cosmic::widget::menu::Item::Divider);
|
||||
items.push(cosmic::widget::menu::Item::Button(
|
||||
fl!("show-details"),
|
||||
NavMenuAction::Preview(entity),
|
||||
));
|
||||
items.push(cosmic::widget::menu::Item::Divider);
|
||||
if favorite_index_opt.is_some() {
|
||||
items.push(cosmic::widget::menu::Item::Button(
|
||||
fl!("remove-from-sidebar"),
|
||||
NavMenuAction::RemoveFromSidebar(entity),
|
||||
));
|
||||
}
|
||||
Some(cosmic::widget::menu::items(
|
||||
&HashMap::new(),
|
||||
vec![
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("open-in-new-tab"),
|
||||
NavMenuAction::OpenInNewTab(id),
|
||||
),
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("open-in-new-window"),
|
||||
NavMenuAction::OpenInNewWindow(id),
|
||||
),
|
||||
cosmic::widget::menu::Item::Divider,
|
||||
cosmic::widget::menu::Item::Button(fl!("show-details"), NavMenuAction::Preview(id)),
|
||||
cosmic::widget::menu::Item::Divider,
|
||||
if is_context_trash {
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("empty-trash"),
|
||||
NavMenuAction::EmptyTrash,
|
||||
)
|
||||
} else {
|
||||
cosmic::widget::menu::Item::Button(
|
||||
fl!("remove-from-sidebar"),
|
||||
NavMenuAction::RemoveFromSidebar(id),
|
||||
)
|
||||
},
|
||||
],
|
||||
))
|
||||
if matches!(location_opt, Some(Location::Trash)) {
|
||||
items.push(cosmic::widget::menu::Item::Button(
|
||||
fl!("empty-trash"),
|
||||
NavMenuAction::EmptyTrash,
|
||||
));
|
||||
}
|
||||
|
||||
Some(cosmic::widget::menu::items(&HashMap::new(), items))
|
||||
}
|
||||
|
||||
fn nav_model(&self) -> Option<&segmented_button::SingleSelectModel> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue