|
|
|
@ -142,12 +142,6 @@ bool MainWindow::confirmMessage(const QString& title, const QString& message)
|
|
|
|
return (QMessageBox::question(this, title, message) == QMessageBox::Yes);
|
|
|
|
return (QMessageBox::question(this, title, message) == QMessageBox::Yes);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool MainWindow::shouldHideCursor() const
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return m_mouse_cursor_hidden ||
|
|
|
|
|
|
|
|
(isRenderingFullscreen() && Host::GetBoolSettingValue("Main", "HideCursorInFullscreen", true));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool MainWindow::createDisplay(bool fullscreen, bool render_to_main)
|
|
|
|
bool MainWindow::createDisplay(bool fullscreen, bool render_to_main)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Log_DevPrintf("createDisplay(%u, %u)", static_cast<u32>(fullscreen), static_cast<u32>(render_to_main));
|
|
|
|
Log_DevPrintf("createDisplay(%u, %u)", static_cast<u32>(fullscreen), static_cast<u32>(render_to_main));
|
|
|
|
@ -183,16 +177,13 @@ bool MainWindow::createDisplay(bool fullscreen, bool render_to_main)
|
|
|
|
updateWindowTitle();
|
|
|
|
updateWindowTitle();
|
|
|
|
updateWindowState();
|
|
|
|
updateWindowState();
|
|
|
|
|
|
|
|
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
|
|
|
|
m_ui.actionStartFullscreenUI->setEnabled(false);
|
|
|
|
m_ui.actionStartFullscreenUI->setEnabled(false);
|
|
|
|
m_ui.actionStartFullscreenUI2->setEnabled(false);
|
|
|
|
m_ui.actionStartFullscreenUI2->setEnabled(false);
|
|
|
|
m_ui.actionViewSystemDisplay->setEnabled(true);
|
|
|
|
m_ui.actionViewSystemDisplay->setEnabled(true);
|
|
|
|
m_ui.actionFullscreen->setEnabled(true);
|
|
|
|
m_ui.actionFullscreen->setEnabled(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updateDisplayWidgetCursor();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setShouldHideCursor(shouldHideMouseCursor());
|
|
|
|
|
|
|
|
m_display_widget->updateRelativeMode(s_system_valid && !s_system_paused);
|
|
|
|
|
|
|
|
m_display_widget->updateCursor(s_system_valid && !s_system_paused);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_host_display->DoneRenderContextCurrent();
|
|
|
|
g_host_display->DoneRenderContextCurrent();
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
@ -238,10 +229,8 @@ bool MainWindow::updateDisplay(bool fullscreen, bool render_to_main, bool surfac
|
|
|
|
container->showNormal();
|
|
|
|
container->showNormal();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updateDisplayWidgetCursor();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setShouldHideCursor(shouldHideMouseCursor());
|
|
|
|
|
|
|
|
m_display_widget->updateRelativeMode(s_system_valid && !s_system_paused);
|
|
|
|
|
|
|
|
m_display_widget->updateCursor(s_system_valid && !s_system_paused);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
|
|
|
|
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
@ -278,11 +267,8 @@ bool MainWindow::updateDisplay(bool fullscreen, bool render_to_main, bool surfac
|
|
|
|
|
|
|
|
|
|
|
|
updateWindowTitle();
|
|
|
|
updateWindowTitle();
|
|
|
|
updateWindowState();
|
|
|
|
updateWindowState();
|
|
|
|
|
|
|
|
updateDisplayWidgetCursor();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setShouldHideCursor(shouldHideMouseCursor());
|
|
|
|
|
|
|
|
m_display_widget->updateRelativeMode(m_relative_mouse_mode && s_system_valid && !s_system_paused);
|
|
|
|
|
|
|
|
m_display_widget->updateCursor(s_system_valid && !s_system_paused);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QSignalBlocker blocker(m_ui.actionFullscreen);
|
|
|
|
QSignalBlocker blocker(m_ui.actionFullscreen);
|
|
|
|
m_ui.actionFullscreen->setChecked(fullscreen);
|
|
|
|
m_ui.actionFullscreen->setChecked(fullscreen);
|
|
|
|
@ -460,6 +446,12 @@ void MainWindow::destroyDisplayWidget(bool show_game_list)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::updateDisplayWidgetCursor()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_display_widget->updateRelativeMode(s_system_valid && !s_system_paused && m_relative_mouse_mode);
|
|
|
|
|
|
|
|
m_display_widget->updateCursor(s_system_valid && !s_system_paused && shouldHideMouseCursor());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::focusDisplayWidget()
|
|
|
|
void MainWindow::focusDisplayWidget()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (!m_display_widget || centralWidget() != m_display_widget)
|
|
|
|
if (!m_display_widget || centralWidget() != m_display_widget)
|
|
|
|
@ -481,19 +473,9 @@ QWidget* MainWindow::getDisplayContainer() const
|
|
|
|
void MainWindow::onMouseModeRequested(bool relative_mode, bool hide_cursor)
|
|
|
|
void MainWindow::onMouseModeRequested(bool relative_mode, bool hide_cursor)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_relative_mouse_mode = relative_mode;
|
|
|
|
m_relative_mouse_mode = relative_mode;
|
|
|
|
m_mouse_cursor_hidden = hide_cursor;
|
|
|
|
m_hide_mouse_cursor = hide_cursor;
|
|
|
|
|
|
|
|
|
|
|
|
if (m_display_widget)
|
|
|
|
if (m_display_widget)
|
|
|
|
{
|
|
|
|
updateDisplayWidgetCursor();
|
|
|
|
m_display_widget->setShouldHideCursor(shouldHideCursor());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const bool update = s_system_valid && !s_system_paused;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_display_widget->updateCursor(update);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (update)
|
|
|
|
|
|
|
|
m_display_widget->updateRelativeMode(m_relative_mouse_mode);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::onSystemStarting()
|
|
|
|
void MainWindow::onSystemStarting()
|
|
|
|
@ -525,10 +507,7 @@ void MainWindow::onSystemPaused()
|
|
|
|
updateStatusBarWidgetVisibility();
|
|
|
|
updateStatusBarWidgetVisibility();
|
|
|
|
m_ui.statusBar->showMessage(tr("Paused"));
|
|
|
|
m_ui.statusBar->showMessage(tr("Paused"));
|
|
|
|
if (m_display_widget)
|
|
|
|
if (m_display_widget)
|
|
|
|
{
|
|
|
|
updateDisplayWidgetCursor();
|
|
|
|
m_display_widget->updateRelativeMode(false);
|
|
|
|
|
|
|
|
m_display_widget->updateCursor(false);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::onSystemResumed()
|
|
|
|
void MainWindow::onSystemResumed()
|
|
|
|
@ -545,8 +524,7 @@ void MainWindow::onSystemResumed()
|
|
|
|
updateStatusBarWidgetVisibility();
|
|
|
|
updateStatusBarWidgetVisibility();
|
|
|
|
if (m_display_widget)
|
|
|
|
if (m_display_widget)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_display_widget->updateRelativeMode(m_relative_mouse_mode);
|
|
|
|
updateDisplayWidgetCursor();
|
|
|
|
m_display_widget->updateCursor(true);
|
|
|
|
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
m_display_widget->setFocus();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1729,7 +1707,8 @@ bool MainWindow::isRenderingToMain() const
|
|
|
|
|
|
|
|
|
|
|
|
bool MainWindow::shouldHideMouseCursor() const
|
|
|
|
bool MainWindow::shouldHideMouseCursor() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return isRenderingFullscreen() && Host::GetBoolSettingValue("Main", "HideCursorInFullscreen", false);
|
|
|
|
return m_hide_mouse_cursor ||
|
|
|
|
|
|
|
|
(isRenderingFullscreen() && Host::GetBoolSettingValue("Main", "HideCursorInFullscreen", false));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool MainWindow::shouldHideMainWindow() const
|
|
|
|
bool MainWindow::shouldHideMainWindow() const
|
|
|
|
|