forked from 1b-agent/opencadstudio-upstream
fix(ui): restore context menu actions
This commit is contained in:
1 parent
19629d1246
commit
b7aed86d48
2 files changed
+42
-19
No files matched your search
+25
-7
@@ -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
@@ -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])
|
||||||
|
|||||||
Reference in new issue
Block a user