Improve layout of file albums with views/replies.

This commit is contained in:
John Preston 2020-11-02 11:16:04 +03:00
parent 5cc1871f2f
commit b179e5332a
3 changed files with 26 additions and 2 deletions

View File

@ -135,8 +135,10 @@ QSize Contact::countOptimalSize() {
auto minHeight = st.padding.top() + st.thumbSize + st.padding.bottom();
if (_userId) {
const auto msgsigned = item->Get<HistoryMessageSigned>();
const auto views = item->Get<HistoryMessageViews>();
if ((msgsigned && !msgsigned->isAnonymousRank)
|| item->Has<HistoryMessageViews>()) {
|| (views
&& (views->views.count >= 0 || views->replies.count > 0))) {
minHeight += st::msgDateFont->height - st::msgDateDelta.y();
}
}

View File

@ -195,8 +195,10 @@ QSize Document::countOptimalSize() {
auto minHeight = st.padding.top() + st.thumbSize + st.padding.bottom();
const auto msgsigned = item->Get<HistoryMessageSigned>();
const auto views = item->Get<HistoryMessageViews>();
if (!captioned && ((msgsigned && !msgsigned->isAnonymousRank)
|| item->Has<HistoryMessageViews>()
|| (views
&& (views->views.count >= 0 || views->replies.count > 0))
|| _parent->displayEditedBadge())) {
minHeight += st::msgDateFont->height - st::msgDateDelta.y();
}

View File

@ -145,6 +145,16 @@ QSize GroupedMedia::countOptimalSize() {
if (isBubbleBottom()) {
minHeight += st::msgPadding.bottom();
}
} else if (_mode == Mode::Column && _parts.back().item->emptyText()) {
const auto item = _parent->data();
const auto msgsigned = item->Get<HistoryMessageSigned>();
const auto views = item->Get<HistoryMessageViews>();
if ((msgsigned && !msgsigned->isAnonymousRank)
|| (views
&& (views->views.count >= 0 || views->replies.count > 0))
|| displayedEditBadge()) {
minHeight += st::msgDateFont->height - st::msgDateDelta.y();
}
}
const auto groupPadding = groupedPadding();
@ -205,6 +215,16 @@ QSize GroupedMedia::countCurrentSize(int newWidth) {
if (isBubbleBottom()) {
newHeight += st::msgPadding.bottom();
}
} else if (_mode == Mode::Column && _parts.back().item->emptyText()) {
const auto item = _parent->data();
const auto msgsigned = item->Get<HistoryMessageSigned>();
const auto views = item->Get<HistoryMessageViews>();
if ((msgsigned && !msgsigned->isAnonymousRank)
|| (views
&& (views->views.count >= 0 || views->replies.count > 0))
|| displayedEditBadge()) {
newHeight += st::msgDateFont->height - st::msgDateDelta.y();
}
}
const auto groupPadding = groupedPadding();