fix(ui): restore context menu actions

This commit is contained in:
gianlucafiore committed 2026-08-31 00:22:54 -03:00
1 parent 19629d1246
commit b7aed86d48
2 files changed
+42 -19

No files matched your search

+25 -7
View File
@@ -2528,15 +2528,33 @@ fn doc_tab_context_menu(
) -> Element<'static, Message> { ) -> Element<'static, Message> {
const MENU_W: f32 = 210.0; const MENU_W: f32 = 210.0;
let item = |label: &'static str, msg: Option<Message>| { let item = |label: &'static str, msg: Option<Message>| -> Element<'static, Message> {
let mut item = button(text(label).size(12)) let enabled = msg.is_some();
.style(button::subtle)
.padding([4, 12]) let content = container(text(label).size(12))
.width(Fill); .padding([4, 12])
.width(Fill)
.style(move |theme: &Theme| {
let palette = theme.palette();
container::Style {
text_color: Some(if enabled {
palette.background.base.text
} else {
palette.background.base.text.scale_alpha(0.42)
}),
..Default::default()
}
});
if let Some(msg) = msg { if let Some(msg) = msg {
item = item.on_press(msg); mouse_area(content)
.on_press(msg)
.interaction(iced::mouse::Interaction::Pointer)
.into()
} else {
content.into()
} }
item
}; };
let mut menu = column![ let mut menu = column![
+17 -12
View File
@@ -850,21 +850,26 @@ fn osnap_btn<'a>(
// ── Helpers ─────────────────────────────────────────────────────────────── // ── Helpers ───────────────────────────────────────────────────────────────
fn layout_tab_context_menu(name: String) -> Element<'static, Message> { fn layout_tab_context_menu(name: String) -> Element<'static, Message> {
let item = |label: std::borrow::Cow<'static, str>, msg: Message| { let rename = mouse_area(
button(text(label).size(12)) container(text(t!("Rename")).size(12))
.on_press(msg)
.style(button::subtle)
.padding([4, 12]) .padding([4, 12])
.width(Length::Fill) .width(Length::Fill),
}; )
.on_press(Message::LayoutRenameStart(name.clone()))
.interaction(iced::mouse::Interaction::Pointer);
let delete = mouse_area(
container(text(t!("Delete")).size(12))
.padding([4, 12])
.width(Length::Fill),
)
.on_press(Message::LayoutDelete(name))
.interaction(iced::mouse::Interaction::Pointer);
container( container(
column![ column![rename, delete]
item(t!("Rename"), Message::LayoutRenameStart(name.clone())), .spacing(0)
item(t!("Delete"), Message::LayoutDelete(name)), .width(160),
]
.spacing(0)
.width(160),
) )
.style(container::bordered_box) .style(container::bordered_box)
.padding([4, 0]) .padding([4, 0])