Merge pull request #943 from gianlucafiore/fix/939-layout-tab-actions

fix(ui): restore context menu actions
This commit is contained in:
gianlucafiore authored and GitHub committed 2026-08-31 00:23:44 -03:00
commit 3e45cff72f
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> {
const MENU_W: f32 = 210.0;
let item = |label: &'static str, msg: Option<Message>| {
let mut item = button(text(label).size(12))
.style(button::subtle)
.padding([4, 12])
.width(Fill);
let item = |label: &'static str, msg: Option<Message>| -> Element<'static, Message> {
let enabled = msg.is_some();
let content = container(text(label).size(12))
.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 {
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![
+17 -12
View File
@@ -850,21 +850,26 @@ fn osnap_btn<'a>(
// ── Helpers ───────────────────────────────────────────────────────────────
fn layout_tab_context_menu(name: String) -> Element<'static, Message> {
let item = |label: std::borrow::Cow<'static, str>, msg: Message| {
button(text(label).size(12))
.on_press(msg)
.style(button::subtle)
let rename = mouse_area(
container(text(t!("Rename")).size(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(
column![
item(t!("Rename"), Message::LayoutRenameStart(name.clone())),
item(t!("Delete"), Message::LayoutDelete(name)),
]
.spacing(0)
.width(160),
column![rename, delete]
.spacing(0)
.width(160),
)
.style(container::bordered_box)
.padding([4, 0])