Skip to content
Snippets Groups Projects

qt: refactor CSD button handling on windows

Merged Prince Gupta requested to merge jagannatharjun/vlc:csd-refactor into master
1 file
+ 5
16
Compare changes
  • Side-by-side
  • Inline
@@ -366,19 +366,13 @@ public:
switch ( msg->wParam )
{
case HTCLOSE:
setHovered(CSDButton::Close);
setHovered(CSDButton::Minimize, false);
setHovered(CSDButton::MaximizeRestore, false);
hoverExclusive(CSDButton::Close);
break;
case HTMINBUTTON:
setHovered(CSDButton::Minimize);
setHovered(CSDButton::Close, false);
setHovered(CSDButton::MaximizeRestore, false);
hoverExclusive(CSDButton::Minimize);
break;
case HTMAXBUTTON:
setHovered(CSDButton::MaximizeRestore);
setHovered(CSDButton::Close, false);
setHovered(CSDButton::Minimize, false);
hoverExclusive(CSDButton::MaximizeRestore);
break;
default:
setAllUnhovered();
@@ -535,16 +529,11 @@ private:
return nullptr;
}
void setHovered(CSDButton::ButtonType type, bool hovered = true)
void hoverExclusive(CSDButton::ButtonType type)
{
for (auto button : m_buttonmodel->windowCSDButtons()) {
if (button->type() == type) {
button->setShowHovered(hovered);
return ;
}
button->setShowHovered(button->type() == type);
}
vlc_assert_unreachable();
}
void trigger(CSDButton::ButtonType type, void (CSDButton::*function)())
Loading