[Visual] Make chat sections header multiline
This commit is contained in:
parent
53f1893b97
commit
5f0433564d
2 changed files with 29 additions and 25 deletions
|
|
@ -105,7 +105,7 @@ ScheduledWidget::ScheduledWidget(
|
||||||
this,
|
this,
|
||||||
controller,
|
controller,
|
||||||
ComposeControls::Mode::Scheduled,
|
ComposeControls::Mode::Scheduled,
|
||||||
SendMenu::Type::Disabled))
|
SendMenu::Type::PreviewOnly))
|
||||||
, _scrollDown(
|
, _scrollDown(
|
||||||
_scroll,
|
_scroll,
|
||||||
controller->chatStyle()->value(lifetime(), st::historyToDown)) {
|
controller->chatStyle()->value(lifetime(), st::historyToDown)) {
|
||||||
|
|
@ -127,6 +127,9 @@ ScheduledWidget::ScheduledWidget(
|
||||||
.section = Dialogs::EntryState::Section::Scheduled,
|
.section = Dialogs::EntryState::Section::Scheduled,
|
||||||
};
|
};
|
||||||
_topBar->setActiveChat(state, nullptr);
|
_topBar->setActiveChat(state, nullptr);
|
||||||
|
_topBar->setCustomTitle(_history->peer->isSelf()
|
||||||
|
? tr::lng_reminder_messages(tr::now)
|
||||||
|
: tr::lng_scheduled_messages(tr::now));
|
||||||
_composeControls->setCurrentDialogsEntryState(state);
|
_composeControls->setCurrentDialogsEntryState(state);
|
||||||
|
|
||||||
_topBar->move(0, 0);
|
_topBar->move(0, 0);
|
||||||
|
|
|
||||||
|
|
@ -432,17 +432,10 @@ void TopBarWidget::paintTopBar(Painter &p) {
|
||||||
const auto now = crl::now();
|
const auto now = crl::now();
|
||||||
const auto history = _activeChat.key.history();
|
const auto history = _activeChat.key.history();
|
||||||
const auto folder = _activeChat.key.folder();
|
const auto folder = _activeChat.key.folder();
|
||||||
if (folder
|
if (folder || history->peer->sharedMediaInfo()) {
|
||||||
|| history->peer->sharedMediaInfo()
|
|
||||||
|| (_activeChat.section == Section::Scheduled)
|
|
||||||
|| (_activeChat.section == Section::Pinned)) {
|
|
||||||
// #TODO feed name emoji.
|
// #TODO feed name emoji.
|
||||||
auto text = (_activeChat.section == Section::Scheduled)
|
auto text = (_activeChat.section == Section::Scheduled)
|
||||||
? ((history && history->peer->isSelf())
|
? tr::lng_reminder_messages(tr::now)
|
||||||
? tr::lng_reminder_messages(tr::now)
|
|
||||||
: tr::lng_scheduled_messages(tr::now))
|
|
||||||
: (_activeChat.section == Section::Pinned)
|
|
||||||
? _customTitleText
|
|
||||||
: folder
|
: folder
|
||||||
? folder->chatListName()
|
? folder->chatListName()
|
||||||
: history->peer->isSelf()
|
: history->peer->isSelf()
|
||||||
|
|
@ -459,25 +452,33 @@ void TopBarWidget::paintTopBar(Painter &p) {
|
||||||
(height() - st::historySavedFont->height) / 2,
|
(height() - st::historySavedFont->height) / 2,
|
||||||
width(),
|
width(),
|
||||||
text);
|
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.setPen(st::dialogsNameFg);
|
||||||
p.setFont(st::semiboldFont);
|
|
||||||
p.drawTextLeft(
|
Ui::Text::String textStr;
|
||||||
nameleft,
|
textStr.setText(
|
||||||
nametop,
|
st::semiboldTextStyle,
|
||||||
width(),
|
(_activeChat.section == Section::Replies
|
||||||
tr::lng_manage_discussion_group(tr::now));
|
? 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);
|
p.setFont(st::dialogsTextFont);
|
||||||
if (!paintConnectingState(p, nameleft, statustop, width())
|
if (!paintConnectingState(p, nameleft, statustop, width())
|
||||||
&& !paintSendAction(
|
&& (_activeChat.section != Section::Replies
|
||||||
p,
|
|| !paintSendAction(
|
||||||
nameleft,
|
p,
|
||||||
statustop,
|
nameleft,
|
||||||
availableWidth,
|
statustop,
|
||||||
width(),
|
availableWidth,
|
||||||
st::historyStatusFgTyping,
|
width(),
|
||||||
now)) {
|
st::historyStatusFgTyping,
|
||||||
|
now))) {
|
||||||
p.setPen(st::historyStatusFg);
|
p.setPen(st::historyStatusFg);
|
||||||
p.drawTextLeft(nameleft, statustop, width(), _customTitleText);
|
p.drawTextLeft(nameleft, statustop, width(), _customTitleText);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue