mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-14 13:17:08 +02:00
Moved out special input for credits to td_ui.
This commit is contained in:
parent
a84ac933dd
commit
93aebc747d
3 changed files with 54 additions and 37 deletions
|
@ -36,7 +36,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/toast/toast.h"
|
||||
#include "ui/vertical_list.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
#include "ui/widgets/fields/number_input.h"
|
||||
#include "ui/widgets/label_with_custom_emoji.h"
|
||||
#include "ui/widgets/labels.h"
|
||||
#include "ui/widgets/slider_natural_width.h"
|
||||
|
@ -275,40 +274,9 @@ void InnerWidget::fill() {
|
|||
|
||||
Ui::AddSkip(container);
|
||||
|
||||
const auto input = [&] {
|
||||
const auto &st = st::botEarnInputField;
|
||||
const auto inputContainer = container->add(
|
||||
Ui::CreateSkipWidget(container, st.heightMin));
|
||||
const auto currentValue = rpl::variable<uint64>(
|
||||
rpl::duplicate(availableBalanceValue));
|
||||
const auto input = Ui::CreateChild<Ui::NumberInput>(
|
||||
inputContainer,
|
||||
st,
|
||||
tr::lng_bot_earn_out_ph(),
|
||||
QString::number(currentValue.current()),
|
||||
currentValue.current());
|
||||
rpl::duplicate(
|
||||
availableBalanceValue
|
||||
) | rpl::start_with_next([=](uint64 v) {
|
||||
input->changeLimit(v);
|
||||
input->setText(QString::number(v));
|
||||
}, input->lifetime());
|
||||
const auto icon = Ui::CreateSingleStarWidget(
|
||||
inputContainer,
|
||||
st.style.font->height);
|
||||
inputContainer->sizeValue(
|
||||
) | rpl::start_with_next([=](const QSize &size) {
|
||||
input->resize(
|
||||
size.width() - rect::m::sum::h(st::boxRowPadding),
|
||||
st.heightMin);
|
||||
input->moveToLeft(st::boxRowPadding.left(), 0);
|
||||
icon->moveToLeft(
|
||||
st::boxRowPadding.left(),
|
||||
st.textMargins.top());
|
||||
}, input->lifetime());
|
||||
Ui::ToggleChildrenVisibility(inputContainer, true);
|
||||
return input;
|
||||
}();
|
||||
const auto input = Ui::AddInputFieldForCredits(
|
||||
container,
|
||||
rpl::duplicate(availableBalanceValue));
|
||||
|
||||
Ui::AddSkip(container);
|
||||
Ui::AddSkip(container);
|
||||
|
|
|
@ -21,10 +21,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/empty_userpic.h"
|
||||
#include "ui/painter.h"
|
||||
#include "ui/rect.h"
|
||||
#include "ui/widgets/fields/number_input.h"
|
||||
#include "ui/wrap/padding_wrap.h"
|
||||
#include "ui/wrap/vertical_layout.h"
|
||||
#include "styles/style_channel_earn.h"
|
||||
#include "styles/style_credits.h"
|
||||
#include "styles/style_intro.h" // introFragmentIcon.
|
||||
#include "styles/style_settings.h"
|
||||
#include "styles/style_dialogs.h"
|
||||
#include "styles/style_intro.h" // introFragmentIcon.
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_settings.h"
|
||||
#include "styles/style_widgets.h"
|
||||
|
||||
#include <QtSvg/QSvgRenderer>
|
||||
|
||||
|
@ -105,6 +111,43 @@ not_null<Ui::RpWidget*> CreateSingleStarWidget(
|
|||
return widget;
|
||||
}
|
||||
|
||||
not_null<Ui::MaskedInputField*> AddInputFieldForCredits(
|
||||
not_null<Ui::VerticalLayout*> container,
|
||||
rpl::producer<uint64> value) {
|
||||
const auto &st = st::botEarnInputField;
|
||||
const auto inputContainer = container->add(
|
||||
CreateSkipWidget(container, st.heightMin));
|
||||
const auto currentValue = rpl::variable<uint64>(
|
||||
rpl::duplicate(value));
|
||||
const auto input = Ui::CreateChild<Ui::NumberInput>(
|
||||
inputContainer,
|
||||
st,
|
||||
tr::lng_bot_earn_out_ph(),
|
||||
QString::number(currentValue.current()),
|
||||
currentValue.current());
|
||||
rpl::duplicate(
|
||||
value
|
||||
) | rpl::start_with_next([=](uint64 v) {
|
||||
input->changeLimit(v);
|
||||
input->setText(QString::number(v));
|
||||
}, input->lifetime());
|
||||
const auto icon = CreateSingleStarWidget(
|
||||
inputContainer,
|
||||
st.style.font->height);
|
||||
inputContainer->sizeValue(
|
||||
) | rpl::start_with_next([=](const QSize &size) {
|
||||
input->resize(
|
||||
size.width() - rect::m::sum::h(st::boxRowPadding),
|
||||
st.heightMin);
|
||||
input->moveToLeft(st::boxRowPadding.left(), 0);
|
||||
icon->moveToLeft(
|
||||
st::boxRowPadding.left(),
|
||||
st.textMargins.top());
|
||||
}, input->lifetime());
|
||||
Ui::ToggleChildrenVisibility(inputContainer, true);
|
||||
return input;
|
||||
}
|
||||
|
||||
PaintRoundImageCallback GenerateCreditsPaintUserpicCallback(
|
||||
const Data::CreditsHistoryEntry &entry) {
|
||||
const auto bg = [&]() -> Ui::EmptyUserpic::BgColors {
|
||||
|
|
|
@ -14,7 +14,9 @@ struct CreditsHistoryEntry;
|
|||
} // namespace Data
|
||||
|
||||
namespace Ui {
|
||||
class MaskedInputField;
|
||||
class RpWidget;
|
||||
class VerticalLayout;
|
||||
} // namespace Ui
|
||||
|
||||
namespace Ui {
|
||||
|
@ -25,6 +27,10 @@ namespace Ui {
|
|||
not_null<Ui::RpWidget*> parent,
|
||||
int height);
|
||||
|
||||
[[nodiscard]] not_null<Ui::MaskedInputField*> AddInputFieldForCredits(
|
||||
not_null<Ui::VerticalLayout*> container,
|
||||
rpl::producer<uint64> value);
|
||||
|
||||
Fn<void(Painter &, int, int, int, int)> GenerateCreditsPaintUserpicCallback(
|
||||
const Data::CreditsHistoryEntry &entry);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue