aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/citra_qt
diff options
context:
space:
mode:
authorGravatar Daniel Lundqvist <luda09yl@student.hj.se>2014-12-26 19:42:27 +0100
committerGravatar Daniel Lundqvist <luda09yl@student.hj.se>2014-12-26 19:42:27 +0100
commitba4ca041f4be1285185a56ba37ae2023c27a326b (patch)
tree8b8fcf42e095a133781679ddbb1d4ea8d2b519f2 /src/citra_qt
parent9d90b26020af83d11ec0900117495901d445e907 (diff)
Allow focus only when in popout mode
Only allow manually setting focus to the rendering widget when in Single Window mode. Apply this behavior to when changing the mode while an app is running.
Diffstat (limited to 'src/citra_qt')
-rw-r--r--src/citra_qt/bootmanager.cpp3
-rw-r--r--src/citra_qt/main.cpp11
2 files changed, 10 insertions, 4 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index d44ddb09..6d08d6af 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -123,9 +123,6 @@ GRenderWindow::GRenderWindow(QWidget* parent) : QWidget(parent), emu_thread(this
std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc);
setWindowTitle(QString::fromStdString(window_title));
- // Allow manually setting focus to the widget.
- setFocusPolicy(Qt::ClickFocus);
-
keyboard_id = KeyMap::NewDeviceId();
ReloadSetKeymaps();
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 9fc8705e..37d69ac1 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -170,7 +170,13 @@ void GMainWindow::BootGame(std::string filename)
render_window->GetEmuThread().start();
render_window->show();
- render_window->setFocus();
+
+ // Allow manually setting focus to the render widget if not using popout mode.
+ if (!ui.action_Popout_Window_Mode->isChecked()) {
+ render_window->setFocusPolicy(Qt::ClickFocus);
+ render_window->setFocus();
+ }
+
OnStartGame();
}
@@ -231,12 +237,15 @@ void GMainWindow::ToggleWindowMode()
render_window->setParent(nullptr);
render_window->setVisible(true);
render_window->RestoreGeometry();
+ render_window->setFocusPolicy(Qt::NoFocus);
}
else if (!enable && render_window->parent() == nullptr)
{
render_window->BackupGeometry();
ui.horizontalLayout->addWidget(render_window);
render_window->setVisible(true);
+ render_window->setFocusPolicy(Qt::ClickFocus);
+ render_window->setFocus();
}
}