mirror of https://github.com/PCSX2/pcsx2.git
Qt: Add debug options panel
This commit is contained in:
parent
8dcda63c85
commit
a3d02b8702
|
@ -68,6 +68,9 @@ target_sources(pcsx2-qt PRIVATE
|
||||||
Settings/CreateMemoryCardDialog.cpp
|
Settings/CreateMemoryCardDialog.cpp
|
||||||
Settings/CreateMemoryCardDialog.h
|
Settings/CreateMemoryCardDialog.h
|
||||||
Settings/CreateMemoryCardDialog.ui
|
Settings/CreateMemoryCardDialog.ui
|
||||||
|
Settings/DebugSettingsWidget.cpp
|
||||||
|
Settings/DebugSettingsWidget.h
|
||||||
|
Settings/DebugSettingsWidget.ui
|
||||||
Settings/EmulationSettingsWidget.cpp
|
Settings/EmulationSettingsWidget.cpp
|
||||||
Settings/EmulationSettingsWidget.h
|
Settings/EmulationSettingsWidget.h
|
||||||
Settings/EmulationSettingsWidget.ui
|
Settings/EmulationSettingsWidget.ui
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
|
* Copyright (C) 2002-2022 PCSX2 Dev Team
|
||||||
|
*
|
||||||
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
* ation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE. See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "PrecompiledHeader.h"
|
||||||
|
|
||||||
|
#include "DebugSettingsWidget.h"
|
||||||
|
#include "QtUtils.h"
|
||||||
|
#include "SettingWidgetBinder.h"
|
||||||
|
#include "SettingsDialog.h"
|
||||||
|
#include <QtWidgets/QMessageBox>
|
||||||
|
|
||||||
|
#include "pcsx2/HostSettings.h"
|
||||||
|
|
||||||
|
DebugSettingsWidget::DebugSettingsWidget(SettingsDialog* dialog, QWidget* parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
, m_dialog(dialog)
|
||||||
|
{
|
||||||
|
SettingsInterface* sif = dialog->getSettingsInterface();
|
||||||
|
|
||||||
|
m_ui.setupUi(this);
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
// GS Settings
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.dumpGSDraws, "EmuCore/GS", "dump", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveRT, "EmuCore/GS", "save", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveFrame, "EmuCore/GS", "savef", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveTexture, "EmuCore/GS", "savet", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveDepth, "EmuCore/GS", "savez", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.startDraw, "EmuCore/GS", "saven", 0);
|
||||||
|
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.dumpCount, "EmuCore/GS", "savel", 5000);
|
||||||
|
SettingWidgetBinder::BindWidgetToFolderSetting(
|
||||||
|
sif, m_ui.hwDumpDirectory, m_ui.hwDumpBrowse, m_ui.hwDumpOpen, nullptr, "EmuCore/GS", "HWDumpDirectory", std::string());
|
||||||
|
SettingWidgetBinder::BindWidgetToFolderSetting(
|
||||||
|
sif, m_ui.swDumpDirectory, m_ui.swDumpBrowse, m_ui.swDumpOpen, nullptr, "EmuCore/GS", "SWDumpDirectory", std::string());
|
||||||
|
|
||||||
|
connect(m_ui.dumpGSDraws, &QCheckBox::stateChanged, this, &DebugSettingsWidget::onDrawDumpingChanged);
|
||||||
|
onDrawDumpingChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
DebugSettingsWidget::~DebugSettingsWidget() = default;
|
||||||
|
|
||||||
|
void DebugSettingsWidget::onDrawDumpingChanged()
|
||||||
|
{
|
||||||
|
const bool enabled = m_dialog->getEffectiveBoolValue("EmuCore/GS", "dump", false);
|
||||||
|
m_ui.saveRT->setEnabled(enabled);
|
||||||
|
m_ui.saveFrame->setEnabled(enabled);
|
||||||
|
m_ui.saveTexture->setEnabled(enabled);
|
||||||
|
m_ui.saveDepth->setEnabled(enabled);
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
|
* Copyright (C) 2002-2022 PCSX2 Dev Team
|
||||||
|
*
|
||||||
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
|
* ation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE. See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QtWidgets/QWidget>
|
||||||
|
|
||||||
|
#include "ui_DebugSettingsWidget.h"
|
||||||
|
|
||||||
|
enum class GSRendererType : s8;
|
||||||
|
|
||||||
|
class SettingsDialog;
|
||||||
|
|
||||||
|
class DebugSettingsWidget : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DebugSettingsWidget(SettingsDialog* dialog, QWidget* parent);
|
||||||
|
~DebugSettingsWidget();
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
void onDrawDumpingChanged();
|
||||||
|
|
||||||
|
private:
|
||||||
|
SettingsDialog* m_dialog;
|
||||||
|
|
||||||
|
Ui::DebugSettingsWidget m_ui;
|
||||||
|
};
|
|
@ -0,0 +1,198 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>DebugSettingsWidget</class>
|
||||||
|
<widget class="QWidget" name="DebugSettingsWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>861</width>
|
||||||
|
<height>501</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QTabWidget" name="gsTab">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="documentMode">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="gsTabWidget">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>GS</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Draw Dumping</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QCheckBox" name="dumpGSDraws">
|
||||||
|
<property name="text">
|
||||||
|
<string>Dump GS Draws</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QCheckBox" name="saveRT">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save RT</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QCheckBox" name="saveFrame">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save Frame</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QCheckBox" name="saveTexture">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save Texture</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QCheckBox" name="saveDepth">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save Depth</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Start Draw Number:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QSpinBox" name="startDraw">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99999</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Draw Dump Count:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QSpinBox" name="dumpCount">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99999</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Hardware Dump Directory:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Software Dump Directory:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,0,0">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="swDumpDirectory"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="swDumpBrowse">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="swDumpOpen">
|
||||||
|
<property name="text">
|
||||||
|
<string>Open...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0,0">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="hwDumpDirectory"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="hwDumpBrowse">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="hwDumpOpen">
|
||||||
|
<property name="text">
|
||||||
|
<string>Open...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>60</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -41,6 +41,7 @@
|
||||||
#include "HotkeySettingsWidget.h"
|
#include "HotkeySettingsWidget.h"
|
||||||
#include "InterfaceSettingsWidget.h"
|
#include "InterfaceSettingsWidget.h"
|
||||||
#include "MemoryCardSettingsWidget.h"
|
#include "MemoryCardSettingsWidget.h"
|
||||||
|
#include "DebugSettingsWidget.h"
|
||||||
|
|
||||||
#ifdef ENABLE_ACHIEVEMENTS
|
#ifdef ENABLE_ACHIEVEMENTS
|
||||||
#include "AchievementSettingsWidget.h"
|
#include "AchievementSettingsWidget.h"
|
||||||
|
@ -89,72 +90,80 @@ void SettingsDialog::setupUi(const GameList::Entry* game)
|
||||||
|
|
||||||
addWidget(m_interface_settings = new InterfaceSettingsWidget(this, m_ui.settingsContainer), tr("Interface"),
|
addWidget(m_interface_settings = new InterfaceSettingsWidget(this, m_ui.settingsContainer), tr("Interface"),
|
||||||
QStringLiteral("settings-3-line"),
|
QStringLiteral("settings-3-line"),
|
||||||
tr("<strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for "
|
tr("<strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option "
|
||||||
"additional information."));
|
"for additional information."));
|
||||||
|
|
||||||
// We don't include game list/bios settings in per-game settings.
|
// We don't include game list/bios settings in per-game settings.
|
||||||
if (!isPerGameSettings())
|
if (!isPerGameSettings())
|
||||||
{
|
{
|
||||||
addWidget(m_game_list_settings = new GameListSettingsWidget(this, m_ui.settingsContainer), tr("Game List"),
|
addWidget(m_game_list_settings = new GameListSettingsWidget(this, m_ui.settingsContainer), tr("Game List"),
|
||||||
QStringLiteral("folder-settings-line"),
|
QStringLiteral("folder-settings-line"),
|
||||||
tr("<strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game "
|
tr("<strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate "
|
||||||
"list. Search directories can be added, removed, and switched to recursive/non-recursive."));
|
"the game list. Search directories can be added, removed, and switched to recursive/non-recursive."));
|
||||||
addWidget(m_bios_settings = new BIOSSettingsWidget(this, m_ui.settingsContainer), tr("BIOS"), QStringLiteral("hard-drive-2-line"),
|
addWidget(m_bios_settings = new BIOSSettingsWidget(this, m_ui.settingsContainer), tr("BIOS"), QStringLiteral("hard-drive-2-line"),
|
||||||
tr("<strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information."));
|
tr("<strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information."));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Common to both per-game and global settings.
|
// Common to both per-game and global settings.
|
||||||
addWidget(m_emulation_settings = new EmulationSettingsWidget(this, m_ui.settingsContainer), tr("Emulation"), QStringLiteral("dashboard-line"),
|
addWidget(m_emulation_settings = new EmulationSettingsWidget(this, m_ui.settingsContainer), tr("Emulation"),
|
||||||
tr("<strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information."));
|
QStringLiteral("dashboard-line"),
|
||||||
|
tr("<strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game "
|
||||||
|
"settings.<br><br>Mouse over an option for additional information."));
|
||||||
|
|
||||||
// Only show the game fixes for per-game settings, there's really no reason to be setting them globally.
|
// Only show the game fixes for per-game settings, there's really no reason to be setting them globally.
|
||||||
if (show_advanced_settings && isPerGameSettings())
|
if (show_advanced_settings && isPerGameSettings())
|
||||||
{
|
{
|
||||||
addWidget(m_game_fix_settings_widget = new GameFixSettingsWidget(this, m_ui.settingsContainer), tr("Game Fix"),
|
addWidget(m_game_fix_settings_widget = new GameFixSettingsWidget(this, m_ui.settingsContainer), tr("Game Fix"),
|
||||||
QStringLiteral("close-line"), tr("<strong>Game Fix Settings</strong><hr>Gamefixes can work around incorrect emulation in some titles<br>however they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise."));
|
QStringLiteral("close-line"),
|
||||||
|
tr("<strong>Game Fix Settings</strong><hr>Gamefixes can work around incorrect emulation in some titles<br>however they can "
|
||||||
|
"also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise."));
|
||||||
}
|
}
|
||||||
|
|
||||||
addWidget(m_graphics_settings = new GraphicsSettingsWidget(this, m_ui.settingsContainer), tr("Graphics"), QStringLiteral("brush-line"),
|
addWidget(m_graphics_settings = new GraphicsSettingsWidget(this, m_ui.settingsContainer), tr("Graphics"), QStringLiteral("brush-line"),
|
||||||
tr("<strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information."));
|
tr("<strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an "
|
||||||
|
"option for additional information."));
|
||||||
addWidget(m_audio_settings = new AudioSettingsWidget(this, m_ui.settingsContainer), tr("Audio"), QStringLiteral("volume-up-line"),
|
addWidget(m_audio_settings = new AudioSettingsWidget(this, m_ui.settingsContainer), tr("Audio"), QStringLiteral("volume-up-line"),
|
||||||
tr("<strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information."));
|
tr("<strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for "
|
||||||
|
"additional information."));
|
||||||
|
|
||||||
// for now, memory cards aren't settable per-game
|
// for now, memory cards aren't settable per-game
|
||||||
if (!isPerGameSettings())
|
if (!isPerGameSettings())
|
||||||
{
|
{
|
||||||
addWidget(m_memory_card_settings = new MemoryCardSettingsWidget(this, m_ui.settingsContainer), tr("Memory Cards"),
|
addWidget(m_memory_card_settings = new MemoryCardSettingsWidget(this, m_ui.settingsContainer), tr("Memory Cards"),
|
||||||
QStringLiteral("sd-card-line"), tr("<strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information."));
|
QStringLiteral("sd-card-line"),
|
||||||
|
tr("<strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for "
|
||||||
|
"additional information."));
|
||||||
}
|
}
|
||||||
|
|
||||||
addWidget(m_dev9_settings = new DEV9SettingsWidget(this, m_ui.settingsContainer), tr("Network & HDD"), QStringLiteral("dashboard-line"),
|
addWidget(m_dev9_settings = new DEV9SettingsWidget(this, m_ui.settingsContainer), tr("Network & HDD"), QStringLiteral("dashboard-line"),
|
||||||
tr("<strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>"
|
tr("<strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the "
|
||||||
"Mouse over an option for additional information."));
|
"console.<br><br>Mouse over an option for additional information."));
|
||||||
|
|
||||||
if (!isPerGameSettings())
|
if (!isPerGameSettings())
|
||||||
{
|
{
|
||||||
addWidget(m_folder_settings = new FolderSettingsWidget(this, m_ui.settingsContainer), tr("Folders"), QStringLiteral("folder-open-line"),
|
addWidget(m_folder_settings = new FolderSettingsWidget(this, m_ui.settingsContainer), tr("Folders"),
|
||||||
|
QStringLiteral("folder-open-line"),
|
||||||
tr("<strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files."));
|
tr("<strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files."));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
QString title = tr("Achievements");
|
QString title = tr("Achievements");
|
||||||
QString icon_text(QStringLiteral("trophy-line"));
|
QString icon_text(QStringLiteral("trophy-line"));
|
||||||
QString help_text = tr(
|
QString help_text =
|
||||||
"<strong>Achievements Settings</strong><hr>"
|
tr("<strong>Achievements Settings</strong><hr>"
|
||||||
"These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games.");
|
"These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games.");
|
||||||
#ifdef ENABLE_ACHIEVEMENTS
|
#ifdef ENABLE_ACHIEVEMENTS
|
||||||
if (Achievements::IsUsingRAIntegration())
|
if (Achievements::IsUsingRAIntegration())
|
||||||
{
|
{
|
||||||
QLabel* placeholder_label =
|
QLabel* placeholder_label =
|
||||||
new QLabel(tr("RAIntegration is being used, built-in RetroAchievements support is disabled."),
|
new QLabel(tr("RAIntegration is being used, built-in RetroAchievements support is disabled."), m_ui.settingsContainer);
|
||||||
m_ui.settingsContainer);
|
|
||||||
placeholder_label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
|
placeholder_label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
|
||||||
addWidget(placeholder_label, std::move(title), std::move(icon_text), std::move(help_text));
|
addWidget(placeholder_label, std::move(title), std::move(icon_text), std::move(help_text));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
addWidget((m_achievement_settings = new AchievementSettingsWidget(this, m_ui.settingsContainer)),
|
addWidget((m_achievement_settings = new AchievementSettingsWidget(this, m_ui.settingsContainer)), std::move(title),
|
||||||
std::move(title), std::move(icon_text), std::move(help_text));
|
std::move(icon_text), std::move(help_text));
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
QLabel* placeholder_label =
|
QLabel* placeholder_label =
|
||||||
|
@ -167,7 +176,14 @@ void SettingsDialog::setupUi(const GameList::Entry* game)
|
||||||
if (show_advanced_settings)
|
if (show_advanced_settings)
|
||||||
{
|
{
|
||||||
addWidget(m_advanced_settings = new AdvancedSettingsWidget(this, m_ui.settingsContainer), tr("Advanced"),
|
addWidget(m_advanced_settings = new AdvancedSettingsWidget(this, m_ui.settingsContainer), tr("Advanced"),
|
||||||
QStringLiteral("artboard-2-line"), tr("<strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information."));
|
QStringLiteral("artboard-2-line"),
|
||||||
|
tr("<strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated "
|
||||||
|
"console.<br><br>Mouse over an option for additional information."));
|
||||||
|
addWidget(m_debug_settings = new DebugSettingsWidget(this, m_ui.settingsContainer), tr("Debug"),
|
||||||
|
QStringLiteral("folder-download-line"),
|
||||||
|
tr("<strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. "
|
||||||
|
"<strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large "
|
||||||
|
"amounts of disk space."));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ui.settingsCategory->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
m_ui.settingsCategory->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
|
@ -386,7 +402,8 @@ std::optional<float> SettingsDialog::getFloatValue(const char* section, const ch
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string> SettingsDialog::getStringValue(const char* section, const char* key, std::optional<const char*> default_value) const
|
std::optional<std::string> SettingsDialog::getStringValue(
|
||||||
|
const char* section, const char* key, std::optional<const char*> default_value) const
|
||||||
{
|
{
|
||||||
std::optional<std::string> value;
|
std::optional<std::string> value;
|
||||||
if (m_sif)
|
if (m_sif)
|
||||||
|
|
|
@ -41,6 +41,7 @@ class FolderSettingsWidget;
|
||||||
class DEV9SettingsWidget;
|
class DEV9SettingsWidget;
|
||||||
class AchievementSettingsWidget;
|
class AchievementSettingsWidget;
|
||||||
class AdvancedSettingsWidget;
|
class AdvancedSettingsWidget;
|
||||||
|
class DebugSettingsWidget;
|
||||||
|
|
||||||
class SettingsDialog final : public QDialog
|
class SettingsDialog final : public QDialog
|
||||||
{
|
{
|
||||||
|
@ -128,6 +129,7 @@ private:
|
||||||
DEV9SettingsWidget* m_dev9_settings = nullptr;
|
DEV9SettingsWidget* m_dev9_settings = nullptr;
|
||||||
AchievementSettingsWidget* m_achievement_settings = nullptr;
|
AchievementSettingsWidget* m_achievement_settings = nullptr;
|
||||||
AdvancedSettingsWidget* m_advanced_settings = nullptr;
|
AdvancedSettingsWidget* m_advanced_settings = nullptr;
|
||||||
|
DebugSettingsWidget* m_debug_settings = nullptr;
|
||||||
|
|
||||||
std::array<QString, MAX_SETTINGS_WIDGETS> m_category_help_text;
|
std::array<QString, MAX_SETTINGS_WIDGETS> m_category_help_text;
|
||||||
|
|
||||||
|
|
|
@ -132,6 +132,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="EarlyHardwareCheck.cpp" />
|
<ClCompile Include="EarlyHardwareCheck.cpp" />
|
||||||
<ClCompile Include="QtProgressCallback.cpp" />
|
<ClCompile Include="QtProgressCallback.cpp" />
|
||||||
|
<ClCompile Include="Settings\DebugSettingsWidget.cpp" />
|
||||||
<ClCompile Include="Settings\FolderSettingsWidget.cpp" />
|
<ClCompile Include="Settings\FolderSettingsWidget.cpp" />
|
||||||
<ClCompile Include="Settings\MemoryCardConvertWorker.cpp" />
|
<ClCompile Include="Settings\MemoryCardConvertWorker.cpp" />
|
||||||
<ClCompile Include="Tools\InputRecording\InputRecordingViewer.cpp" />
|
<ClCompile Include="Tools\InputRecording\InputRecordingViewer.cpp" />
|
||||||
|
@ -198,6 +199,7 @@
|
||||||
<QtMoc Include="QtProgressCallback.h" />
|
<QtMoc Include="QtProgressCallback.h" />
|
||||||
<ClInclude Include="Settings\ControllerSettingWidgetBinder.h" />
|
<ClInclude Include="Settings\ControllerSettingWidgetBinder.h" />
|
||||||
<QtMoc Include="Settings\FolderSettingsWidget.h" />
|
<QtMoc Include="Settings\FolderSettingsWidget.h" />
|
||||||
|
<QtMoc Include="Settings\DebugSettingsWidget.h" />
|
||||||
<ClInclude Include="Settings\HddCreateQt.h" />
|
<ClInclude Include="Settings\HddCreateQt.h" />
|
||||||
<QtMoc Include="Settings\GameSummaryWidget.h" />
|
<QtMoc Include="Settings\GameSummaryWidget.h" />
|
||||||
<QtMoc Include="Settings\CreateMemoryCardDialog.h" />
|
<QtMoc Include="Settings\CreateMemoryCardDialog.h" />
|
||||||
|
@ -252,6 +254,7 @@
|
||||||
<ClCompile Include="$(IntDir)Settings\moc_GameSummaryWidget.cpp" />
|
<ClCompile Include="$(IntDir)Settings\moc_GameSummaryWidget.cpp" />
|
||||||
<ClCompile Include="$(IntDir)Settings\moc_AchievementLoginDialog.cpp" />
|
<ClCompile Include="$(IntDir)Settings\moc_AchievementLoginDialog.cpp" />
|
||||||
<ClCompile Include="$(IntDir)Settings\moc_AchievementSettingsWidget.cpp" />
|
<ClCompile Include="$(IntDir)Settings\moc_AchievementSettingsWidget.cpp" />
|
||||||
|
<ClCompile Include="$(IntDir)Settings\moc_DebugSettingsWidget.cpp" />
|
||||||
<ClCompile Include="$(IntDir)GameList\moc_GameListModel.cpp" />
|
<ClCompile Include="$(IntDir)GameList\moc_GameListModel.cpp" />
|
||||||
<ClCompile Include="$(IntDir)GameList\moc_GameListRefreshThread.cpp" />
|
<ClCompile Include="$(IntDir)GameList\moc_GameListRefreshThread.cpp" />
|
||||||
<ClCompile Include="$(IntDir)GameList\moc_GameListWidget.cpp" />
|
<ClCompile Include="$(IntDir)GameList\moc_GameListWidget.cpp" />
|
||||||
|
@ -358,6 +361,9 @@
|
||||||
</QtUi>
|
</QtUi>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<QtUi Include="Settings\DebugSettingsWidget.ui">
|
||||||
|
<FileType>Document</FileType>
|
||||||
|
</QtUi>
|
||||||
<None Include="Settings\USBBindingWidget_DrivingForce.ui" />
|
<None Include="Settings\USBBindingWidget_DrivingForce.ui" />
|
||||||
<None Include="Settings\USBBindingWidget_GTForce.ui" />
|
<None Include="Settings\USBBindingWidget_GTForce.ui" />
|
||||||
<QtUi Include="Settings\USBDeviceWidget.ui">
|
<QtUi Include="Settings\USBDeviceWidget.ui">
|
||||||
|
|
|
@ -250,6 +250,12 @@
|
||||||
<ClCompile Include="Tools\InputRecording\InputRecordingViewer.cpp">
|
<ClCompile Include="Tools\InputRecording\InputRecordingViewer.cpp">
|
||||||
<Filter>Tools\Input Recording</Filter>
|
<Filter>Tools\Input Recording</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Settings\DebugSettingsWidget.cpp">
|
||||||
|
<Filter>Settings</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(IntDir)Settings\moc_DebugSettingsWidget.cpp">
|
||||||
|
<Filter>moc</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Manifest Include="..\pcsx2\windows\PCSX2.manifest">
|
<Manifest Include="..\pcsx2\windows\PCSX2.manifest">
|
||||||
|
@ -366,6 +372,9 @@
|
||||||
<Filter>Settings</Filter>
|
<Filter>Settings</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
<QtMoc Include="Tools\InputRecording\InputRecordingViewer.h" />
|
<QtMoc Include="Tools\InputRecording\InputRecordingViewer.h" />
|
||||||
|
<QtMoc Include="Settings\DebugSettingsWidget.h">
|
||||||
|
<Filter>Settings</Filter>
|
||||||
|
</QtMoc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtResource Include="resources\resources.qrc">
|
<QtResource Include="resources\resources.qrc">
|
||||||
|
@ -463,6 +472,9 @@
|
||||||
<QtUi Include="Settings\USBDeviceWidget.ui">
|
<QtUi Include="Settings\USBDeviceWidget.ui">
|
||||||
<Filter>Settings</Filter>
|
<Filter>Settings</Filter>
|
||||||
</QtUi>
|
</QtUi>
|
||||||
|
<QtUi Include="Settings\DebugSettingsWidget.ui">
|
||||||
|
<Filter>Settings</Filter>
|
||||||
|
</QtUi>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Settings\FolderSettingsWidget.ui">
|
<None Include="Settings\FolderSettingsWidget.ui">
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm9 8h3l-4 4-4-4h3V9h2v4z" fill="#000000"/></svg>
|
After Width: | Height: | Size: 290 B |
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm9 8h3l-4 4-4-4h3V9h2v4z" fill="#ffffff"/></svg>
|
After Width: | Height: | Size: 290 B |
|
@ -25,6 +25,7 @@
|
||||||
<file>icons/black/svg/flashlight-line.svg</file>
|
<file>icons/black/svg/flashlight-line.svg</file>
|
||||||
<file>icons/black/svg/flask-line.svg</file>
|
<file>icons/black/svg/flask-line.svg</file>
|
||||||
<file>icons/black/svg/folder-add-line.svg</file>
|
<file>icons/black/svg/folder-add-line.svg</file>
|
||||||
|
<file>icons/black/svg/folder-download-line.svg</file>
|
||||||
<file>icons/black/svg/folder-open-line.svg</file>
|
<file>icons/black/svg/folder-open-line.svg</file>
|
||||||
<file>icons/black/svg/folder-reduce-line.svg</file>
|
<file>icons/black/svg/folder-reduce-line.svg</file>
|
||||||
<file>icons/black/svg/folder-settings-line.svg</file>
|
<file>icons/black/svg/folder-settings-line.svg</file>
|
||||||
|
@ -83,6 +84,7 @@
|
||||||
<file>icons/white/svg/flashlight-line.svg</file>
|
<file>icons/white/svg/flashlight-line.svg</file>
|
||||||
<file>icons/white/svg/flask-line.svg</file>
|
<file>icons/white/svg/flask-line.svg</file>
|
||||||
<file>icons/white/svg/folder-add-line.svg</file>
|
<file>icons/white/svg/folder-add-line.svg</file>
|
||||||
|
<file>icons/white/svg/folder-download-line.svg</file>
|
||||||
<file>icons/white/svg/folder-open-line.svg</file>
|
<file>icons/white/svg/folder-open-line.svg</file>
|
||||||
<file>icons/white/svg/folder-reduce-line.svg</file>
|
<file>icons/white/svg/folder-reduce-line.svg</file>
|
||||||
<file>icons/white/svg/folder-settings-line.svg</file>
|
<file>icons/white/svg/folder-settings-line.svg</file>
|
||||||
|
@ -112,7 +114,7 @@
|
||||||
<file>icons/white/svg/volume-up-line.svg</file>
|
<file>icons/white/svg/volume-up-line.svg</file>
|
||||||
<file>icons/white/svg/window-2-line.svg</file>
|
<file>icons/white/svg/window-2-line.svg</file>
|
||||||
<file>images/DrivingForce.png</file>
|
<file>images/DrivingForce.png</file>
|
||||||
<file>images/GTForce.png</file>
|
|
||||||
<file>images/dualshock-2.png</file>
|
<file>images/dualshock-2.png</file>
|
||||||
|
<file>images/GTForce.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
Loading…
Reference in New Issue