Allow moving window controls vertically.
This commit is contained in:
parent
ba40979470
commit
d98c3d539b
2 changed files with 8 additions and 5 deletions
|
|
@ -481,7 +481,8 @@ SeparateTitleControls::SeparateTitleControls(
|
||||||
std::unique_ptr<SeparateTitleControls> SetupSeparateTitleControls(
|
std::unique_ptr<SeparateTitleControls> SetupSeparateTitleControls(
|
||||||
not_null<RpWindow*> window,
|
not_null<RpWindow*> window,
|
||||||
const style::WindowTitle &st,
|
const style::WindowTitle &st,
|
||||||
Fn<void(bool maximized)> maximize) {
|
Fn<void(bool maximized)> maximize,
|
||||||
|
rpl::producer<int> controlsTop) {
|
||||||
auto result = std::make_unique<SeparateTitleControls>(
|
auto result = std::make_unique<SeparateTitleControls>(
|
||||||
window->body(),
|
window->body(),
|
||||||
st,
|
st,
|
||||||
|
|
@ -491,11 +492,12 @@ std::unique_ptr<SeparateTitleControls> SetupSeparateTitleControls(
|
||||||
auto &lifetime = raw->wrap.lifetime();
|
auto &lifetime = raw->wrap.lifetime();
|
||||||
rpl::combine(
|
rpl::combine(
|
||||||
window->body()->widthValue(),
|
window->body()->widthValue(),
|
||||||
window->additionalContentPaddingValue()
|
window->additionalContentPaddingValue(),
|
||||||
) | rpl::start_with_next([=](int width, int padding) {
|
controlsTop ? std::move(controlsTop) : rpl::single(0)
|
||||||
|
) | rpl::start_with_next([=](int width, int padding, int top) {
|
||||||
raw->wrap.setGeometry(
|
raw->wrap.setGeometry(
|
||||||
padding,
|
padding,
|
||||||
0,
|
top,
|
||||||
width - 2 * padding,
|
width - 2 * padding,
|
||||||
raw->controls.geometry().height());
|
raw->controls.geometry().height());
|
||||||
}, lifetime);
|
}, lifetime);
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,8 @@ struct SeparateTitleControls {
|
||||||
[[nodiscard]] auto SetupSeparateTitleControls(
|
[[nodiscard]] auto SetupSeparateTitleControls(
|
||||||
not_null<RpWindow*> window,
|
not_null<RpWindow*> window,
|
||||||
const style::WindowTitle &st,
|
const style::WindowTitle &st,
|
||||||
Fn<void(bool maximized)> maximize = nullptr)
|
Fn<void(bool maximized)> maximize = nullptr,
|
||||||
|
rpl::producer<int> controlsTop = nullptr)
|
||||||
-> std::unique_ptr<SeparateTitleControls>;
|
-> std::unique_ptr<SeparateTitleControls>;
|
||||||
|
|
||||||
} // namespace Platform
|
} // namespace Platform
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue