Removed label from confirm box when text is not provided.

This commit is contained in:
23rd 2022-04-15 12:36:06 +03:00
parent 64627c9093
commit 0427f90649
2 changed files with 13 additions and 10 deletions

View file

@ -17,12 +17,18 @@ void ConfirmBox(not_null<Ui::GenericBox*> box, ConfirmBoxArgs &&args) {
const auto weak = Ui::MakeWeak(box);
const auto lifetime = box->lifetime().make_state<rpl::lifetime>();
const auto label = box->addRow(
object_ptr<Ui::FlatLabel>(
box.get(),
v::text::take_marked(std::move(args.text)),
args.labelStyle ? *args.labelStyle : st::boxLabel),
st::boxPadding);
v::match(args.text, [](v::null_t) {
}, [&](auto &&) {
const auto label = box->addRow(
object_ptr<Ui::FlatLabel>(
box.get(),
v::text::take_marked(std::move(args.text)),
args.labelStyle ? *args.labelStyle : st::boxLabel),
st::boxPadding);
if (args.labelFilter) {
label->setClickHandlerFilter(std::move(args.labelFilter));
}
});
const auto prepareCallback = [&](ConfirmBoxArgs::Callback &callback) {
return [=, confirmed = std::move(callback)]() {
@ -75,9 +81,6 @@ void ConfirmBox(not_null<Ui::GenericBox*> box, ConfirmBoxArgs &&args) {
}), *lifetime);
}
if (args.labelFilter) {
label->setClickHandlerFilter(std::move(args.labelFilter));
}
if (args.strictCancel) {
lifetime->destroy();
}

View file

@ -18,7 +18,7 @@ struct ConfirmBoxArgs {
Fn<void()>,
Fn<void(Fn<void()>)>>;
v::text::data text;
v::text::data text = v::null;
Callback confirmed = v::null;
Callback cancelled = v::null;