general: Use console mode helper across project

This commit is contained in:
lat9nq
2023-08-22 21:58:23 -04:00
parent ab862207d7
commit 3c45452fae
13 changed files with 34 additions and 49 deletions

View File

@@ -5,6 +5,7 @@
#include <thread>
#include "common/assert.h"
#include "common/settings.h"
#include "common/settings_enums.h"
#include "common/string_util.h"
#include "core/core.h"
@@ -227,14 +228,11 @@ int QtControllerSelectorDialog::exec() {
}
void QtControllerSelectorDialog::ApplyConfiguration() {
const bool pre_docked_mode =
Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked;
Settings::values.use_docked_mode.SetValue(ui->radioDocked->isChecked()
? Settings::ConsoleMode::Docked
: Settings::ConsoleMode::Handheld);
OnDockedModeChanged(
pre_docked_mode,
Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked, system);
const bool pre_docked_mode = Settings::IsDockedMode();
const bool docked_mode_selected = ui->radioDocked->isChecked();
Settings::values.use_docked_mode.SetValue(
docked_mode_selected ? Settings::ConsoleMode::Docked : Settings::ConsoleMode::Handheld);
OnDockedModeChanged(pre_docked_mode, docked_mode_selected, system);
Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked());
Settings::values.motion_enabled.SetValue(ui->motionGroup->isChecked());
@@ -622,10 +620,8 @@ void QtControllerSelectorDialog::UpdateDockedState(bool is_handheld) {
ui->radioDocked->setEnabled(!is_handheld);
ui->radioUndocked->setEnabled(!is_handheld);
ui->radioDocked->setChecked(Settings::values.use_docked_mode.GetValue() ==
Settings::ConsoleMode::Docked);
ui->radioUndocked->setChecked(Settings::values.use_docked_mode.GetValue() ==
Settings::ConsoleMode::Handheld);
ui->radioDocked->setChecked(Settings::IsDockedMode());
ui->radioUndocked->setChecked(!Settings::IsDockedMode());
// Also force into undocked mode if the controller type is handheld.
if (is_handheld) {

View File

@@ -928,9 +928,8 @@ void GRenderWindow::CaptureScreenshot(const QString& screenshot_path) {
const Layout::FramebufferLayout layout{[]() {
u32 height = UISettings::values.screenshot_height.GetValue();
if (height == 0) {
height = Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked
? Layout::ScreenDocked::Height
: Layout::ScreenUndocked::Height;
height = Settings::IsDockedMode() ? Layout::ScreenDocked::Height
: Layout::ScreenUndocked::Height;
height *= Settings::values.resolution_info.up_factor;
}
const u32 width =

View File

@@ -4,6 +4,7 @@
#include <memory>
#include <thread>
#include "common/settings.h"
#include "common/settings_enums.h"
#include "core/core.h"
#include "core/hid/emulated_controller.h"
@@ -198,14 +199,11 @@ void ConfigureInput::ApplyConfiguration() {
advanced->ApplyConfiguration();
const bool pre_docked_mode =
Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked;
Settings::values.use_docked_mode.SetValue(ui->radioDocked->isChecked()
? Settings::ConsoleMode::Docked
: Settings::ConsoleMode::Handheld);
OnDockedModeChanged(
pre_docked_mode,
Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked, system);
const bool pre_docked_mode = Settings::IsDockedMode();
const bool docked_mode_selected = ui->radioDocked->isChecked();
Settings::values.use_docked_mode.SetValue(
docked_mode_selected ? Settings::ConsoleMode::Docked : Settings::ConsoleMode::Handheld);
OnDockedModeChanged(pre_docked_mode, docked_mode_selected, system);
Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked());
Settings::values.motion_enabled.SetValue(ui->motionGroup->isChecked());
@@ -273,10 +271,8 @@ void ConfigureInput::UpdateDockedState(bool is_handheld) {
ui->radioDocked->setEnabled(!is_handheld);
ui->radioUndocked->setEnabled(!is_handheld);
ui->radioDocked->setChecked(Settings::values.use_docked_mode.GetValue() ==
Settings::ConsoleMode::Docked);
ui->radioUndocked->setChecked(Settings::values.use_docked_mode.GetValue() ==
Settings::ConsoleMode::Handheld);
ui->radioDocked->setChecked(Settings::IsDockedMode());
ui->radioUndocked->setChecked(!Settings::IsDockedMode());
// Also force into undocked mode if the controller type is handheld.
if (is_handheld) {

View File

@@ -99,9 +99,8 @@ void ConfigurePerGame::ApplyConfiguration() {
addons_tab->ApplyConfiguration();
input_tab->ApplyConfiguration();
if (Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked &&
Settings::values.players.GetValue()[0].controller_type ==
Settings::ControllerType::Handheld) {
if (Settings::IsDockedMode() && Settings::values.players.GetValue()[0].controller_type ==
Settings::ControllerType::Handheld) {
Settings::values.use_docked_mode.SetValue(Settings::ConsoleMode::Handheld);
Settings::values.use_docked_mode.SetGlobal(true);
}

View File

@@ -3636,8 +3636,7 @@ void GMainWindow::OnTasReset() {
}
void GMainWindow::OnToggleDockedMode() {
const bool is_docked =
Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked;
const bool is_docked = Settings::IsDockedMode();
auto* player_1 = system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
auto* handheld = system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld);
@@ -4082,10 +4081,10 @@ void GMainWindow::UpdateGPUAccuracyButton() {
}
void GMainWindow::UpdateDockedButton() {
const auto is_docked = Settings::values.use_docked_mode.GetValue();
dock_status_button->setChecked(is_docked == Settings::ConsoleMode::Docked);
const auto console_mode = Settings::values.use_docked_mode.GetValue();
dock_status_button->setChecked(console_mode == Settings::ConsoleMode::Docked);
dock_status_button->setText(
Config::use_docked_mode_texts_map.find(is_docked)->second.toUpper());
Config::use_docked_mode_texts_map.find(console_mode)->second.toUpper());
}
void GMainWindow::UpdateAPIText() {