Qt: Implement "Keep Window on top"

This commit is contained in:
spycrab
2018-04-22 10:56:15 +02:00
parent c1dccdc0e5
commit caa18edc79
6 changed files with 33 additions and 4 deletions

View File

@ -53,6 +53,9 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
connect(&Settings::Instance(), &Settings::HideCursorChanged, this,
&RenderWidget::OnHideCursorChanged);
OnHideCursorChanged();
connect(&Settings::Instance(), &Settings::KeepWindowOnTopChanged, this,
&RenderWidget::OnKeepOnTopChanged);
OnKeepOnTopChanged(Settings::Instance().IsKeepWindowOnTopEnabled());
m_mouse_timer->start(MOUSE_HIDE_DELAY);
SetFillBackground(true);
@ -70,6 +73,14 @@ void RenderWidget::OnHideCursorChanged()
setCursor(Settings::Instance().GetHideCursor() ? Qt::BlankCursor : Qt::ArrowCursor);
}
void RenderWidget::OnKeepOnTopChanged(bool top)
{
setWindowFlags(top ? windowFlags() | Qt::WindowStaysOnTopHint :
windowFlags() & ~Qt::WindowStaysOnTopHint);
show();
}
void RenderWidget::HandleCursorTimer()
{
if (isActiveWindow())