summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Daniel Lundqvist2014-12-26 19:42:27 +0100
committerGravatar Daniel Lundqvist2014-12-26 19:42:27 +0100
commitba4ca041f4be1285185a56ba37ae2023c27a326b (patch)
tree8b8fcf42e095a133781679ddbb1d4ea8d2b519f2 /src
parentAllow focus on the Qt render widget (diff)
downloadyuzu-ba4ca041f4be1285185a56ba37ae2023c27a326b.tar.gz
yuzu-ba4ca041f4be1285185a56ba37ae2023c27a326b.tar.xz
yuzu-ba4ca041f4be1285185a56ba37ae2023c27a326b.zip
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 '')
-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 d44ddb096..6d08d6afc 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
123 std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc); 123 std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc);
124 setWindowTitle(QString::fromStdString(window_title)); 124 setWindowTitle(QString::fromStdString(window_title));
125 125
126 // Allow manually setting focus to the widget.
127 setFocusPolicy(Qt::ClickFocus);
128
129 keyboard_id = KeyMap::NewDeviceId(); 126 keyboard_id = KeyMap::NewDeviceId();
130 ReloadSetKeymaps(); 127 ReloadSetKeymaps();
131 128
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 9fc8705e6..37d69ac13 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -170,7 +170,13 @@ void GMainWindow::BootGame(std::string filename)
170 render_window->GetEmuThread().start(); 170 render_window->GetEmuThread().start();
171 171
172 render_window->show(); 172 render_window->show();
173 render_window->setFocus(); 173
174 // Allow manually setting focus to the render widget if not using popout mode.
175 if (!ui.action_Popout_Window_Mode->isChecked()) {
176 render_window->setFocusPolicy(Qt::ClickFocus);
177 render_window->setFocus();
178 }
179
174 OnStartGame(); 180 OnStartGame();
175} 181}
176 182
@@ -231,12 +237,15 @@ void GMainWindow::ToggleWindowMode()
231 render_window->setParent(nullptr); 237 render_window->setParent(nullptr);
232 render_window->setVisible(true); 238 render_window->setVisible(true);
233 render_window->RestoreGeometry(); 239 render_window->RestoreGeometry();
240 render_window->setFocusPolicy(Qt::NoFocus);
234 } 241 }
235 else if (!enable && render_window->parent() == nullptr) 242 else if (!enable && render_window->parent() == nullptr)
236 { 243 {
237 render_window->BackupGeometry(); 244 render_window->BackupGeometry();
238 ui.horizontalLayout->addWidget(render_window); 245 ui.horizontalLayout->addWidget(render_window);
239 render_window->setVisible(true); 246 render_window->setVisible(true);
247 render_window->setFocusPolicy(Qt::ClickFocus);
248 render_window->setFocus();
240 } 249 }
241} 250}
242 251