Option to always show top bar userpic
This commit is contained in:
parent
9ecb0c12a0
commit
1a462f4d26
4 changed files with 17 additions and 2 deletions
|
|
@ -323,6 +323,10 @@ bool Manager::readCustomFile() {
|
||||||
cSetUserpicCornersType(v);
|
cSetUserpicCornersType(v);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ReadBoolOption(settings, "always_show_top_userpic", [&](auto v) {
|
||||||
|
cSetShowTopBarUserpic(v);
|
||||||
|
});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -365,6 +369,7 @@ void Manager::writeDefaultFile() {
|
||||||
settings.insert(qsl("no_taskbar_flash"), cNoTaskbarFlashing());
|
settings.insert(qsl("no_taskbar_flash"), cNoTaskbarFlashing());
|
||||||
settings.insert(qsl("recent_stickers_limit"), RecentStickersLimit());
|
settings.insert(qsl("recent_stickers_limit"), RecentStickersLimit());
|
||||||
settings.insert(qsl("userpic_corner_type"), cUserpicCornersType());
|
settings.insert(qsl("userpic_corner_type"), cUserpicCornersType());
|
||||||
|
settings.insert(qsl("always_show_top_userpic"), cShowTopBarUserpic());
|
||||||
|
|
||||||
auto settingsScales = QJsonArray();
|
auto settingsScales = QJsonArray();
|
||||||
settings.insert(qsl("scales"), settingsScales);
|
settings.insert(qsl("scales"), settingsScales);
|
||||||
|
|
@ -428,6 +433,7 @@ void Manager::writeCurrentSettings() {
|
||||||
settings.insert(qsl("no_taskbar_flash"), cNoTaskbarFlashing());
|
settings.insert(qsl("no_taskbar_flash"), cNoTaskbarFlashing());
|
||||||
settings.insert(qsl("recent_stickers_limit"), RecentStickersLimit());
|
settings.insert(qsl("recent_stickers_limit"), RecentStickersLimit());
|
||||||
settings.insert(qsl("userpic_corner_type"), cUserpicCornersType());
|
settings.insert(qsl("userpic_corner_type"), cUserpicCornersType());
|
||||||
|
settings.insert(qsl("always_show_top_userpic"), cShowTopBarUserpic());
|
||||||
|
|
||||||
auto settingsScales = QJsonArray();
|
auto settingsScales = QJsonArray();
|
||||||
auto currentScales = cInterfaceScales();
|
auto currentScales = cInterfaceScales();
|
||||||
|
|
|
||||||
|
|
@ -569,13 +569,20 @@ void TopBarWidget::updateControlsGeometry() {
|
||||||
_clear->moveToRight(st::topBarActionSkip, selectedButtonsTop);
|
_clear->moveToRight(st::topBarActionSkip, selectedButtonsTop);
|
||||||
|
|
||||||
if (_back->isHidden()) {
|
if (_back->isHidden()) {
|
||||||
_leftTaken = st::topBarArrowPadding.right();
|
if (cShowTopBarUserpic()) {
|
||||||
|
_leftTaken = st::topBarActionSkip;
|
||||||
|
} else {
|
||||||
|
_leftTaken = st::topBarArrowPadding.right();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
const auto smallDialogsColumn = _activeChat.folder()
|
const auto smallDialogsColumn = _activeChat.folder()
|
||||||
&& (width() < _back->width() + _search->width());
|
&& (width() < _back->width() + _search->width());
|
||||||
_leftTaken = smallDialogsColumn ? (width() - _back->width()) / 2 : 0;
|
_leftTaken = smallDialogsColumn ? (width() - _back->width()) / 2 : 0;
|
||||||
_back->moveToLeft(_leftTaken, otherButtonsTop);
|
_back->moveToLeft(_leftTaken, otherButtonsTop);
|
||||||
_leftTaken += _back->width();
|
_leftTaken += _back->width();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!_back->isHidden() || cShowTopBarUserpic()) {
|
||||||
if (_info && !_info->isHidden()) {
|
if (_info && !_info->isHidden()) {
|
||||||
_info->moveToLeft(_leftTaken, otherButtonsTop);
|
_info->moveToLeft(_leftTaken, otherButtonsTop);
|
||||||
_leftTaken += _info->width();
|
_leftTaken += _info->width();
|
||||||
|
|
@ -630,7 +637,7 @@ void TopBarWidget::updateControlsVisibility() {
|
||||||
|| _activeChat.folder();
|
|| _activeChat.folder();
|
||||||
_back->setVisible(backVisible);
|
_back->setVisible(backVisible);
|
||||||
if (_info) {
|
if (_info) {
|
||||||
_info->setVisible(Adaptive::OneColumn());
|
_info->setVisible(cShowTopBarUserpic() || Adaptive::OneColumn());
|
||||||
}
|
}
|
||||||
if (_unreadBadge) {
|
if (_unreadBadge) {
|
||||||
_unreadBadge->show();
|
_unreadBadge->show();
|
||||||
|
|
|
||||||
|
|
@ -317,3 +317,4 @@ rpl::producer<int> RecentStickersLimitChanges() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int gUserpicCornersType = 3;
|
int gUserpicCornersType = 3;
|
||||||
|
bool gShowTopBarUserpic = false;
|
||||||
|
|
|
||||||
|
|
@ -247,3 +247,4 @@ void SetRecentStickersLimit(int limit);
|
||||||
[[nodiscard]] rpl::producer<int> RecentStickersLimitChanges();
|
[[nodiscard]] rpl::producer<int> RecentStickersLimitChanges();
|
||||||
|
|
||||||
DeclareSetting(int, UserpicCornersType);
|
DeclareSetting(int, UserpicCornersType);
|
||||||
|
DeclareSetting(bool, ShowTopBarUserpic);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue