Removing unused settings and yuzu rebranding
This commit is contained in:
parent
f5f28a4f67
commit
18ca3ca751
|
@ -18,11 +18,7 @@
|
||||||
#ifdef USER_DIR
|
#ifdef USER_DIR
|
||||||
#define EMU_DATA_DIR USER_DIR
|
#define EMU_DATA_DIR USER_DIR
|
||||||
#else
|
#else
|
||||||
#ifdef _WIN32
|
#define EMU_DATA_DIR "yuzu"
|
||||||
#define EMU_DATA_DIR "Citra"
|
|
||||||
#else
|
|
||||||
#define EMU_DATA_DIR "citra-emu"
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Dirs in both User and Sys
|
// Dirs in both User and Sys
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
|
|
||||||
namespace Settings {
|
namespace Settings {
|
||||||
|
|
||||||
enum class LayoutOption {
|
|
||||||
Default,
|
|
||||||
SingleScreen,
|
|
||||||
LargeScreen,
|
|
||||||
SideScreen,
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace NativeButton {
|
namespace NativeButton {
|
||||||
enum Values {
|
enum Values {
|
||||||
A,
|
A,
|
||||||
|
@ -78,9 +71,6 @@ enum class CpuCore {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Values {
|
struct Values {
|
||||||
// CheckNew3DS
|
|
||||||
bool is_new_3ds;
|
|
||||||
|
|
||||||
// Controls
|
// Controls
|
||||||
std::array<std::string, NativeButton::NumButtons> buttons;
|
std::array<std::string, NativeButton::NumButtons> buttons;
|
||||||
std::array<std::string, NativeAnalog::NumAnalogs> analogs;
|
std::array<std::string, NativeAnalog::NumAnalogs> analogs;
|
||||||
|
@ -93,54 +83,20 @@ struct Values {
|
||||||
// Data Storage
|
// Data Storage
|
||||||
bool use_virtual_sd;
|
bool use_virtual_sd;
|
||||||
|
|
||||||
// System Region
|
|
||||||
int region_value;
|
|
||||||
|
|
||||||
// Renderer
|
// Renderer
|
||||||
bool use_hw_renderer;
|
|
||||||
bool use_shader_jit;
|
|
||||||
float resolution_factor;
|
float resolution_factor;
|
||||||
bool use_vsync;
|
|
||||||
bool toggle_framelimit;
|
bool toggle_framelimit;
|
||||||
|
|
||||||
LayoutOption layout_option;
|
|
||||||
bool swap_screen;
|
|
||||||
bool custom_layout;
|
|
||||||
u16 custom_top_left;
|
|
||||||
u16 custom_top_top;
|
|
||||||
u16 custom_top_right;
|
|
||||||
u16 custom_top_bottom;
|
|
||||||
u16 custom_bottom_left;
|
|
||||||
u16 custom_bottom_top;
|
|
||||||
u16 custom_bottom_right;
|
|
||||||
u16 custom_bottom_bottom;
|
|
||||||
|
|
||||||
float bg_red;
|
float bg_red;
|
||||||
float bg_green;
|
float bg_green;
|
||||||
float bg_blue;
|
float bg_blue;
|
||||||
|
|
||||||
std::string log_filter;
|
std::string log_filter;
|
||||||
|
|
||||||
// Audio
|
|
||||||
std::string sink_id;
|
|
||||||
bool enable_audio_stretching;
|
|
||||||
std::string audio_device_id;
|
|
||||||
|
|
||||||
// Debugging
|
// Debugging
|
||||||
bool use_gdbstub;
|
bool use_gdbstub;
|
||||||
u16 gdbstub_port;
|
u16 gdbstub_port;
|
||||||
|
|
||||||
// WebService
|
|
||||||
bool enable_telemetry;
|
|
||||||
std::string telemetry_endpoint_url;
|
|
||||||
std::string verify_endpoint_url;
|
|
||||||
std::string citra_username;
|
|
||||||
std::string citra_token;
|
|
||||||
} extern values;
|
} extern values;
|
||||||
|
|
||||||
// a special value for Values::region_value indicating that citra will automatically select a region
|
|
||||||
// value to fit the region lockout info of the game
|
|
||||||
static constexpr int REGION_VALUE_AUTO_SELECT = -1;
|
|
||||||
|
|
||||||
void Apply();
|
void Apply();
|
||||||
} // namespace Settings
|
} // namespace Settings
|
||||||
|
|
|
@ -146,21 +146,12 @@ TelemetrySession::TelemetrySession() {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Log user configuration information
|
// Log user configuration information
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Audio_EnableAudioStretching",
|
|
||||||
Settings::values.enable_audio_stretching);
|
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore",
|
AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore",
|
||||||
static_cast<int>(Settings::values.cpu_core));
|
static_cast<int>(Settings::values.cpu_core));
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor",
|
AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor",
|
||||||
Settings::values.resolution_factor);
|
Settings::values.resolution_factor);
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit",
|
AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit",
|
||||||
Settings::values.toggle_framelimit);
|
Settings::values.toggle_framelimit);
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Renderer_UseHwRenderer",
|
|
||||||
Settings::values.use_hw_renderer);
|
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Renderer_UseShaderJit",
|
|
||||||
Settings::values.use_shader_jit);
|
|
||||||
AddField(Telemetry::FieldType::UserConfig, "Renderer_UseVsync", Settings::values.use_vsync);
|
|
||||||
AddField(Telemetry::FieldType::UserConfig, "System_IsNew3ds", Settings::values.is_new_3ds);
|
|
||||||
AddField(Telemetry::FieldType::UserConfig, "System_RegionValue", Settings::values.region_value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TelemetrySession::~TelemetrySession() {
|
TelemetrySession::~TelemetrySession() {
|
||||||
|
|
|
@ -21,7 +21,7 @@ set(SRCS
|
||||||
hotkeys.cpp
|
hotkeys.cpp
|
||||||
main.cpp
|
main.cpp
|
||||||
ui_settings.cpp
|
ui_settings.cpp
|
||||||
citra-qt.rc
|
yuzu.rc
|
||||||
Info.plist
|
Info.plist
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include "input_common/motion_emu.h"
|
#include "input_common/motion_emu.h"
|
||||||
#include "yuzu/bootmanager.h"
|
#include "yuzu/bootmanager.h"
|
||||||
|
|
||||||
|
|
||||||
EmuThread::EmuThread(GRenderWindow* render_window)
|
EmuThread::EmuThread(GRenderWindow* render_window)
|
||||||
: exec_step(false), running(false), stop_run(false), render_window(render_window) {}
|
: exec_step(false), running(false), stop_run(false), render_window(render_window) {}
|
||||||
|
|
||||||
|
@ -107,7 +106,7 @@ private:
|
||||||
GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread)
|
GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread)
|
||||||
: QWidget(parent), child(nullptr), emu_thread(emu_thread) {
|
: QWidget(parent), child(nullptr), emu_thread(emu_thread) {
|
||||||
|
|
||||||
std::string window_title = Common::StringFromFormat("Citra %s| %s-%s", Common::g_build_name,
|
std::string window_title = Common::StringFromFormat("yuzu %s| %s-%s", Common::g_build_name,
|
||||||
Common::g_scm_branch, Common::g_scm_desc);
|
Common::g_scm_branch, Common::g_scm_desc);
|
||||||
setWindowTitle(QString::fromStdString(window_title));
|
setWindowTitle(QString::fromStdString(window_title));
|
||||||
|
|
||||||
|
@ -261,7 +260,6 @@ void GRenderWindow::InitRenderTarget() {
|
||||||
QGLFormat fmt;
|
QGLFormat fmt;
|
||||||
fmt.setVersion(3, 3);
|
fmt.setVersion(3, 3);
|
||||||
fmt.setProfile(QGLFormat::CoreProfile);
|
fmt.setProfile(QGLFormat::CoreProfile);
|
||||||
fmt.setSwapInterval(Settings::values.use_vsync);
|
|
||||||
|
|
||||||
// Requests a forward-compatible context, which is required to get a 3.2+ context on OS X
|
// Requests a forward-compatible context, which is required to get a 3.2+ context on OS X
|
||||||
fmt.setOption(QGL::NoDeprecatedFunctions);
|
fmt.setOption(QGL::NoDeprecatedFunctions);
|
||||||
|
|
|
@ -73,10 +73,7 @@ void Config::ReadValues() {
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
||||||
qt_config->beginGroup("Renderer");
|
qt_config->beginGroup("Renderer");
|
||||||
Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool();
|
|
||||||
Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool();
|
|
||||||
Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat();
|
Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat();
|
||||||
Settings::values.use_vsync = qt_config->value("use_vsync", false).toBool();
|
|
||||||
Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool();
|
Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool();
|
||||||
|
|
||||||
Settings::values.bg_red = qt_config->value("bg_red", 0.0).toFloat();
|
Settings::values.bg_red = qt_config->value("bg_red", 0.0).toFloat();
|
||||||
|
@ -84,39 +81,10 @@ void Config::ReadValues() {
|
||||||
Settings::values.bg_blue = qt_config->value("bg_blue", 0.0).toFloat();
|
Settings::values.bg_blue = qt_config->value("bg_blue", 0.0).toFloat();
|
||||||
qt_config->endGroup();
|
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();
|
|
||||||
Settings::values.custom_layout = qt_config->value("custom_layout", false).toBool();
|
|
||||||
Settings::values.custom_top_left = qt_config->value("custom_top_left", 0).toInt();
|
|
||||||
Settings::values.custom_top_top = qt_config->value("custom_top_top", 0).toInt();
|
|
||||||
Settings::values.custom_top_right = qt_config->value("custom_top_right", 400).toInt();
|
|
||||||
Settings::values.custom_top_bottom = qt_config->value("custom_top_bottom", 240).toInt();
|
|
||||||
Settings::values.custom_bottom_left = qt_config->value("custom_bottom_left", 40).toInt();
|
|
||||||
Settings::values.custom_bottom_top = qt_config->value("custom_bottom_top", 240).toInt();
|
|
||||||
Settings::values.custom_bottom_right = qt_config->value("custom_bottom_right", 360).toInt();
|
|
||||||
Settings::values.custom_bottom_bottom = qt_config->value("custom_bottom_bottom", 480).toInt();
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("Audio");
|
|
||||||
Settings::values.sink_id = qt_config->value("output_engine", "auto").toString().toStdString();
|
|
||||||
Settings::values.enable_audio_stretching =
|
|
||||||
qt_config->value("enable_audio_stretching", true).toBool();
|
|
||||||
Settings::values.audio_device_id =
|
|
||||||
qt_config->value("output_device", "auto").toString().toStdString();
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("Data Storage");
|
qt_config->beginGroup("Data Storage");
|
||||||
Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool();
|
Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool();
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
||||||
qt_config->beginGroup("System");
|
|
||||||
Settings::values.is_new_3ds = qt_config->value("is_new_3ds", false).toBool();
|
|
||||||
Settings::values.region_value =
|
|
||||||
qt_config->value("region_value", Settings::REGION_VALUE_AUTO_SELECT).toInt();
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("Miscellaneous");
|
qt_config->beginGroup("Miscellaneous");
|
||||||
Settings::values.log_filter = qt_config->value("log_filter", "*:Info").toString().toStdString();
|
Settings::values.log_filter = qt_config->value("log_filter", "*:Info").toString().toStdString();
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
@ -126,23 +94,7 @@ void Config::ReadValues() {
|
||||||
Settings::values.gdbstub_port = qt_config->value("gdbstub_port", 24689).toInt();
|
Settings::values.gdbstub_port = qt_config->value("gdbstub_port", 24689).toInt();
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
||||||
qt_config->beginGroup("WebService");
|
|
||||||
Settings::values.enable_telemetry = qt_config->value("enable_telemetry", true).toBool();
|
|
||||||
Settings::values.telemetry_endpoint_url =
|
|
||||||
qt_config->value("telemetry_endpoint_url", "https://services.citra-emu.org/api/telemetry")
|
|
||||||
.toString()
|
|
||||||
.toStdString();
|
|
||||||
Settings::values.verify_endpoint_url =
|
|
||||||
qt_config->value("verify_endpoint_url", "https://services.citra-emu.org/api/profile")
|
|
||||||
.toString()
|
|
||||||
.toStdString();
|
|
||||||
Settings::values.citra_username = qt_config->value("citra_username").toString().toStdString();
|
|
||||||
Settings::values.citra_token = qt_config->value("citra_token").toString().toStdString();
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("UI");
|
qt_config->beginGroup("UI");
|
||||||
UISettings::values.theme = qt_config->value("theme", UISettings::themes[0].second).toString();
|
|
||||||
|
|
||||||
qt_config->beginGroup("UILayout");
|
qt_config->beginGroup("UILayout");
|
||||||
UISettings::values.geometry = qt_config->value("geometry").toByteArray();
|
UISettings::values.geometry = qt_config->value("geometry").toByteArray();
|
||||||
UISettings::values.state = qt_config->value("state").toByteArray();
|
UISettings::values.state = qt_config->value("state").toByteArray();
|
||||||
|
@ -213,10 +165,7 @@ void Config::SaveValues() {
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
||||||
qt_config->beginGroup("Renderer");
|
qt_config->beginGroup("Renderer");
|
||||||
qt_config->setValue("use_hw_renderer", Settings::values.use_hw_renderer);
|
|
||||||
qt_config->setValue("use_shader_jit", Settings::values.use_shader_jit);
|
|
||||||
qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor);
|
qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor);
|
||||||
qt_config->setValue("use_vsync", Settings::values.use_vsync);
|
|
||||||
qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit);
|
qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit);
|
||||||
|
|
||||||
// Cast to double because Qt's written float values are not human-readable
|
// Cast to double because Qt's written float values are not human-readable
|
||||||
|
@ -225,35 +174,10 @@ void Config::SaveValues() {
|
||||||
qt_config->setValue("bg_blue", (double)Settings::values.bg_blue);
|
qt_config->setValue("bg_blue", (double)Settings::values.bg_blue);
|
||||||
qt_config->endGroup();
|
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->setValue("custom_layout", Settings::values.custom_layout);
|
|
||||||
qt_config->setValue("custom_top_left", Settings::values.custom_top_left);
|
|
||||||
qt_config->setValue("custom_top_top", Settings::values.custom_top_top);
|
|
||||||
qt_config->setValue("custom_top_right", Settings::values.custom_top_right);
|
|
||||||
qt_config->setValue("custom_top_bottom", Settings::values.custom_top_bottom);
|
|
||||||
qt_config->setValue("custom_bottom_left", Settings::values.custom_bottom_left);
|
|
||||||
qt_config->setValue("custom_bottom_top", Settings::values.custom_bottom_top);
|
|
||||||
qt_config->setValue("custom_bottom_right", Settings::values.custom_bottom_right);
|
|
||||||
qt_config->setValue("custom_bottom_bottom", Settings::values.custom_bottom_bottom);
|
|
||||||
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);
|
|
||||||
qt_config->setValue("output_device", QString::fromStdString(Settings::values.audio_device_id));
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("Data Storage");
|
qt_config->beginGroup("Data Storage");
|
||||||
qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd);
|
qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd);
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
||||||
qt_config->beginGroup("System");
|
|
||||||
qt_config->setValue("is_new_3ds", Settings::values.is_new_3ds);
|
|
||||||
qt_config->setValue("region_value", Settings::values.region_value);
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("Miscellaneous");
|
qt_config->beginGroup("Miscellaneous");
|
||||||
qt_config->setValue("log_filter", QString::fromStdString(Settings::values.log_filter));
|
qt_config->setValue("log_filter", QString::fromStdString(Settings::values.log_filter));
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
@ -263,16 +187,6 @@ void Config::SaveValues() {
|
||||||
qt_config->setValue("gdbstub_port", Settings::values.gdbstub_port);
|
qt_config->setValue("gdbstub_port", Settings::values.gdbstub_port);
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
||||||
qt_config->beginGroup("WebService");
|
|
||||||
qt_config->setValue("enable_telemetry", Settings::values.enable_telemetry);
|
|
||||||
qt_config->setValue("telemetry_endpoint_url",
|
|
||||||
QString::fromStdString(Settings::values.telemetry_endpoint_url));
|
|
||||||
qt_config->setValue("verify_endpoint_url",
|
|
||||||
QString::fromStdString(Settings::values.verify_endpoint_url));
|
|
||||||
qt_config->setValue("citra_username", QString::fromStdString(Settings::values.citra_username));
|
|
||||||
qt_config->setValue("citra_token", QString::fromStdString(Settings::values.citra_token));
|
|
||||||
qt_config->endGroup();
|
|
||||||
|
|
||||||
qt_config->beginGroup("UI");
|
qt_config->beginGroup("UI");
|
||||||
qt_config->setValue("theme", UISettings::values.theme);
|
qt_config->setValue("theme", UISettings::values.theme);
|
||||||
|
|
||||||
|
|
|
@ -39,21 +39,11 @@
|
||||||
<string>Graphics</string>
|
<string>Graphics</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="ConfigureAudio" name="audioTab">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Audio</string>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
|
||||||
<widget class="ConfigureDebug" name="debugTab">
|
<widget class="ConfigureDebug" name="debugTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Debug</string>
|
<string>Debug</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="ConfigureWeb" name="webTab">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Web</string>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -78,12 +68,6 @@
|
||||||
<header>configuration/configure_system.h</header>
|
<header>configuration/configure_system.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
|
||||||
<class>ConfigureAudio</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header>configuration/configure_audio.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>ConfigureDebug</class>
|
<class>ConfigureDebug</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
|
@ -102,12 +86,6 @@
|
||||||
<header>configuration/configure_graphics.h</header>
|
<header>configuration/configure_graphics.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
|
||||||
<class>ConfigureWeb</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header>configuration/configure_web.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections>
|
||||||
|
|
|
@ -13,10 +13,6 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent)
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
for (auto theme : UISettings::themes) {
|
|
||||||
ui->theme_combobox->addItem(theme.first, theme.second);
|
|
||||||
}
|
|
||||||
|
|
||||||
this->setConfiguration();
|
this->setConfiguration();
|
||||||
|
|
||||||
ui->cpu_core_combobox->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
ui->cpu_core_combobox->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
||||||
|
@ -27,20 +23,12 @@ ConfigureGeneral::~ConfigureGeneral() {}
|
||||||
void ConfigureGeneral::setConfiguration() {
|
void ConfigureGeneral::setConfiguration() {
|
||||||
ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan);
|
ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan);
|
||||||
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
|
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
|
||||||
|
|
||||||
// The first item is "auto-select" with actual value -1, so plus one here will do the trick
|
|
||||||
ui->region_combobox->setCurrentIndex(Settings::values.region_value + 1);
|
|
||||||
|
|
||||||
ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
|
|
||||||
ui->cpu_core_combobox->setCurrentIndex(static_cast<int>(Settings::values.cpu_core));
|
ui->cpu_core_combobox->setCurrentIndex(static_cast<int>(Settings::values.cpu_core));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureGeneral::applyConfiguration() {
|
void ConfigureGeneral::applyConfiguration() {
|
||||||
UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked();
|
UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked();
|
||||||
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
|
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
|
||||||
UISettings::values.theme =
|
|
||||||
ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
|
|
||||||
Settings::values.region_value = ui->region_combobox->currentIndex() - 1;
|
|
||||||
Settings::values.cpu_core =
|
Settings::values.cpu_core =
|
||||||
static_cast<Settings::CpuCore>(ui->cpu_core_combobox->currentIndex());
|
static_cast<Settings::CpuCore>(ui->cpu_core_combobox->currentIndex());
|
||||||
Settings::Apply();
|
Settings::Apply();
|
||||||
|
|
|
@ -70,102 +70,6 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="groupBox_4">
|
|
||||||
<property name="title">
|
|
||||||
<string>Emulation</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Region:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="region_combobox">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Auto-select</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">JPN</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">USA</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">EUR</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">AUS</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">CHN</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">KOR</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">TWN</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="theme_group_box">
|
|
||||||
<property name="title">
|
|
||||||
<string>Theme</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="theme_qhbox_layout">
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="theme_qvbox_layout">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="theme_qhbox_layout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="theme_label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Theme:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="theme_combobox">
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
@ -182,6 +86,19 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
|
@ -13,10 +13,6 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
this->setConfiguration();
|
this->setConfiguration();
|
||||||
|
|
||||||
ui->toggle_vsync->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
|
||||||
|
|
||||||
ui->layoutBox->setEnabled(!Settings::values.custom_layout);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigureGraphics::~ConfigureGraphics() {}
|
ConfigureGraphics::~ConfigureGraphics() {}
|
||||||
|
@ -91,26 +87,14 @@ Resolution FromResolutionFactor(float factor) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureGraphics::setConfiguration() {
|
void ConfigureGraphics::setConfiguration() {
|
||||||
ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer);
|
|
||||||
ui->resolution_factor_combobox->setEnabled(Settings::values.use_hw_renderer);
|
|
||||||
ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit);
|
|
||||||
ui->resolution_factor_combobox->setCurrentIndex(
|
ui->resolution_factor_combobox->setCurrentIndex(
|
||||||
static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor)));
|
static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor)));
|
||||||
ui->toggle_vsync->setChecked(Settings::values.use_vsync);
|
|
||||||
ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit);
|
ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit);
|
||||||
ui->layout_combobox->setCurrentIndex(static_cast<int>(Settings::values.layout_option));
|
|
||||||
ui->swap_screen->setChecked(Settings::values.swap_screen);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureGraphics::applyConfiguration() {
|
void ConfigureGraphics::applyConfiguration() {
|
||||||
Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked();
|
|
||||||
Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked();
|
|
||||||
Settings::values.resolution_factor =
|
Settings::values.resolution_factor =
|
||||||
ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex()));
|
ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex()));
|
||||||
Settings::values.use_vsync = ui->toggle_vsync->isChecked();
|
|
||||||
Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked();
|
Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked();
|
||||||
Settings::values.layout_option =
|
|
||||||
static_cast<Settings::LayoutOption>(ui->layout_combobox->currentIndex());
|
|
||||||
Settings::values.swap_screen = ui->swap_screen->isChecked();
|
|
||||||
Settings::Apply();
|
Settings::Apply();
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,27 +22,6 @@
|
||||||
<string>Graphics</string>
|
<string>Graphics</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<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_vsync">
|
|
||||||
<property name="text">
|
|
||||||
<string>Enable V-Sync</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="toggle_framelimit">
|
<widget class="QCheckBox" name="toggle_framelimit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -51,134 +30,79 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Internal Resolution:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="resolution_factor_combobox">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Auto (Window Size)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Native (400x240)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>2x Native (800x480)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>3x Native (1200x720)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>4x Native (1600x960)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>5x Native (2000x1200)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>6x Native (2400x1440)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>7x Native (2800x1680)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>8x Native (3200x1920)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>9x Native (3600x2160)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>10x Native (4000x2400)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="layoutBox">
|
|
||||||
<property name="title">
|
|
||||||
<string>Layout</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label1">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Screen Layout:</string>
|
<string>Internal Resolution:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="layout_combobox">
|
<widget class="QComboBox" name="resolution_factor_combobox">
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Default</string>
|
<string>Auto (Window Size)</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Single Screen</string>
|
<string>Native (400x240)</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Large Screen</string>
|
<string>2x Native (800x480)</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Side by Side</string>
|
<string>3x Native (1200x720)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>4x Native (1600x960)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>5x Native (2000x1200)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>6x Native (2400x1440)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>7x Native (2800x1680)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>8x Native (3200x1920)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>9x Native (3600x2160)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>10x Native (4000x2400)</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="swap_screen">
|
|
||||||
<property name="text">
|
|
||||||
<string>Swap Screens</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</widget>
|
||||||
</layout>
|
</item>
|
||||||
</widget>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
|
@ -196,12 +120,5 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections/>
|
||||||
<connection>
|
|
||||||
<sender>toggle_hw_renderer</sender>
|
|
||||||
<signal>toggled(bool)</signal>
|
|
||||||
<receiver>resolution_factor_combobox</receiver>
|
|
||||||
<slot>setEnabled(bool)</slot>
|
|
||||||
</connection>
|
|
||||||
</connections>
|
|
||||||
</ui>
|
</ui>
|
||||||
|
|
|
@ -356,8 +356,7 @@ void GameList::LoadInterfaceLayout() {
|
||||||
item_model->sort(header->sortIndicatorSection(), header->sortIndicatorOrder());
|
item_model->sort(header->sortIndicatorSection(), header->sortIndicatorOrder());
|
||||||
}
|
}
|
||||||
|
|
||||||
const QStringList GameList::supported_file_extensions = {"3ds", "3dsx", "elf", "axf",
|
const QStringList GameList::supported_file_extensions = {"nso", "nro"};
|
||||||
"cci", "cxi", "app"};
|
|
||||||
|
|
||||||
static bool HasSupportedFileExtension(const std::string& file_name) {
|
static bool HasSupportedFileExtension(const std::string& file_name) {
|
||||||
QFileInfo file = QFileInfo(file_name.c_str());
|
QFileInfo file = QFileInfo(file_name.c_str());
|
||||||
|
|
|
@ -65,22 +65,7 @@ static void ShowCalloutMessage(const QString& message, CalloutFlag flag) {
|
||||||
msg.exec();
|
msg.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::ShowCallouts() {
|
void GMainWindow::ShowCallouts() {}
|
||||||
static const QString telemetry_message =
|
|
||||||
tr("To help improve Citra, the Citra Team collects anonymous usage data. No private or "
|
|
||||||
"personally identifying information is collected. This data helps us to understand how "
|
|
||||||
"people use Citra and prioritize our efforts. Furthermore, it helps us to more easily "
|
|
||||||
"identify emulation bugs and performance issues. This data includes:<ul><li>Information"
|
|
||||||
" about the version of Citra you are using</li><li>Performance data about the games you "
|
|
||||||
"play</li><li>Your configuration settings</li><li>Information about your computer "
|
|
||||||
"hardware</li><li>Emulation errors and crash information</li></ul>By default, this "
|
|
||||||
"feature is enabled. To disable this feature, click 'Emulation' from the menu and then "
|
|
||||||
"select 'Configure...'. Then, on the 'Web' tab, uncheck 'Share anonymous usage data with"
|
|
||||||
" the Citra team'. <br/><br/>By using this software, you agree to the above terms.<br/>"
|
|
||||||
"<br/><a href='https://citra-emu.org/entry/telemetry-and-why-thats-a-good-thing/'>Learn "
|
|
||||||
"more</a>");
|
|
||||||
ShowCalloutMessage(telemetry_message, CalloutFlag::Telemetry);
|
|
||||||
}
|
|
||||||
|
|
||||||
GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) {
|
GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) {
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
|
@ -98,14 +83,12 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) {
|
||||||
ConnectMenuEvents();
|
ConnectMenuEvents();
|
||||||
ConnectWidgetEvents();
|
ConnectWidgetEvents();
|
||||||
|
|
||||||
setWindowTitle(QString("Citra %1| %2-%3")
|
setWindowTitle(QString("yuzu %1| %2-%3")
|
||||||
.arg(Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc));
|
.arg(Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc));
|
||||||
show();
|
show();
|
||||||
|
|
||||||
game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan);
|
game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan);
|
||||||
|
|
||||||
UpdateUITheme();
|
|
||||||
|
|
||||||
// Show one-time "callout" messages to the user
|
// Show one-time "callout" messages to the user
|
||||||
ShowCallouts();
|
ShowCallouts();
|
||||||
|
|
||||||
|
@ -203,7 +186,6 @@ void GMainWindow::InitializeRecentFileMenuActions() {
|
||||||
|
|
||||||
void GMainWindow::InitializeHotkeys() {
|
void GMainWindow::InitializeHotkeys() {
|
||||||
RegisterHotkey("Main Window", "Load File", QKeySequence::Open);
|
RegisterHotkey("Main Window", "Load File", QKeySequence::Open);
|
||||||
RegisterHotkey("Main Window", "Swap Screens", QKeySequence::NextChild);
|
|
||||||
RegisterHotkey("Main Window", "Start Emulation");
|
RegisterHotkey("Main Window", "Start Emulation");
|
||||||
LoadHotkeys();
|
LoadHotkeys();
|
||||||
|
|
||||||
|
@ -211,8 +193,6 @@ void GMainWindow::InitializeHotkeys() {
|
||||||
SLOT(OnMenuLoadFile()));
|
SLOT(OnMenuLoadFile()));
|
||||||
connect(GetHotkey("Main Window", "Start Emulation", this), SIGNAL(activated()), this,
|
connect(GetHotkey("Main Window", "Start Emulation", this), SIGNAL(activated()), this,
|
||||||
SLOT(OnStartGame()));
|
SLOT(OnStartGame()));
|
||||||
connect(GetHotkey("Main Window", "Swap Screens", render_window), SIGNAL(activated()), this,
|
|
||||||
SLOT(OnSwapScreens()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::SetDefaultUIGeometry() {
|
void GMainWindow::SetDefaultUIGeometry() {
|
||||||
|
@ -386,7 +366,7 @@ bool GMainWindow::LoadROM(const QString& filename) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::BootGame(const QString& filename) {
|
void GMainWindow::BootGame(const QString& filename) {
|
||||||
LOG_INFO(Frontend, "Citra starting...");
|
LOG_INFO(Frontend, "yuzu starting...");
|
||||||
StoreRecentFile(filename); // Put the filename on top of the list
|
StoreRecentFile(filename); // Put the filename on top of the list
|
||||||
|
|
||||||
if (!LoadROM(filename))
|
if (!LoadROM(filename))
|
||||||
|
@ -503,7 +483,7 @@ void GMainWindow::OnMenuLoadFile() {
|
||||||
for (const auto& piece : game_list->supported_file_extensions)
|
for (const auto& piece : game_list->supported_file_extensions)
|
||||||
extensions += "*." + piece + " ";
|
extensions += "*." + piece + " ";
|
||||||
|
|
||||||
QString file_filter = tr("3DS Executable") + " (" + extensions + ")";
|
QString file_filter = tr("Switch Executable") + " (" + extensions + ")";
|
||||||
file_filter += ";;" + tr("All Files (*.*)");
|
file_filter += ";;" + tr("All Files (*.*)");
|
||||||
|
|
||||||
QString filename = QFileDialog::getOpenFileName(this, tr("Load File"),
|
QString filename = QFileDialog::getOpenFileName(this, tr("Load File"),
|
||||||
|
@ -597,7 +577,6 @@ void GMainWindow::OnConfigure() {
|
||||||
auto result = configureDialog.exec();
|
auto result = configureDialog.exec();
|
||||||
if (result == QDialog::Accepted) {
|
if (result == QDialog::Accepted) {
|
||||||
configureDialog.applyConfiguration();
|
configureDialog.applyConfiguration();
|
||||||
UpdateUITheme();
|
|
||||||
config->Save();
|
config->Save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -611,11 +590,6 @@ void GMainWindow::OnToggleFilterBar() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::OnSwapScreens() {
|
|
||||||
Settings::values.swap_screen = !Settings::values.swap_screen;
|
|
||||||
Settings::Apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GMainWindow::OnCreateGraphicsSurfaceViewer() {}
|
void GMainWindow::OnCreateGraphicsSurfaceViewer() {}
|
||||||
|
|
||||||
void GMainWindow::UpdateStatusBar() {
|
void GMainWindow::UpdateStatusBar() {
|
||||||
|
@ -778,24 +752,6 @@ void GMainWindow::filterBarSetChecked(bool state) {
|
||||||
emit(OnToggleFilterBar());
|
emit(OnToggleFilterBar());
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::UpdateUITheme() {
|
|
||||||
if (UISettings::values.theme != UISettings::themes[0].second) {
|
|
||||||
QString theme_uri(":" + UISettings::values.theme + "/style.qss");
|
|
||||||
QFile f(theme_uri);
|
|
||||||
if (!f.exists()) {
|
|
||||||
LOG_ERROR(Frontend, "Unable to set style, stylesheet file not found");
|
|
||||||
} else {
|
|
||||||
f.open(QFile::ReadOnly | QFile::Text);
|
|
||||||
QTextStream ts(&f);
|
|
||||||
qApp->setStyleSheet(ts.readAll());
|
|
||||||
GMainWindow::setStyleSheet(ts.readAll());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
qApp->setStyleSheet("");
|
|
||||||
GMainWindow::setStyleSheet("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef main
|
#ifdef main
|
||||||
#undef main
|
#undef main
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -123,7 +123,6 @@ private slots:
|
||||||
/// Called whenever a user selects the "File->Select Game List Root" menu item
|
/// Called whenever a user selects the "File->Select Game List Root" menu item
|
||||||
void OnMenuSelectGameListRoot();
|
void OnMenuSelectGameListRoot();
|
||||||
void OnMenuRecentFile();
|
void OnMenuRecentFile();
|
||||||
void OnSwapScreens();
|
|
||||||
void OnConfigure();
|
void OnConfigure();
|
||||||
void OnToggleFilterBar();
|
void OnToggleFilterBar();
|
||||||
void OnDisplayTitleBars(bool);
|
void OnDisplayTitleBars(bool);
|
||||||
|
@ -156,11 +155,6 @@ private:
|
||||||
ProfilerWidget* profilerWidget;
|
ProfilerWidget* profilerWidget;
|
||||||
MicroProfileDialog* microProfileDialog;
|
MicroProfileDialog* microProfileDialog;
|
||||||
RegistersWidget* registersWidget;
|
RegistersWidget* registersWidget;
|
||||||
GPUCommandStreamWidget* graphicsWidget;
|
|
||||||
GPUCommandListWidget* graphicsCommandsWidget;
|
|
||||||
GraphicsBreakPointsWidget* graphicsBreakpointsWidget;
|
|
||||||
GraphicsVertexShaderWidget* graphicsVertexShaderWidget;
|
|
||||||
GraphicsTracingWidget* graphicsTracingWidget;
|
|
||||||
WaitTreeWidget* waitTreeWidget;
|
WaitTreeWidget* waitTreeWidget;
|
||||||
|
|
||||||
QAction* actions_recent_files[max_recent_files_item];
|
QAction* actions_recent_files[max_recent_files_item];
|
||||||
|
|
|
@ -143,7 +143,7 @@
|
||||||
</action>
|
</action>
|
||||||
<action name="action_About">
|
<action name="action_About">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>About Citra</string>
|
<string>About yuzu</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="action_Single_Window_Mode">
|
<action name="action_Single_Window_Mode">
|
||||||
|
|
|
@ -15,10 +15,6 @@ namespace UISettings {
|
||||||
using ContextualShortcut = std::pair<QString, int>;
|
using ContextualShortcut = std::pair<QString, int>;
|
||||||
using Shortcut = std::pair<QString, ContextualShortcut>;
|
using Shortcut = std::pair<QString, ContextualShortcut>;
|
||||||
|
|
||||||
static const std::array<std::pair<QString, QString>, 2> themes = {
|
|
||||||
{std::make_pair(QString("Default"), QString("default")),
|
|
||||||
std::make_pair(QString("Dark"), QString("qdarkstyle"))}};
|
|
||||||
|
|
||||||
struct Values {
|
struct Values {
|
||||||
QByteArray geometry;
|
QByteArray geometry;
|
||||||
QByteArray state;
|
QByteArray state;
|
||||||
|
|
Reference in New Issue