diff options
Diffstat (limited to 'src/citra_qt')
-rw-r--r-- | src/citra_qt/bootmanager.cpp | 4 | ||||
-rw-r--r-- | src/citra_qt/config.cpp | 11 | ||||
-rw-r--r-- | src/citra_qt/configure_dialog.cpp | 1 | ||||
-rw-r--r-- | src/citra_qt/configure_graphics.cpp | 5 | ||||
-rw-r--r-- | src/citra_qt/configure_graphics.ui | 115 | ||||
-rw-r--r-- | src/citra_qt/main.cpp | 8 | ||||
-rw-r--r-- | src/citra_qt/main.h | 1 |
7 files changed, 101 insertions, 44 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 0abae86c3..7699ca8d0 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -161,9 +161,7 @@ void GRenderWindow::OnFramebufferSizeChanged() { qreal pixelRatio = windowPixelRatio(); unsigned width = child->QPaintDevice::width() * pixelRatio; unsigned height = child->QPaintDevice::height() * pixelRatio; - - NotifyFramebufferLayoutChanged( - EmuWindow::FramebufferLayout::DefaultScreenLayout(width, height)); + UpdateCurrentFramebufferLayout(width, height); } void GRenderWindow::BackupGeometry() { diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp index 0b46ca6bb..3d2312619 100644 --- a/src/citra_qt/config.cpp +++ b/src/citra_qt/config.cpp @@ -54,6 +54,12 @@ void Config::ReadValues() { Settings::values.bg_blue = qt_config->value("bg_blue", 1.0).toFloat(); qt_config->endGroup(); + qt_config->beginGroup("Layout"); + Settings::values.layout_option = + static_cast<Settings::LayoutOption>(qt_config->value("layout_option").toInt()); + Settings::values.swap_screen = qt_config->value("swap_screen", false).toBool(); + qt_config->endGroup(); + qt_config->beginGroup("Audio"); Settings::values.sink_id = qt_config->value("output_engine", "auto").toString().toStdString(); Settings::values.enable_audio_stretching = @@ -155,6 +161,11 @@ void Config::SaveValues() { qt_config->setValue("bg_blue", (double)Settings::values.bg_blue); qt_config->endGroup(); + qt_config->beginGroup("Layout"); + qt_config->setValue("layout_option", static_cast<int>(Settings::values.layout_option)); + qt_config->setValue("swap_screen", Settings::values.swap_screen); + qt_config->endGroup(); + qt_config->beginGroup("Audio"); qt_config->setValue("output_engine", QString::fromStdString(Settings::values.sink_id)); qt_config->setValue("enable_audio_stretching", Settings::values.enable_audio_stretching); diff --git a/src/citra_qt/configure_dialog.cpp b/src/citra_qt/configure_dialog.cpp index 446ad04a1..525a7cc4e 100644 --- a/src/citra_qt/configure_dialog.cpp +++ b/src/citra_qt/configure_dialog.cpp @@ -23,4 +23,5 @@ void ConfigureDialog::applyConfiguration() { ui->graphicsTab->applyConfiguration(); ui->audioTab->applyConfiguration(); ui->debugTab->applyConfiguration(); + Settings::Apply(); } diff --git a/src/citra_qt/configure_graphics.cpp b/src/citra_qt/configure_graphics.cpp index 19c1f75c2..29834e11b 100644 --- a/src/citra_qt/configure_graphics.cpp +++ b/src/citra_qt/configure_graphics.cpp @@ -23,6 +23,8 @@ void ConfigureGraphics::setConfiguration() { ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); ui->toggle_scaled_resolution->setChecked(Settings::values.use_scaled_resolution); ui->toggle_vsync->setChecked(Settings::values.use_vsync); + ui->layout_combobox->setCurrentIndex(static_cast<int>(Settings::values.layout_option)); + ui->swap_screen->setChecked(Settings::values.swap_screen); } void ConfigureGraphics::applyConfiguration() { @@ -30,5 +32,8 @@ void ConfigureGraphics::applyConfiguration() { Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); Settings::values.use_scaled_resolution = ui->toggle_scaled_resolution->isChecked(); Settings::values.use_vsync = ui->toggle_vsync->isChecked(); + Settings::values.layout_option = + static_cast<Settings::LayoutOption>(ui->layout_combobox->currentIndex()); + Settings::values.swap_screen = ui->swap_screen->isChecked(); Settings::Apply(); } diff --git a/src/citra_qt/configure_graphics.ui b/src/citra_qt/configure_graphics.ui index da6e19ce1..af16a4292 100644 --- a/src/citra_qt/configure_graphics.ui +++ b/src/citra_qt/configure_graphics.ui @@ -22,38 +22,88 @@ <string>Graphics</string> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QCheckBox" name="toggle_hw_renderer"> - <property name="text"> - <string>Enable hardware renderer</string> - </property> + <item> + <widget class="QCheckBox" name="toggle_hw_renderer"> + <property name="text"> + <string>Enable hardware renderer</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="toggle_shader_jit"> + <property name="text"> + <string>Enable shader JIT</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="toggle_scaled_resolution"> + <property name="text"> + <string>Enable scaled resolution</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="toggle_vsync"> + <property name="text"> + <string>Enable V-Sync</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QGroupBox" name="groupBox2"> + <property name="title"> + <string>Layout</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLabel" name="label1"> + <property name="text"> + <string>Screen Layout:</string> + </property> </widget> - </item> - <item> - <widget class="QCheckBox" name="toggle_shader_jit"> + </item> + <item> + <widget class="QComboBox" name="layout_combobox"> + <item> <property name="text"> - <string>Enable shader JIT</string> + <string notr="true">Default</string> </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="toggle_scaled_resolution"> + </item> + <item> <property name="text"> - <string>Enable scaled resolution</string> + <string notr="true">Single Screen</string> </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="toggle_vsync"> + </item> + <item> <property name="text"> - <string>Enable V-Sync</string> + <string notr="true">Large Screen</string> </property> + </item> </widget> - </item> + </item> + </layout> + </item> + <item> + <widget class="QCheckBox" name="swap_screen"> + <property name="text"> + <string>Swap Screens</string> + </property> + </widget> + </item> </layout> - </widget> - </item> - </layout> + </item> + </layout> + </widget> </item> <item> <spacer name="verticalSpacer"> @@ -71,22 +121,5 @@ </layout> </widget> <resources/> - <connections> - <connection> - <sender>toggle_gdbstub</sender> - <signal>toggled(bool)</signal> - <receiver>gdbport_spinbox</receiver> - <slot>setEnabled(bool)</slot> - <hints> - <hint type="sourcelabel"> - <x>84</x> - <y>157</y> - </hint> - <hint type="destinationlabel"> - <x>342</x> - <y>158</y> - </hint> - </hints> - </connection> - </connections> + <connections/> </ui> diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index b904fec16..bcf2a706f 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -196,6 +196,7 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { // Setup hotkeys RegisterHotkey("Main Window", "Load File", QKeySequence::Open); + RegisterHotkey("Main Window", "Swap Screens", QKeySequence::NextChild); RegisterHotkey("Main Window", "Start Emulation"); LoadHotkeys(); @@ -203,6 +204,8 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { SLOT(OnMenuLoadFile())); connect(GetHotkey("Main Window", "Start Emulation", this), SIGNAL(activated()), this, SLOT(OnStartGame())); + connect(GetHotkey("Main Window", "Swap Screens", this), SIGNAL(activated()), this, + SLOT(OnSwapScreens())); std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc); @@ -550,6 +553,11 @@ void GMainWindow::OnConfigure() { } } +void GMainWindow::OnSwapScreens() { + Settings::values.swap_screen = !Settings::values.swap_screen; + Settings::Apply(); +} + void GMainWindow::OnCreateGraphicsSurfaceViewer() { auto graphicsSurfaceViewerWidget = new GraphicsSurfaceWidget(Pica::g_debug_context, this); addDockWidget(Qt::RightDockWidgetArea, graphicsSurfaceViewerWidget); diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 2cf308d80..82eb90aae 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -105,6 +105,7 @@ private slots: /// Called whenever a user selects the "File->Select Game List Root" menu item void OnMenuSelectGameListRoot(); void OnMenuRecentFile(); + void OnSwapScreens(); void OnConfigure(); void OnDisplayTitleBars(bool); void ToggleWindowMode(); |