Bring RenderDoc window to foreground when event is selected from RGP

This commit is contained in:
baldurk
2018-04-25 19:10:52 +01:00
parent 2d0f675ca8
commit 048d2c4f4e
5 changed files with 22 additions and 3 deletions
+16
View File
@@ -1675,6 +1675,22 @@ QString GetSystemUsername()
return username;
}
void BringToForeground(QWidget *window)
{
#ifdef Q_OS_WIN
SetWindowPos((HWND)window->winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
window->setWindowState(Qt::WindowActive);
window->raise();
window->showNormal();
window->show();
SetWindowPos((HWND)window->winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
#else
window->activateWindow();
window->raise();
window->showNormal();
#endif
}
bool IsDarkTheme()
{
float baseLum = getLuminance(QApplication::palette().color(QPalette::Base));
+2
View File
@@ -539,6 +539,8 @@ void setEnabledMultiple(const QList<QWidget *> &widgets, bool enabled);
QString GetSystemUsername();
void BringToForeground(QWidget *window);
bool IsDarkTheme();
float getLuminance(const QColor &col);
+1 -2
View File
@@ -221,8 +221,7 @@ void RGPInterop::EventSelected(RGPInteropEvent event)
m_Ctx.SetEventID({}, eventId, eventId);
m_Ctx.GetMainWindow()->Widget()->activateWindow();
m_Ctx.GetMainWindow()->Widget()->raise();
BringToForeground(m_Ctx.GetMainWindow()->Widget());
}
void RGPInterop::ConnectionEstablished()