[Visual] Make chat sections header multiline

This commit is contained in:
Eric Kotato 2022-09-11 06:09:08 +03:00 committed by Eric Kotato
parent 95a986df8a
commit a4d82d2b77
2 changed files with 30 additions and 26 deletions

View file

@ -114,7 +114,7 @@ ScheduledWidget::ScheduledWidget(
listShowPremiumToast(emoji);
},
.mode = ComposeControls::Mode::Scheduled,
.sendMenuType = SendMenu::Type::Disabled,
.sendMenuType = SendMenu::Type::PreviewOnly,
.regularWindow = controller,
.stickerOrEmojiChosen = controller->stickerOrEmojiChosen(),
}))
@ -140,6 +140,9 @@ ScheduledWidget::ScheduledWidget(
.section = Dialogs::EntryState::Section::Scheduled,
};
_topBar->setActiveChat(state, nullptr);
_topBar->setCustomTitle(_history->peer->isSelf()
? tr::lng_reminder_messages(tr::now)
: tr::lng_scheduled_messages(tr::now));
_composeControls->setCurrentDialogsEntryState(state);
controller->setCurrentDialogsEntryState(state);

View file

@ -528,19 +528,12 @@ void TopBarWidget::paintTopBar(Painter &p) {
p.setPen(st::historyStatusFg);
p.drawTextLeft(nameleft, statustop, width(), _customTitleText);
}
} else if (folder
|| (peer && peer->sharedMediaInfo())
|| (_activeChat.section == Section::Scheduled)
|| (_activeChat.section == Section::Pinned)) {
} else if (folder || (peer && peer->sharedMediaInfo())) {
auto text = (_activeChat.section == Section::Scheduled)
? ((peer && peer->isSelf())
? tr::lng_reminder_messages(tr::now)
: tr::lng_scheduled_messages(tr::now))
: (_activeChat.section == Section::Pinned)
? _customTitleText
: folder
? folder->chatListName()
: peer->isSelf()
: (peer && peer->isSelf())
? tr::lng_saved_messages(tr::now)
: peer->isRepliesChat()
? tr::lng_replies_messages(tr::now)
@ -556,25 +549,33 @@ void TopBarWidget::paintTopBar(Painter &p) {
(height() - st::historySavedFont->height) / 2,
width(),
text);
} else if (_activeChat.section == Section::Replies) {
} else if (_activeChat.section == Section::Replies
|| _activeChat.section == Section::Scheduled
|| _activeChat.section == Section::Pinned) {
p.setPen(st::dialogsNameFg);
p.setFont(st::semiboldFont);
p.drawTextLeft(
nameleft,
nametop,
width(),
tr::lng_manage_discussion_group(tr::now));
Ui::Text::String textStr;
textStr.setText(
st::semiboldTextStyle,
(_activeChat.section == Section::Replies
? tr::lng_manage_discussion_group(tr::now)
: history->peer->isSelf()
? tr::lng_saved_messages(tr::now)
: history->peer->topBarNameText().toString()),
Ui::NameTextOptions());
textStr.drawElided(p, nameleft, nametop, width());
p.setFont(st::dialogsTextFont);
if (!paintConnectingState(p, nameleft, statustop, width())
&& !paintSendAction(
&& (_activeChat.section != Section::Replies
|| !paintSendAction(
p,
nameleft,
statustop,
availableWidth,
width(),
st::historyStatusFgTyping,
now)) {
now))) {
paintStatus(p, nameleft, statustop, availableWidth, width());
}
} else if (namePeer) {