[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 b58ffc6c23
commit 8314fab81f
2 changed files with 29 additions and 25 deletions

View file

@ -110,7 +110,7 @@ ScheduledWidget::ScheduledWidget(
controller,
[=](not_null<DocumentData*> emoji) { listShowPremiumToast(emoji); },
ComposeControls::Mode::Scheduled,
SendMenu::Type::Disabled))
SendMenu::Type::PreviewOnly))
, _cornerButtons(
_scroll.data(),
controller->chatStyle(),
@ -133,6 +133,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

@ -503,16 +503,9 @@ void TopBarWidget::paintTopBar(Painter &p) {
p.setPen(st::historyStatusFg);
p.drawTextLeft(nameleft, statustop, width(), _customTitleText);
}
} else if (folder
|| history->peer->sharedMediaInfo()
|| (_activeChat.section == Section::Scheduled)
|| (_activeChat.section == Section::Pinned)) {
} else if (folder || history->peer->sharedMediaInfo()) {
auto text = (_activeChat.section == Section::Scheduled)
? ((history && history->peer->isSelf())
? tr::lng_reminder_messages(tr::now)
: tr::lng_scheduled_messages(tr::now))
: (_activeChat.section == Section::Pinned)
? _customTitleText
? tr::lng_reminder_messages(tr::now)
: folder
? folder->chatListName()
: history->peer->isSelf()
@ -531,25 +524,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(
p,
nameleft,
statustop,
availableWidth,
width(),
st::historyStatusFgTyping,
now)) {
&& (_activeChat.section != Section::Replies
|| !paintSendAction(
p,
nameleft,
statustop,
availableWidth,
width(),
st::historyStatusFgTyping,
now))) {
p.setPen(st::historyStatusFg);
p.drawTextLeft(nameleft, statustop, width(), _customTitleText);
}