parent
c9550b48f9
commit
675538eb8d
2 changed files with 8 additions and 1 deletions
|
|
@ -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(idx) = self.tabs[i].layers.selected {
|
||||||
if let Some(layer) = self.tabs[i].layers.layers.get(idx) {
|
if let Some(layer) = self.tabs[i].layers.layers.get(idx) {
|
||||||
let name = layer.name.clone();
|
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,
|
// Mirror the change into the document header (CLAYER) too,
|
||||||
// not just the per-tab default. Otherwise the no-selection
|
// not just the per-tab default. Otherwise the no-selection
|
||||||
// ribbon refresh (e.g. after Esc) re-reads the stale header
|
// ribbon refresh (e.g. after Esc) re-reads the stale header
|
||||||
|
|
|
||||||
|
|
@ -328,6 +328,10 @@ impl LayerPanel {
|
||||||
.selected
|
.selected
|
||||||
.map(|i| self.layers.get(i).map(|l| l.name == "0").unwrap_or(false))
|
.map(|i| self.layers.get(i).map(|l| l.name == "0").unwrap_or(false))
|
||||||
.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 ───────────────────────────────────────────────────────
|
// ── Toolbar ───────────────────────────────────────────────────────
|
||||||
let toolbar = container(
|
let toolbar = container(
|
||||||
|
|
@ -343,7 +347,7 @@ impl LayerPanel {
|
||||||
crate::ui::icons::CHECK,
|
crate::ui::icons::CHECK,
|
||||||
t!("Set Current"),
|
t!("Set Current"),
|
||||||
Message::LayerSetCurrent,
|
Message::LayerSetCurrent,
|
||||||
has_sel,
|
can_set_current,
|
||||||
),
|
),
|
||||||
iced::widget::Space::new().width(sizing.width),
|
iced::widget::Space::new().width(sizing.width),
|
||||||
// Search box: filters rows by name as the user types (#343).
|
// Search box: filters rows by name as the user types (#343).
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue