Support pageBlockKicker.
GitOrigin-RevId: c2eb81a7041b62ddc2214eb3e9bfcbf87a4f2818
This commit is contained in:
parent
c6bbc4265e
commit
13b54369b7
@ -726,6 +726,9 @@ pageBlockHeader header:RichText = PageBlock;
|
|||||||
//@description A subheader @subheader Subheader
|
//@description A subheader @subheader Subheader
|
||||||
pageBlockSubheader subheader:RichText = PageBlock;
|
pageBlockSubheader subheader:RichText = PageBlock;
|
||||||
|
|
||||||
|
//@description A kicker @kicker Kicker
|
||||||
|
pageBlockKicker kicker:RichText = PageBlock;
|
||||||
|
|
||||||
//@description A text paragraph @text Paragraph text
|
//@description A text paragraph @text Paragraph text
|
||||||
pageBlockParagraph text:RichText = PageBlock;
|
pageBlockParagraph text:RichText = PageBlock;
|
||||||
|
|
||||||
|
Binary file not shown.
@ -502,7 +502,8 @@ class WebPagesManager::PageBlock {
|
|||||||
Collage,
|
Collage,
|
||||||
Slideshow,
|
Slideshow,
|
||||||
ChatLink,
|
ChatLink,
|
||||||
Audio
|
Audio,
|
||||||
|
Kicker
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual Type get_type() const = 0;
|
virtual Type get_type() const = 0;
|
||||||
@ -719,6 +720,38 @@ class WebPagesManager::PageBlockSubheader : public PageBlock {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class WebPagesManager::PageBlockKicker : public PageBlock {
|
||||||
|
RichText kicker;
|
||||||
|
|
||||||
|
public:
|
||||||
|
PageBlockKicker() = default;
|
||||||
|
explicit PageBlockKicker(RichText &&kicker) : kicker(std::move(kicker)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
Type get_type() const override {
|
||||||
|
return Type::Kicker;
|
||||||
|
}
|
||||||
|
|
||||||
|
void append_file_ids(vector<FileId> &file_ids) const override {
|
||||||
|
append_rich_text_file_ids(kicker, file_ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
tl_object_ptr<td_api::PageBlock> get_page_block_object() const override {
|
||||||
|
return make_tl_object<td_api::pageBlockKicker>(get_rich_text_object(kicker));
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
void store(T &storer) const {
|
||||||
|
using ::td::store;
|
||||||
|
store(kicker, storer);
|
||||||
|
}
|
||||||
|
template <class T>
|
||||||
|
void parse(T &parser) {
|
||||||
|
using ::td::parse;
|
||||||
|
parse(kicker, parser);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
class WebPagesManager::PageBlockParagraph : public PageBlock {
|
class WebPagesManager::PageBlockParagraph : public PageBlock {
|
||||||
RichText text;
|
RichText text;
|
||||||
|
|
||||||
@ -1541,6 +1574,8 @@ void WebPagesManager::PageBlock::call_impl(Type type, const PageBlock *ptr, F &&
|
|||||||
return f(static_cast<const WebPagesManager::PageBlockHeader *>(ptr));
|
return f(static_cast<const WebPagesManager::PageBlockHeader *>(ptr));
|
||||||
case Type::Subheader:
|
case Type::Subheader:
|
||||||
return f(static_cast<const WebPagesManager::PageBlockSubheader *>(ptr));
|
return f(static_cast<const WebPagesManager::PageBlockSubheader *>(ptr));
|
||||||
|
case Type::Kicker:
|
||||||
|
return f(static_cast<const WebPagesManager::PageBlockKicker *>(ptr));
|
||||||
case Type::Paragraph:
|
case Type::Paragraph:
|
||||||
return f(static_cast<const WebPagesManager::PageBlockParagraph *>(ptr));
|
return f(static_cast<const WebPagesManager::PageBlockParagraph *>(ptr));
|
||||||
case Type::Preformatted:
|
case Type::Preformatted:
|
||||||
@ -2613,6 +2648,10 @@ unique_ptr<WebPagesManager::PageBlock> WebPagesManager::get_page_block(
|
|||||||
auto page_block = move_tl_object_as<telegram_api::pageBlockSubheader>(page_block_ptr);
|
auto page_block = move_tl_object_as<telegram_api::pageBlockSubheader>(page_block_ptr);
|
||||||
return make_unique<PageBlockSubheader>(get_rich_text(std::move(page_block->text_), documents));
|
return make_unique<PageBlockSubheader>(get_rich_text(std::move(page_block->text_), documents));
|
||||||
}
|
}
|
||||||
|
case telegram_api::pageBlockKicker::ID: {
|
||||||
|
auto page_block = move_tl_object_as<telegram_api::pageBlockKicker>(page_block_ptr);
|
||||||
|
return make_unique<PageBlockKicker>(get_rich_text(std::move(page_block->text_), documents));
|
||||||
|
}
|
||||||
case telegram_api::pageBlockParagraph::ID: {
|
case telegram_api::pageBlockParagraph::ID: {
|
||||||
auto page_block = move_tl_object_as<telegram_api::pageBlockParagraph>(page_block_ptr);
|
auto page_block = move_tl_object_as<telegram_api::pageBlockParagraph>(page_block_ptr);
|
||||||
return make_unique<PageBlockParagraph>(get_rich_text(std::move(page_block->text_), documents));
|
return make_unique<PageBlockParagraph>(get_rich_text(std::move(page_block->text_), documents));
|
||||||
|
@ -108,6 +108,7 @@ class WebPagesManager : public Actor {
|
|||||||
class PageBlockAuthorDate;
|
class PageBlockAuthorDate;
|
||||||
class PageBlockHeader;
|
class PageBlockHeader;
|
||||||
class PageBlockSubheader;
|
class PageBlockSubheader;
|
||||||
|
class PageBlockKicker;
|
||||||
class PageBlockParagraph;
|
class PageBlockParagraph;
|
||||||
class PageBlockPreformatted;
|
class PageBlockPreformatted;
|
||||||
class PageBlockFooter;
|
class PageBlockFooter;
|
||||||
|
Reference in New Issue
Block a user