fix(layers): disable redundant set current

Refs #459
This commit is contained in:
Hakan Seven committed 2026-08-04 17:37:19 +03:00
1 parent c9550b48f9
commit 675538eb8d
2 files changed
+8 -1

No files matched your search

+3
View File
@@ -879,6 +879,9 @@ pub(super) fn on_tab_close(&mut self, idx: usize) -> Task<Message> {
if let Some(idx) = self.tabs[i].layers.selected {
if let Some(layer) = self.tabs[i].layers.layers.get(idx) {
let name = layer.name.clone();
if name == self.tabs[i].layers.current_layer {
return Task::none();
}
// Mirror the change into the document header (CLAYER) too,
// not just the per-tab default. Otherwise the no-selection
// ribbon refresh (e.g. after Esc) re-reads the stale header
+5 -1
View File
@@ -328,6 +328,10 @@ impl LayerPanel {
.selected
.map(|i| self.layers.get(i).map(|l| l.name == "0").unwrap_or(false))
.unwrap_or(false);
let can_set_current = self
.selected
.and_then(|i| self.layers.get(i))
.is_some_and(|layer| layer.name != self.current_layer);
// ── Toolbar ───────────────────────────────────────────────────────
let toolbar = container(
@@ -343,7 +347,7 @@ impl LayerPanel {
crate::ui::icons::CHECK,
t!("Set Current"),
Message::LayerSetCurrent,
has_sel,
can_set_current,
),
iced::widget::Space::new().width(sizing.width),
// Search box: filters rows by name as the user types (#343).