Implement From<Option<T>> for Element
This commit is contained in:
parent
dcea10f707
commit
e0d9078334
9 changed files with 110 additions and 74 deletions
|
|
@ -276,13 +276,13 @@ fn view_content<'a>(
|
|||
button(
|
||||
"Split vertically",
|
||||
Message::Split(pane_grid::Axis::Vertical, pane),
|
||||
)
|
||||
),
|
||||
if total_panes > 1 && !is_pinned {
|
||||
Some(button("Close", Message::Close(pane)).style(button::danger))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
]
|
||||
.push_maybe(if total_panes > 1 && !is_pinned {
|
||||
Some(button("Close", Message::Close(pane)).style(button::danger))
|
||||
} else {
|
||||
None
|
||||
})
|
||||
.spacing(5)
|
||||
.max_width(160);
|
||||
|
||||
|
|
@ -300,7 +300,7 @@ fn view_controls<'a>(
|
|||
is_pinned: bool,
|
||||
is_maximized: bool,
|
||||
) -> Element<'a, Message> {
|
||||
let row = row![].spacing(5).push_maybe(if total_panes > 1 {
|
||||
let maximize = if total_panes > 1 {
|
||||
let (content, message) = if is_maximized {
|
||||
("Restore", Message::Restore)
|
||||
} else {
|
||||
|
|
@ -315,7 +315,7 @@ fn view_controls<'a>(
|
|||
)
|
||||
} else {
|
||||
None
|
||||
});
|
||||
};
|
||||
|
||||
let close = button(text("Close").size(14))
|
||||
.style(button::danger)
|
||||
|
|
@ -326,7 +326,7 @@ fn view_controls<'a>(
|
|||
None
|
||||
});
|
||||
|
||||
row.push(close).into()
|
||||
row![maximize, close].spacing(5).into()
|
||||
}
|
||||
|
||||
mod style {
|
||||
|
|
|
|||
|
|
@ -88,18 +88,18 @@ impl QRGenerator {
|
|||
input,
|
||||
row![toggle_total_size, choose_theme]
|
||||
.spacing(20)
|
||||
.align_y(Center)
|
||||
.align_y(Center),
|
||||
self.total_size.map(|total_size| {
|
||||
slider(Self::SIZE_RANGE, total_size, Message::TotalSizeChanged)
|
||||
}),
|
||||
self.qr_code.as_ref().map(|data| {
|
||||
if let Some(total_size) = self.total_size {
|
||||
qr_code(data).total_size(total_size)
|
||||
} else {
|
||||
qr_code(data).cell_size(10.0)
|
||||
}
|
||||
})
|
||||
]
|
||||
.push_maybe(self.total_size.map(|total_size| {
|
||||
slider(Self::SIZE_RANGE, total_size, Message::TotalSizeChanged)
|
||||
}))
|
||||
.push_maybe(self.qr_code.as_ref().map(|data| {
|
||||
if let Some(total_size) = self.total_size {
|
||||
qr_code(data).total_size(total_size)
|
||||
} else {
|
||||
qr_code(data).cell_size(10.0)
|
||||
}
|
||||
}))
|
||||
.width(700)
|
||||
.spacing(20)
|
||||
.align_x(Center);
|
||||
|
|
|
|||
|
|
@ -158,15 +158,15 @@ impl Example {
|
|||
.spacing(10)
|
||||
.align_y(Center);
|
||||
|
||||
let crop_controls =
|
||||
column![crop_origin_controls, crop_dimension_controls]
|
||||
.push_maybe(
|
||||
self.crop_error
|
||||
.as_ref()
|
||||
.map(|error| text!("Crop error! \n{error}")),
|
||||
)
|
||||
.spacing(10)
|
||||
.align_x(Center);
|
||||
let crop_controls = column![
|
||||
crop_origin_controls,
|
||||
crop_dimension_controls,
|
||||
self.crop_error
|
||||
.as_ref()
|
||||
.map(|error| text!("Crop error! \n{error}")),
|
||||
]
|
||||
.spacing(10)
|
||||
.align_x(Center);
|
||||
|
||||
let controls = {
|
||||
let save_result =
|
||||
|
|
@ -208,8 +208,8 @@ impl Example {
|
|||
]
|
||||
.spacing(10)
|
||||
.align_x(Center),
|
||||
save_result.map(text)
|
||||
]
|
||||
.push_maybe(save_result.map(text))
|
||||
.spacing(40)
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -142,17 +142,17 @@ impl Tour {
|
|||
}
|
||||
|
||||
fn view(&self) -> Element<'_, Message> {
|
||||
let controls =
|
||||
row![]
|
||||
.push_maybe(self.screen.previous().is_some().then(|| {
|
||||
padded_button("Back")
|
||||
.on_press(Message::BackPressed)
|
||||
.style(button::secondary)
|
||||
}))
|
||||
.push(horizontal_space())
|
||||
.push_maybe(self.can_continue().then(|| {
|
||||
padded_button("Next").on_press(Message::NextPressed)
|
||||
}));
|
||||
let controls = row![
|
||||
self.screen.previous().is_some().then(|| {
|
||||
padded_button("Back")
|
||||
.on_press(Message::BackPressed)
|
||||
.style(button::secondary)
|
||||
}),
|
||||
horizontal_space(),
|
||||
self.can_continue().then(|| {
|
||||
padded_button("Next").on_press(Message::NextPressed)
|
||||
})
|
||||
];
|
||||
|
||||
let screen = match self.screen {
|
||||
Screen::Welcome => self.welcome(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue