Return Saved Messages button to the main menu.

This commit is contained in:
John Preston 2020-06-29 09:55:19 +04:00
parent 0227b5f2fa
commit 1bd0b03e8e
2 changed files with 38 additions and 4 deletions

View File

@ -491,6 +491,7 @@ MainMenu::MainMenu(
st::mainMenuUserpic) st::mainMenuUserpic)
, _toggleAccounts(this) , _toggleAccounts(this)
, _archiveButton(this, st::mainMenuCloudButton) , _archiveButton(this, st::mainMenuCloudButton)
, _cloudButton(this, st::mainMenuCloudButton)
, _scroll(this, st::defaultSolidScroll) , _scroll(this, st::defaultSolidScroll)
, _inner(_scroll->setOwnedWidget( , _inner(_scroll->setOwnedWidget(
object_ptr<Ui::VerticalLayout>(_scroll.data()))) object_ptr<Ui::VerticalLayout>(_scroll.data())))
@ -513,6 +514,7 @@ MainMenu::MainMenu(
setAttribute(Qt::WA_OpaquePaintEvent); setAttribute(Qt::WA_OpaquePaintEvent);
setupArchiveButton(); setupArchiveButton();
setupCloudButton();
setupUserpicButton(); setupUserpicButton();
setupAccountsToggle(); setupAccountsToggle();
setupAccounts(); setupAccounts();
@ -632,6 +634,15 @@ void MainMenu::setupArchiveButton() {
}, lifetime()); }, lifetime());
} }
void MainMenu::setupCloudButton() {
_cloudButton->setClickedCallback([=] {
_controller->content()->choosePeer(
_controller->session().userPeerId(),
ShowAtUnreadMsgId);
});
_cloudButton->show();
}
void MainMenu::setupUserpicButton() { void MainMenu::setupUserpicButton() {
_userpicButton->setClickedCallback([=] { _userpicButton->setClickedCallback([=] {
_controller->content()->choosePeer( _controller->content()->choosePeer(
@ -944,13 +955,22 @@ void MainMenu::resizeEvent(QResizeEvent *e) {
} }
void MainMenu::updateControlsGeometry() { void MainMenu::updateControlsGeometry() {
_userpicButton->moveToLeft(st::mainMenuUserpicLeft, st::mainMenuUserpicTop); _userpicButton->moveToLeft(
st::mainMenuUserpicLeft,
st::mainMenuUserpicTop);
if (_resetScaleButton) { if (_resetScaleButton) {
_resetScaleButton->moveToRight(0, 0); _resetScaleButton->moveToRight(0, 0);
_archiveButton->moveToRight(_resetScaleButton->width(), 0); _cloudButton->moveToRight(_resetScaleButton->width(), 0);
_archiveButton->moveToRight(
_resetScaleButton->width() + _cloudButton->width(),
0);
} else { } else {
const auto offset = st::mainMenuCloudSize / 4; const auto right = st::mainMenuTogglePosition.x()
_archiveButton->moveToRight(offset, offset); - (_cloudButton->width() / 2);
const auto top = st::mainMenuUserpicTop
- (_cloudButton->height() - st::mainMenuCloudSize) / 2;
_cloudButton->moveToRight(right, top);
_archiveButton->moveToRight(right + _cloudButton->width(), top);
} }
_toggleAccounts->setGeometry( _toggleAccounts->setGeometry(
0, 0,
@ -1012,6 +1032,18 @@ void MainMenu::paintEvent(QPaintEvent *e) {
p.setFont(st::normalFont); p.setFont(st::normalFont);
p.drawTextLeft(st::mainMenuCoverTextLeft, st::mainMenuCoverStatusTop, width(), _phoneText); p.drawTextLeft(st::mainMenuCoverTextLeft, st::mainMenuCoverStatusTop, width(), _phoneText);
// Draw Saved Messages button.
if (!_cloudButton->isHidden()) {
Ui::EmptyUserpic::PaintSavedMessages(
p,
_cloudButton->x() + (_cloudButton->width() - st::mainMenuCloudSize) / 2,
_cloudButton->y() + (_cloudButton->height() - st::mainMenuCloudSize) / 2,
width(),
st::mainMenuCloudSize,
isFill ? st::mainMenuCloudBg : st::msgServiceBg,
isFill ? st::mainMenuCloudFg : st::msgServiceFg);
}
// Draw Archive button. // Draw Archive button.
if (!_archiveButton->isHidden()) { if (!_archiveButton->isHidden()) {
const auto folder = _controller->session().data().folderLoaded( const auto folder = _controller->session().data().folderLoaded(

View File

@ -55,6 +55,7 @@ private:
class ResetScaleButton; class ResetScaleButton;
void setupArchiveButton(); void setupArchiveButton();
void setupCloudButton();
void setupUserpicButton(); void setupUserpicButton();
void setupAccounts(); void setupAccounts();
void setupAccountsToggle(); void setupAccountsToggle();
@ -72,6 +73,7 @@ private:
object_ptr<Ui::UserpicButton> _userpicButton; object_ptr<Ui::UserpicButton> _userpicButton;
object_ptr<ToggleAccountsButton> _toggleAccounts; object_ptr<ToggleAccountsButton> _toggleAccounts;
object_ptr<Ui::IconButton> _archiveButton; object_ptr<Ui::IconButton> _archiveButton;
object_ptr<Ui::IconButton> _cloudButton;
object_ptr<ResetScaleButton> _resetScaleButton = { nullptr }; object_ptr<ResetScaleButton> _resetScaleButton = { nullptr };
object_ptr<Ui::ScrollArea> _scroll; object_ptr<Ui::ScrollArea> _scroll;
not_null<Ui::VerticalLayout*> _inner; not_null<Ui::VerticalLayout*> _inner;