mirror of https://github.com/procxx/kepka.git
Fix game scores display.
This commit is contained in:
parent
e5b2e0a6b5
commit
64d5a6acd5
|
@ -205,6 +205,10 @@ bool Media::consumeMessageText(const TextWithEntities &text) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TextWithEntities Media::consumedMessageText() const {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
std::unique_ptr<HistoryMedia> Media::createView(
|
std::unique_ptr<HistoryMedia> Media::createView(
|
||||||
not_null<HistoryView::Element*> message) {
|
not_null<HistoryView::Element*> message) {
|
||||||
return createView(message, message->data());
|
return createView(message, message->data());
|
||||||
|
@ -1041,6 +1045,10 @@ bool MediaGame::consumeMessageText(const TextWithEntities &text) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TextWithEntities MediaGame::consumedMessageText() const {
|
||||||
|
return _consumedText;
|
||||||
|
}
|
||||||
|
|
||||||
bool MediaGame::updateInlineResultMedia(const MTPMessageMedia &media) {
|
bool MediaGame::updateInlineResultMedia(const MTPMessageMedia &media) {
|
||||||
return updateSentMedia(media);
|
return updateSentMedia(media);
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,7 @@ public:
|
||||||
|
|
||||||
[[nodiscard]] virtual bool consumeMessageText(
|
[[nodiscard]] virtual bool consumeMessageText(
|
||||||
const TextWithEntities &text);
|
const TextWithEntities &text);
|
||||||
|
[[nodiscard]] virtual TextWithEntities consumedMessageText() const;
|
||||||
|
|
||||||
// After sending an inline result we may want to completely recreate
|
// After sending an inline result we may want to completely recreate
|
||||||
// the media (all media that was generated on client side, for example).
|
// the media (all media that was generated on client side, for example).
|
||||||
|
@ -334,6 +335,7 @@ public:
|
||||||
not_null<ChannelData*> channel) const override;
|
not_null<ChannelData*> channel) const override;
|
||||||
|
|
||||||
bool consumeMessageText(const TextWithEntities &text) override;
|
bool consumeMessageText(const TextWithEntities &text) override;
|
||||||
|
TextWithEntities consumedMessageText() const override;
|
||||||
|
|
||||||
bool updateInlineResultMedia(const MTPMessageMedia &media) override;
|
bool updateInlineResultMedia(const MTPMessageMedia &media) override;
|
||||||
bool updateSentMedia(const MTPMessageMedia &media) override;
|
bool updateSentMedia(const MTPMessageMedia &media) override;
|
||||||
|
|
|
@ -1258,7 +1258,7 @@ void Session::gameApplyFields(
|
||||||
const QString &description,
|
const QString &description,
|
||||||
PhotoData *photo,
|
PhotoData *photo,
|
||||||
DocumentData *document) {
|
DocumentData *document) {
|
||||||
if (game->accessHash || !accessHash) {
|
if (game->accessHash) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
game->accessHash = accessHash;
|
game->accessHash = accessHash;
|
||||||
|
|
|
@ -4221,6 +4221,21 @@ int HistoryGame::bottomInfoPadding() const {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HistoryGame::parentTextUpdated() {
|
||||||
|
if (const auto media = _parent->data()->media()) {
|
||||||
|
const auto consumed = media->consumedMessageText();
|
||||||
|
if (!consumed.text.isEmpty()) {
|
||||||
|
_description.setMarkedText(
|
||||||
|
st::webPageDescriptionStyle,
|
||||||
|
consumed,
|
||||||
|
Ui::ItemTextOptions(_parent->data()));
|
||||||
|
} else {
|
||||||
|
_description = Text(st::msgMinWidth - st::webPageLeft);
|
||||||
|
}
|
||||||
|
Auth().data().requestViewResize(_parent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
HistoryGame::~HistoryGame() {
|
HistoryGame::~HistoryGame() {
|
||||||
Auth().data().unregisterGameView(_data, _parent);
|
Auth().data().unregisterGameView(_data, _parent);
|
||||||
}
|
}
|
||||||
|
|
|
@ -805,6 +805,8 @@ public:
|
||||||
return _attach.get();
|
return _attach.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void parentTextUpdated() override;
|
||||||
|
|
||||||
~HistoryGame();
|
~HistoryGame();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -890,10 +890,10 @@ void HistoryMessage::applyEdition(const MTPDmessage &message) {
|
||||||
if (message.has_entities()) {
|
if (message.has_entities()) {
|
||||||
textWithEntities.entities = TextUtilities::EntitiesFromMTP(message.ventities.v);
|
textWithEntities.entities = TextUtilities::EntitiesFromMTP(message.ventities.v);
|
||||||
}
|
}
|
||||||
setText(textWithEntities);
|
|
||||||
setReplyMarkup(message.has_reply_markup() ? (&message.vreply_markup) : nullptr);
|
setReplyMarkup(message.has_reply_markup() ? (&message.vreply_markup) : nullptr);
|
||||||
refreshMedia(message.has_media() ? (&message.vmedia) : nullptr);
|
refreshMedia(message.has_media() ? (&message.vmedia) : nullptr);
|
||||||
setViewsCount(message.has_views() ? message.vviews.v : -1);
|
setViewsCount(message.has_views() ? message.vviews.v : -1);
|
||||||
|
setText(textWithEntities);
|
||||||
|
|
||||||
finishEdition(keyboardTop);
|
finishEdition(keyboardTop);
|
||||||
}
|
}
|
||||||
|
@ -905,9 +905,9 @@ void HistoryMessage::applyEdition(const MTPDmessageService &message) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryMessage::applyEditionToEmpty() {
|
void HistoryMessage::applyEditionToEmpty() {
|
||||||
setEmptyText();
|
|
||||||
refreshMedia(nullptr);
|
|
||||||
setReplyMarkup(nullptr);
|
setReplyMarkup(nullptr);
|
||||||
|
refreshMedia(nullptr);
|
||||||
|
setEmptyText();
|
||||||
setViewsCount(-1);
|
setViewsCount(-1);
|
||||||
|
|
||||||
finishEditionToEmpty();
|
finishEditionToEmpty();
|
||||||
|
|
Loading…
Reference in New Issue