Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Close stale issues and PRs / stale (push) Successful in 13s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
123 lines
3.3 KiB
C++
123 lines
3.3 KiB
C++
/*
|
|
This file is part of Telegram Desktop,
|
|
the official desktop application for the Telegram messaging service.
|
|
|
|
For license and copyright information please follow this link:
|
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
*/
|
|
#pragma once
|
|
|
|
#include "mtproto/sender.h"
|
|
|
|
namespace Api {
|
|
struct GiftCode;
|
|
} // namespace Api
|
|
|
|
namespace ChatHelpers {
|
|
class Show;
|
|
} // namespace ChatHelpers
|
|
|
|
namespace Data {
|
|
struct Boost;
|
|
struct CreditsHistoryEntry;
|
|
struct GiveawayStart;
|
|
struct GiveawayResults;
|
|
struct SubscriptionEntry;
|
|
struct UniqueGift;
|
|
struct GiftUpgradeSpinner;
|
|
} // namespace Data
|
|
|
|
namespace Main {
|
|
class Session;
|
|
} // namespace Main
|
|
|
|
namespace Settings {
|
|
struct CreditsEntryBoxStyleOverrides;
|
|
} // namespace Settings
|
|
|
|
namespace Ui {
|
|
class Show;
|
|
class GenericBox;
|
|
class VerticalLayout;
|
|
} // namespace Ui
|
|
|
|
namespace Window {
|
|
class SessionNavigation;
|
|
} // namespace Window
|
|
|
|
[[nodiscard]] rpl::producer<QString> GiftDurationValue(int days);
|
|
[[nodiscard]] QString GiftDuration(int days);
|
|
|
|
void GiftCodeBox(
|
|
not_null<Ui::GenericBox*> box,
|
|
not_null<Window::SessionNavigation*> controller,
|
|
const QString &slug);
|
|
void GiftCodePendingBox(
|
|
not_null<Ui::GenericBox*> box,
|
|
not_null<Window::SessionNavigation*> controller,
|
|
const Api::GiftCode &data);
|
|
void ResolveGiftCode(
|
|
not_null<Window::SessionNavigation*> controller,
|
|
const QString &slug,
|
|
PeerId fromId = 0,
|
|
PeerId toId = 0);
|
|
|
|
void ResolveGiveawayInfo(
|
|
not_null<Window::SessionNavigation*> controller,
|
|
not_null<PeerData*> peer,
|
|
MsgId messageId,
|
|
std::optional<Data::GiveawayStart> start,
|
|
std::optional<Data::GiveawayResults> results);
|
|
|
|
[[nodiscard]] QString TonAddressUrl(
|
|
not_null<Main::Session*> session,
|
|
const QString &address);
|
|
|
|
void AddStarGiftTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
Settings::CreditsEntryBoxStyleOverrides st,
|
|
const Data::CreditsHistoryEntry &entry,
|
|
std::shared_ptr<Data::GiftUpgradeSpinner> spinner,
|
|
Fn<void()> convertToStars,
|
|
bool canStartUpgrade,
|
|
Fn<void(Fn<void()> removed)> removeDetails);
|
|
void AddTransferGiftTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
std::shared_ptr<Data::UniqueGift> unique);
|
|
void AddCreditsHistoryEntryTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
Settings::CreditsEntryBoxStyleOverrides st,
|
|
const Data::CreditsHistoryEntry &entry);
|
|
|
|
void AddSubscriptionEntryTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
Settings::CreditsEntryBoxStyleOverrides st,
|
|
const Data::SubscriptionEntry &s);
|
|
void AddSubscriberEntryTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
Settings::CreditsEntryBoxStyleOverrides st,
|
|
not_null<PeerData*> peer,
|
|
TimeId date);
|
|
|
|
void AddCreditsBoostTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
Settings::CreditsEntryBoxStyleOverrides st,
|
|
const Data::Boost &boost);
|
|
|
|
void AddChannelEarnTable(
|
|
std::shared_ptr<Ui::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
const Data::CreditsHistoryEntry &entry);
|
|
|
|
void AddUniqueGiftValueTable(
|
|
std::shared_ptr<ChatHelpers::Show> show,
|
|
not_null<Ui::VerticalLayout*> container,
|
|
Settings::CreditsEntryBoxStyleOverrides st,
|
|
const Data::CreditsHistoryEntry &entry);
|