Improve top controls design on Windows.

This commit is contained in:
John Preston 2020-08-13 17:58:54 +04:00
parent 476b9c44c1
commit f1b6d1fdae
27 changed files with 68 additions and 78 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -262,86 +262,76 @@ callBarSignalBars: CallSignalBars(callPanelSignalBars) {
callSignalMargin: 8px;
callSignalPadding: 4px;
callTitleButton: IconButton {
width: 34px;
height: 30px;
iconPosition: point(0px, 0px);
}
callTitleMinimizeIcon: icon {
{ "calls_minimize_shadow", windowShadowFg },
{ "calls_minimize_main", callNameFg },
};
callTitleMinimizeIconOver: icon {
{ size(34px, 30px), callBgButton },
{ size(34px, 30px), callMuteRipple },
{ "calls_minimize_shadow", windowShadowFg },
{ "calls_minimize_main", callNameFg },
};
callTitleMaximizeIcon: icon {
{ "calls_maximize_shadow", windowShadowFg },
{ "calls_maximize_main", callNameFg },
};
callTitleMaximizeIconOver: icon {
{ size(34px, 30px), callBgButton },
{ size(34px, 30px), callMuteRipple },
{ "calls_maximize_shadow", windowShadowFg },
{ "calls_maximize_main", callNameFg },
};
callTitleRestoreIcon: icon {
{ "calls_restore_shadow", windowShadowFg },
{ "calls_restore_main", callNameFg },
};
callTitleRestoreIconOver: icon {
{ size(34px, 30px), callBgButton },
{ size(34px, 30px), callMuteRipple },
{ "calls_restore_shadow", windowShadowFg },
{ "calls_restore_main", callNameFg },
};
callTitleCloseIcon: icon {
{ "calls_close_shadow", windowShadowFg },
{ "calls_close_main", callNameFg },
};
callTitleCloseIconOver: icon {
{ size(34px, 30px), titleButtonCloseBgOver },
{ "calls_close_shadow", windowShadowFg },
{ "calls_close_main", titleButtonCloseFgOver },
};
callTitle: WindowTitle(defaultWindowTitle) {
height: 0px;
bg: callBgOpaque;
bgActive: callBgOpaque;
fg: transparent;
fgActive: transparent;
minimize: IconButton(windowTitleButton) {
icon: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_minimize", callStatusFg, point(4px, 4px) },
};
iconOver: icon {
{ size(24px, 21px), callBgButton },
{ size(24px, 21px), callMuteRipple },
{ "title_button_minimize", callStatusFg, point(4px, 4px) },
};
minimize: IconButton(callTitleButton) {
icon: callTitleMinimizeIcon;
iconOver: callTitleMinimizeIconOver;
}
minimizeIconActive: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_minimize", callStatusFg, point(4px, 4px) },
};
minimizeIconActiveOver: icon {
{ size(24px, 21px), callBgButton },
{ size(24px, 21px), callMuteRipple },
{ "title_button_minimize", callStatusFg, point(4px, 4px) },
};
maximize: IconButton(windowTitleButton) {
icon: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_maximize", callStatusFg, point(4px, 4px) },
};
iconOver: icon {
{ size(24px, 21px), callBgButton },
{ size(24px, 21px), callMuteRipple },
{ "title_button_maximize", callStatusFg, point(4px, 4px) },
};
minimizeIconActive: callTitleMinimizeIcon;
minimizeIconActiveOver: callTitleMinimizeIconOver;
maximize: IconButton(callTitleButton) {
icon: callTitleMaximizeIcon;
iconOver: callTitleMaximizeIconOver;
}
maximizeIconActive: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_maximize", callStatusFg, point(4px, 4px) },
};
maximizeIconActiveOver: icon {
{ size(24px, 21px), callBgButton },
{ size(24px, 21px), callMuteRipple },
{ "title_button_maximize", callStatusFg, point(4px, 4px) },
};
restoreIcon: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_restore", callStatusFg, point(4px, 4px) },
};
restoreIconOver: icon {
{ size(24px, 21px), callBgButton },
{ size(24px, 21px), callMuteRipple },
{ "title_button_restore", callStatusFg, point(4px, 4px) },
};
restoreIconActive: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_restore", callStatusFg, point(4px, 4px) },
};
restoreIconActiveOver: icon {
{ size(24px, 21px), callBgButton },
{ size(24px, 21px), callMuteRipple },
{ "title_button_restore", callStatusFg, point(4px, 4px) },
};
close: IconButton(windowTitleButtonClose) {
icon: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_close", callStatusFg, point(5px, 4px) },
};
iconOver: icon {
{ size(25px, 21px), titleButtonCloseBgOver },
{ "title_button_close", titleButtonCloseFgOver, point(5px, 4px) },
};
maximizeIconActive: callTitleMaximizeIcon;
maximizeIconActiveOver: callTitleMaximizeIconOver;
restoreIcon: callTitleRestoreIcon;
restoreIconOver: callTitleRestoreIconOver;
restoreIconActive: callTitleRestoreIcon;
restoreIconActiveOver: callTitleRestoreIconOver;
close: IconButton(callTitleButton) {
icon: callTitleCloseIcon;
iconOver: callTitleCloseIconOver;
}
closeIconActive: icon {
{ size(24px, 21px), callBgButton },
{ "title_button_close", callStatusFg, point(5px, 4px) },
};
closeIconActiveOver: icon {
{ size(25px, 21px), titleButtonCloseBgActiveOver },
{ "title_button_close", titleButtonCloseFgActiveOver, point(5px, 4px) },
};
closeIconActive: callTitleCloseIcon;
closeIconActiveOver: callTitleCloseIconOver;
}

View file

@ -269,6 +269,7 @@ Panel::Panel(not_null<Call*> call)
#ifdef Q_OS_WIN
, _controls(std::make_unique<Ui::Platform::TitleControls>(
_window.get(),
st::callTitle,
[=](bool maximized) { toggleFullScreen(maximized); }))
#endif // Q_OS_WIN
, _bodySt(&st::callBodyLayout)
@ -309,10 +310,6 @@ void Panel::initWindow() {
_window->setTitle(u" "_q);
_window->setTitleStyle(st::callTitle);
#ifdef Q_OS_WIN
_controls->setStyle(st::callTitle);
#endif // Q_OS_WIN
_window->events(
) | rpl::start_with_next([=](not_null<QEvent*> e) {
if (e->type() == QEvent::Close) {
@ -547,6 +544,9 @@ void Panel::reinitWithCall(Call *call) {
void Panel::initLayout() {
initGeometry();
_name->setAttribute(Qt::WA_TransparentForMouseEvents);
_status->setAttribute(Qt::WA_TransparentForMouseEvents);
using UpdateFlag = Data::PeerUpdate::Flag;
_user->session().changes().peerUpdates(
UpdateFlag::Name

@ -1 +1 @@
Subproject commit 4c04017737f7b80bd0a5032e732c2c75efd03f8e
Subproject commit 921686055c2b8b3a47a7f81840339a5a716b4edd