forked from 1b-agent/opencadstudio-upstream
1 parent
c9550b48f9
commit
675538eb8d
2 files changed
+8
-1
No files matched your search
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
Reference in new issue
Block a user