aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2026-03-10 06:51:08 +0100
committercrueter <crueter@eden-emu.dev>2026-03-10 06:51:08 +0100
commit8678cb06eb28a6416a4c6911458fc04113ad8ed4 (patch)
tree3ec250a08b89730833cb9e44d33a5ef42e094a0c /src/yuzu
parent769edbfea31e0300137bb1214dd2822fceaa09ab (diff)
[meta] clang-format literally all of the Qt code (#3706)
I'm tired of dealing with this tbh Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3706 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/about_dialog.cpp23
-rw-r--r--src/yuzu/applets/qt_controller.cpp21
-rw-r--r--src/yuzu/applets/qt_software_keyboard.cpp30
-rw-r--r--src/yuzu/applets/qt_web_browser.cpp26
-rw-r--r--src/yuzu/applets/qt_web_browser.h3
-rw-r--r--src/yuzu/bootmanager.cpp37
-rw-r--r--src/yuzu/configuration/addon/mod_select_dialog.cpp3
-rw-r--r--src/yuzu/configuration/addon/mod_select_dialog.h5
-rw-r--r--src/yuzu/configuration/configure_audio.cpp17
-rw-r--r--src/yuzu/configuration/configure_cpu.cpp14
-rw-r--r--src/yuzu/configuration/configure_cpu.h4
-rw-r--r--src/yuzu/configuration/configure_debug.cpp11
-rw-r--r--src/yuzu/configuration/configure_dialog.cpp35
-rw-r--r--src/yuzu/configuration/configure_dialog.h2
-rw-r--r--src/yuzu/configuration/configure_filesystem.cpp30
-rw-r--r--src/yuzu/configuration/configure_general.cpp2
-rw-r--r--src/yuzu/configuration/configure_graphics.cpp93
-rw-r--r--src/yuzu/configuration/configure_graphics_advanced.cpp4
-rw-r--r--src/yuzu/configuration/configure_graphics_extensions.cpp18
-rw-r--r--src/yuzu/configuration/configure_hotkeys.cpp4
-rw-r--r--src/yuzu/configuration/configure_input.cpp15
-rw-r--r--src/yuzu/configuration/configure_input_advanced.cpp2
-rw-r--r--src/yuzu/configuration/configure_input_per_game.h4
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp20
-rw-r--r--src/yuzu/configuration/configure_input_player_widget.cpp5
-rw-r--r--src/yuzu/configuration/configure_network.cpp5
-rw-r--r--src/yuzu/configuration/configure_per_game.cpp10
-rw-r--r--src/yuzu/configuration/configure_per_game.h4
-rw-r--r--src/yuzu/configuration/configure_per_game_addons.cpp44
-rw-r--r--src/yuzu/configuration/configure_per_game_addons.h7
-rw-r--r--src/yuzu/configuration/configure_profile_manager.cpp52
-rw-r--r--src/yuzu/configuration/configure_profile_manager.h5
-rw-r--r--src/yuzu/configuration/configure_ringcon.cpp4
-rw-r--r--src/yuzu/configuration/configure_system.cpp7
-rw-r--r--src/yuzu/configuration/configure_tas.cpp5
-rw-r--r--src/yuzu/configuration/configure_touch_from_button.cpp7
-rw-r--r--src/yuzu/configuration/configure_ui.cpp2
-rw-r--r--src/yuzu/configuration/configure_web.cpp22
-rw-r--r--src/yuzu/configuration/configure_web.h6
-rw-r--r--src/yuzu/configuration/shared_widget.cpp51
-rw-r--r--src/yuzu/configuration/shared_widget.h4
-rw-r--r--src/yuzu/configuration/system/new_user_dialog.h16
-rw-r--r--src/yuzu/data_dialog.cpp47
-rw-r--r--src/yuzu/data_dialog.h15
-rw-r--r--src/yuzu/debugger/console.cpp4
-rw-r--r--src/yuzu/deps_dialog.cpp42
-rw-r--r--src/yuzu/deps_dialog.h31
-rw-r--r--src/yuzu/game/game_card.cpp4
-rw-r--r--src/yuzu/game/game_card.h8
-rw-r--r--src/yuzu/game/game_list.cpp25
-rw-r--r--src/yuzu/game/game_list.h10
-rw-r--r--src/yuzu/game/game_list_p.h20
-rw-r--r--src/yuzu/game/game_list_worker.cpp69
-rw-r--r--src/yuzu/game/game_list_worker.h2
-rw-r--r--src/yuzu/hotkeys.cpp4
-rw-r--r--src/yuzu/install_dialog.cpp4
-rw-r--r--src/yuzu/libqt_common.cpp20
-rw-r--r--src/yuzu/libqt_common.h2
-rw-r--r--src/yuzu/loading_screen.cpp2
-rw-r--r--src/yuzu/main.cpp9
-rw-r--r--src/yuzu/main_window.cpp494
-rw-r--r--src/yuzu/main_window.h33
-rw-r--r--src/yuzu/migration_dialog.cpp28
-rw-r--r--src/yuzu/migration_dialog.h25
-rw-r--r--src/yuzu/migration_worker.cpp28
-rw-r--r--src/yuzu/migration_worker.h26
-rw-r--r--src/yuzu/multiplayer/chat_room.h2
-rw-r--r--src/yuzu/multiplayer/direct_connect.cpp4
-rw-r--r--src/yuzu/multiplayer/host_room.cpp5
-rw-r--r--src/yuzu/multiplayer/lobby.cpp5
-rw-r--r--src/yuzu/multiplayer/state.cpp2
-rw-r--r--src/yuzu/render/performance_overlay.h16
-rw-r--r--src/yuzu/ryujinx_dialog.cpp34
-rw-r--r--src/yuzu/ryujinx_dialog.h12
-rw-r--r--src/yuzu/set_play_time_dialog.cpp13
-rw-r--r--src/yuzu/set_play_time_dialog.h4
-rw-r--r--src/yuzu/user_data_migration.cpp86
-rw-r--r--src/yuzu/user_data_migration.h5
-rw-r--r--src/yuzu/util/util.cpp12
-rw-r--r--src/yuzu/vk_device_info.cpp7
80 files changed, 907 insertions, 931 deletions
diff --git a/src/yuzu/about_dialog.cpp b/src/yuzu/about_dialog.cpp
index 9f7597f471..2694f421cb 100644
--- a/src/yuzu/about_dialog.cpp
+++ b/src/yuzu/about_dialog.cpp
@@ -1,29 +1,24 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "yuzu/about_dialog.h"
#include <QIcon>
+#include <fmt/ranges.h>
#include "common/scm_rev.h"
#include "ui_aboutdialog.h"
-#include <fmt/ranges.h>
+#include "yuzu/about_dialog.h"
AboutDialog::AboutDialog(QWidget* parent)
- : QDialog(parent)
- , ui{std::make_unique<Ui::AboutDialog>()}
-{
+ : QDialog(parent), ui{std::make_unique<Ui::AboutDialog>()} {
static const std::string build_id = std::string{Common::g_build_id};
- static const std::string yuzu_build = fmt::format("{} | {} | {}",
- std::string{Common::g_build_name},
- std::string{Common::g_build_version},
- std::string{Common::g_compiler_id}
- );
+ static const std::string yuzu_build =
+ fmt::format("{} | {} | {}", std::string{Common::g_build_name},
+ std::string{Common::g_build_version}, std::string{Common::g_compiler_id});
- const auto override_build = fmt::format(fmt::runtime(
- std::string(Common::g_title_bar_format_idle)),
- build_id);
+ const auto override_build =
+ fmt::format(fmt::runtime(std::string(Common::g_title_bar_format_idle)), build_id);
const auto yuzu_build_version = override_build.empty() ? yuzu_build : override_build;
ui->setupUi(this);
diff --git a/src/yuzu/applets/qt_controller.cpp b/src/yuzu/applets/qt_controller.cpp
index aa210caf77..e7fa93a793 100644
--- a/src/yuzu/applets/qt_controller.cpp
+++ b/src/yuzu/applets/qt_controller.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -17,8 +17,8 @@
#include "hid_core/hid_core.h"
#include "hid_core/hid_types.h"
#include "hid_core/resources/npad/npad.h"
-#include "ui_qt_controller.h"
#include "qt_common/qt_compat.h"
+#include "ui_qt_controller.h"
#include "yuzu/applets/qt_controller.h"
#include "yuzu/configuration/configure_input.h"
#include "yuzu/configuration/configure_input_profile_dialog.h"
@@ -188,14 +188,15 @@ QtControllerSelectorDialog::QtControllerSelectorDialog(
CheckIfParametersMet();
});
- connect(connected_controller_checkboxes[i], &QCheckBox::STATE_CHANGED, [this, i](int state) {
- player_groupboxes[i]->setChecked(state == Qt::Checked);
- UpdateControllerIcon(i);
- UpdateControllerState(i);
- UpdateLEDPattern(i);
- UpdateBorderColor(i);
- CheckIfParametersMet();
- });
+ connect(connected_controller_checkboxes[i], &QCheckBox::STATE_CHANGED,
+ [this, i](int state) {
+ player_groupboxes[i]->setChecked(state == Qt::Checked);
+ UpdateControllerIcon(i);
+ UpdateControllerState(i);
+ UpdateLEDPattern(i);
+ UpdateBorderColor(i);
+ CheckIfParametersMet();
+ });
if (i == 0) {
connect(emulated_controllers[i], qOverload<int>(&QComboBox::currentIndexChanged),
diff --git a/src/yuzu/applets/qt_software_keyboard.cpp b/src/yuzu/applets/qt_software_keyboard.cpp
index 0b894bf51a..41f0b85e96 100644
--- a/src/yuzu/applets/qt_software_keyboard.cpp
+++ b/src/yuzu/applets/qt_software_keyboard.cpp
@@ -1499,22 +1499,22 @@ void QtSoftwareKeyboardDialog::StartInputThread() {
input_interpreter->PollInput();
HandleButtonPressedOnce<
Core::HID::NpadButton::A, Core::HID::NpadButton::B, Core::HID::NpadButton::X,
- Core::HID::NpadButton::Y, Core::HID::NpadButton::StickL, Core::HID::NpadButton::StickR,
- Core::HID::NpadButton::L, Core::HID::NpadButton::R, Core::HID::NpadButton::Plus,
- Core::HID::NpadButton::Left, Core::HID::NpadButton::Up, Core::HID::NpadButton::Right,
- Core::HID::NpadButton::Down, Core::HID::NpadButton::StickLLeft,
- Core::HID::NpadButton::StickLUp, Core::HID::NpadButton::StickLRight,
- Core::HID::NpadButton::StickLDown, Core::HID::NpadButton::StickRLeft,
- Core::HID::NpadButton::StickRUp, Core::HID::NpadButton::StickRRight,
- Core::HID::NpadButton::StickRDown>();
+ Core::HID::NpadButton::Y, Core::HID::NpadButton::StickL,
+ Core::HID::NpadButton::StickR, Core::HID::NpadButton::L, Core::HID::NpadButton::R,
+ Core::HID::NpadButton::Plus, Core::HID::NpadButton::Left, Core::HID::NpadButton::Up,
+ Core::HID::NpadButton::Right, Core::HID::NpadButton::Down,
+ Core::HID::NpadButton::StickLLeft, Core::HID::NpadButton::StickLUp,
+ Core::HID::NpadButton::StickLRight, Core::HID::NpadButton::StickLDown,
+ Core::HID::NpadButton::StickRLeft, Core::HID::NpadButton::StickRUp,
+ Core::HID::NpadButton::StickRRight, Core::HID::NpadButton::StickRDown>();
HandleButtonHold<Core::HID::NpadButton::B, Core::HID::NpadButton::L,
- Core::HID::NpadButton::R, Core::HID::NpadButton::Left,
- Core::HID::NpadButton::Up, Core::HID::NpadButton::Right,
- Core::HID::NpadButton::Down, Core::HID::NpadButton::StickLLeft,
- Core::HID::NpadButton::StickLUp, Core::HID::NpadButton::StickLRight,
- Core::HID::NpadButton::StickLDown, Core::HID::NpadButton::StickRLeft,
- Core::HID::NpadButton::StickRUp, Core::HID::NpadButton::StickRRight,
- Core::HID::NpadButton::StickRDown>();
+ Core::HID::NpadButton::R, Core::HID::NpadButton::Left,
+ Core::HID::NpadButton::Up, Core::HID::NpadButton::Right,
+ Core::HID::NpadButton::Down, Core::HID::NpadButton::StickLLeft,
+ Core::HID::NpadButton::StickLUp, Core::HID::NpadButton::StickLRight,
+ Core::HID::NpadButton::StickLDown, Core::HID::NpadButton::StickRLeft,
+ Core::HID::NpadButton::StickRUp, Core::HID::NpadButton::StickRRight,
+ Core::HID::NpadButton::StickRDown>();
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
});
diff --git a/src/yuzu/applets/qt_web_browser.cpp b/src/yuzu/applets/qt_web_browser.cpp
index 2141b9d0e7..e7c50aa3fb 100644
--- a/src/yuzu/applets/qt_web_browser.cpp
+++ b/src/yuzu/applets/qt_web_browser.cpp
@@ -63,8 +63,8 @@ QtNXWebEngineView::QtNXWebEngineView(QWidget* parent, Core::System& system,
: QWebEngineView(parent), input_subsystem{input_subsystem_},
url_interceptor(std::make_unique<UrlRequestInterceptor>()),
input_interpreter(std::make_unique<InputInterpreter>(system)),
- default_profile{QWebEngineProfile::defaultProfile()}, global_settings{
- default_profile->settings()} {
+ default_profile{QWebEngineProfile::defaultProfile()},
+ global_settings{default_profile->settings()} {
default_profile->setPersistentStoragePath(QString::fromStdString(Common::FS::PathToUTF8String(
Common::FS::GetEdenPath(Common::FS::EdenPath::EdenDir) / "qtwebengine")));
@@ -299,21 +299,21 @@ void QtNXWebEngineView::StartInputThread() {
while (!stoken.stop_requested()) {
input_interpreter->PollInput();
- HandleWindowFooterButtonPressedOnce<Core::HID::NpadButton::A, Core::HID::NpadButton::B,
- Core::HID::NpadButton::X, Core::HID::NpadButton::Y,
- Core::HID::NpadButton::L, Core::HID::NpadButton::R>();
+ HandleWindowFooterButtonPressedOnce<
+ Core::HID::NpadButton::A, Core::HID::NpadButton::B, Core::HID::NpadButton::X,
+ Core::HID::NpadButton::Y, Core::HID::NpadButton::L, Core::HID::NpadButton::R>();
HandleWindowKeyButtonPressedOnce<
- Core::HID::NpadButton::Left, Core::HID::NpadButton::Up, Core::HID::NpadButton::Right,
- Core::HID::NpadButton::Down, Core::HID::NpadButton::StickLLeft,
- Core::HID::NpadButton::StickLUp, Core::HID::NpadButton::StickLRight,
- Core::HID::NpadButton::StickLDown>();
+ Core::HID::NpadButton::Left, Core::HID::NpadButton::Up,
+ Core::HID::NpadButton::Right, Core::HID::NpadButton::Down,
+ Core::HID::NpadButton::StickLLeft, Core::HID::NpadButton::StickLUp,
+ Core::HID::NpadButton::StickLRight, Core::HID::NpadButton::StickLDown>();
HandleWindowKeyButtonHold<
- Core::HID::NpadButton::Left, Core::HID::NpadButton::Up, Core::HID::NpadButton::Right,
- Core::HID::NpadButton::Down, Core::HID::NpadButton::StickLLeft,
- Core::HID::NpadButton::StickLUp, Core::HID::NpadButton::StickLRight,
- Core::HID::NpadButton::StickLDown>();
+ Core::HID::NpadButton::Left, Core::HID::NpadButton::Up,
+ Core::HID::NpadButton::Right, Core::HID::NpadButton::Down,
+ Core::HID::NpadButton::StickLLeft, Core::HID::NpadButton::StickLUp,
+ Core::HID::NpadButton::StickLRight, Core::HID::NpadButton::StickLDown>();
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
diff --git a/src/yuzu/applets/qt_web_browser.h b/src/yuzu/applets/qt_web_browser.h
index 6a2dd0c8ba..f6869bbb35 100644
--- a/src/yuzu/applets/qt_web_browser.h
+++ b/src/yuzu/applets/qt_web_browser.h
@@ -169,7 +169,8 @@ private:
std::unique_ptr<InputInterpreter> input_interpreter;
std::jthread input_thread;
std::atomic<bool> finished{};
- Service::AM::Frontend::WebExitReason exit_reason{Service::AM::Frontend::WebExitReason::EndButtonPressed};
+ Service::AM::Frontend::WebExitReason exit_reason{
+ Service::AM::Frontend::WebExitReason::EndButtonPressed};
std::string last_url{"http://localhost/"};
bool is_local{};
QWebEngineProfile* default_profile;
diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp
index 72a5157fc4..69b3681d0a 100644
--- a/src/yuzu/bootmanager.cpp
+++ b/src/yuzu/bootmanager.cpp
@@ -54,12 +54,12 @@
#include "input_common/drivers/tas_input.h"
#include "input_common/drivers/touch_screen.h"
#include "input_common/main.h"
+#include "qt_common/qt_common.h"
#include "video_core/gpu.h"
#include "video_core/rasterizer_interface.h"
#include "video_core/renderer_base.h"
#include "yuzu/bootmanager.h"
#include "yuzu/main_window.h"
-#include "qt_common/qt_common.h"
class QObject;
class QPaintEngine;
@@ -282,8 +282,8 @@ struct NullRenderWidget : public RenderWidget {
GRenderWindow::GRenderWindow(MainWindow* parent, EmuThread* emu_thread_,
std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_,
Core::System& system_)
- : QWidget(parent),
- emu_thread(emu_thread_), input_subsystem{std::move(input_subsystem_)}, system{system_} {
+ : QWidget(parent), emu_thread(emu_thread_), input_subsystem{std::move(input_subsystem_)},
+ system{system_} {
setWindowTitle(QStringLiteral("Eden %1 | %2-%3")
.arg(QString::fromUtf8(Common::g_build_name),
QString::fromUtf8(Common::g_scm_branch),
@@ -887,13 +887,14 @@ void GRenderWindow::resizeEvent(QResizeEvent* event) {
std::unique_ptr<Core::Frontend::GraphicsContext> GRenderWindow::CreateSharedContext() const {
#ifdef HAS_OPENGL
- if (Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLSL
- || Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLASM
- || Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_SPIRV) {
+ if (Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLSL ||
+ Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLASM ||
+ Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_SPIRV) {
auto c = static_cast<OpenGLSharedContext*>(main_context.get());
// Bind the shared contexts to the main surface in case the backend wants to take over
// presentation
- return std::make_unique<OpenGLSharedContext>(c->GetShareContext(), child_widget->windowHandle());
+ return std::make_unique<OpenGLSharedContext>(c->GetShareContext(),
+ child_widget->windowHandle());
}
#endif
return std::make_unique<DummyContext>();
@@ -940,9 +941,9 @@ bool GRenderWindow::InitRenderTarget() {
OnFramebufferSizeChanged();
BackupGeometry();
- if (Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLSL
- || Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLASM
- || Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_SPIRV)
+ if (Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLSL ||
+ Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_GLASM ||
+ Settings::values.renderer_backend.GetValue() == Settings::RendererBackend::OpenGL_SPIRV)
return LoadOpenGL();
return true;
}
@@ -1050,21 +1051,23 @@ bool GRenderWindow::LoadOpenGL() {
}
// Display various warnings (but not fatal errors) for missing OpenGL extensions or lack of
// OpenGL 4.6 support
- const QString renderer = QString::fromUtf8(reinterpret_cast<const char*>(glGetString(GL_RENDERER)));
+ const QString renderer =
+ QString::fromUtf8(reinterpret_cast<const char*>(glGetString(GL_RENDERER)));
if (!GLAD_GL_VERSION_4_6) {
QMessageBox::warning(this, tr("Error while initializing OpenGL 4.6!"),
- tr("Your GPU may not support OpenGL 4.6, or you do not have the "
- "latest graphics driver.<br><br>GL Renderer:<br>%1")
- .arg(renderer));
+ tr("Your GPU may not support OpenGL 4.6, or you do not have the "
+ "latest graphics driver.<br><br>GL Renderer:<br>%1")
+ .arg(renderer));
return false;
}
if (QStringList missing_ext = GetUnsupportedGLExtensions(); !missing_ext.empty()) {
QMessageBox::warning(
this, tr("Error while initializing OpenGL!"),
tr("Your GPU may not support one or more required OpenGL extensions. Please ensure you "
- "have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported "
- "extensions:<br>%2")
- .arg(renderer).arg(missing_ext.join(QStringLiteral("<br>"))));
+ "have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported "
+ "extensions:<br>%2")
+ .arg(renderer)
+ .arg(missing_ext.join(QStringLiteral("<br>"))));
// Non fatal
}
return true;
diff --git a/src/yuzu/configuration/addon/mod_select_dialog.cpp b/src/yuzu/configuration/addon/mod_select_dialog.cpp
index e6c361b94f..467de5a764 100644
--- a/src/yuzu/configuration/addon/mod_select_dialog.cpp
+++ b/src/yuzu/configuration/addon/mod_select_dialog.cpp
@@ -43,7 +43,8 @@ ModSelectDialog::ModSelectDialog(const QStringList& mods, QWidget* parent)
width = qMax(width, item_model->item(i)->sizeHint().width());
}
- width += ui->treeView->contentsMargins().left() * 4 + ui->treeView->contentsMargins().right() * 4;
+ width +=
+ ui->treeView->contentsMargins().left() * 4 + ui->treeView->contentsMargins().right() * 4;
ui->treeView->setMinimumHeight(qMin(height, 600));
ui->treeView->setMinimumWidth(qMin(width, 700));
adjustSize();
diff --git a/src/yuzu/configuration/addon/mod_select_dialog.h b/src/yuzu/configuration/addon/mod_select_dialog.h
index d23c435e7a..ab6d4686b0 100644
--- a/src/yuzu/configuration/addon/mod_select_dialog.h
+++ b/src/yuzu/configuration/addon/mod_select_dialog.h
@@ -14,11 +14,12 @@ class ModSelectDialog : public QDialog {
Q_OBJECT
public:
- explicit ModSelectDialog(const QStringList &mods, QWidget* parent = nullptr);
+ explicit ModSelectDialog(const QStringList& mods, QWidget* parent = nullptr);
~ModSelectDialog();
signals:
- void modsSelected(const QStringList &mods);
+ void modsSelected(const QStringList& mods);
+
private:
Ui::ModSelectDialog* ui;
diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
index 10eacf39cb..65b8b16301 100644
--- a/src/yuzu/configuration/configure_audio.cpp
+++ b/src/yuzu/configuration/configure_audio.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
@@ -16,12 +16,12 @@
#include "common/settings.h"
#include "common/settings_common.h"
#include "core/core.h"
+#include "qt_common/config/shared_translation.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure_audio.h"
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_audio.h"
-#include "qt_common/config/shared_translation.h"
#include "yuzu/configuration/shared_widget.h"
-#include "qt_common/config/uisettings.h"
ConfigureAudio::ConfigureAudio(const Core::System& system_,
std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group_,
@@ -188,8 +188,8 @@ void ConfigureAudio::SetOutputSinkFromSinkID() {
const std::string new_sink_id = []() -> const std::string {
const Settings::AudioEngine sink_id = Settings::values.sink_id.GetValue();
- const auto canonicalizations
- = Settings::EnumMetadata<Settings::AudioEngine>::Canonicalizations();
+ const auto canonicalizations =
+ Settings::EnumMetadata<Settings::AudioEngine>::Canonicalizations();
for (u32 i = 0; i < canonicalizations.size(); ++i) {
const Settings::AudioEngine value = canonicalizations[i].second;
@@ -242,8 +242,8 @@ void ConfigureAudio::ApplyConfiguration() {
const u32 new_sink_id = [this]() {
const std::string sink_id = sink_combo_box->currentText().toStdString();
- const auto canonicalizations
- = Settings::EnumMetadata<Settings::AudioEngine>::Canonicalizations();
+ const auto canonicalizations =
+ Settings::EnumMetadata<Settings::AudioEngine>::Canonicalizations();
for (u32 i = 0; i < canonicalizations.size(); ++i) {
if (sink_id == canonicalizations[i].first)
@@ -291,7 +291,8 @@ void ConfigureAudio::InitializeAudioSinkComboBox() {
sink_combo_box->clear();
sink_combo_box->addItem(QString::fromUtf8(AudioCore::Sink::auto_device_name));
for (const auto& id : AudioCore::Sink::GetSinkIDs())
- sink_combo_box->addItem(QString::fromStdString(std::string{Settings::CanonicalizeEnum(id)}));
+ sink_combo_box->addItem(
+ QString::fromStdString(std::string{Settings::CanonicalizeEnum(id)}));
}
void ConfigureAudio::RetranslateUI() {
diff --git a/src/yuzu/configuration/configure_cpu.cpp b/src/yuzu/configuration/configure_cpu.cpp
index bc1140d835..eee1c677b7 100644
--- a/src/yuzu/configuration/configure_cpu.cpp
+++ b/src/yuzu/configuration/configure_cpu.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -76,9 +76,9 @@ void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {
} else if (setting->Id() == Settings::values.cpu_backend.Id()) {
backend_layout->addWidget(widget);
backend_combobox = widget->combobox;
- } else if (setting->Id() == Settings::values.fast_cpu_time.Id()
- || setting->Id() == Settings::values.vtable_bouncing.Id()
- || setting->Id() == Settings::values.cpu_ticks.Id()) {
+ } else if (setting->Id() == Settings::values.fast_cpu_time.Id() ||
+ setting->Id() == Settings::values.vtable_bouncing.Id() ||
+ setting->Id() == Settings::values.cpu_ticks.Id()) {
ui->general_layout->addWidget(widget);
} else {
// Presently, all other settings here are unsafe checkboxes
@@ -93,12 +93,12 @@ void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) {
UpdateGroup();
}
-void ConfigureCpu::UpdateGroup()
-{
+void ConfigureCpu::UpdateGroup() {
const u32 accuracy = accuracy_combobox->currentIndex();
const u32 backend = backend_combobox->currentIndex();
// TODO(crueter): see if this works on NCE
- ui->unsafe_group->setVisible(accuracy == (u32) Settings::CpuAccuracy::Unsafe && backend == (u32) Settings::CpuBackend::Dynarmic);
+ ui->unsafe_group->setVisible(accuracy == (u32)Settings::CpuAccuracy::Unsafe &&
+ backend == (u32)Settings::CpuBackend::Dynarmic);
}
void ConfigureCpu::ApplyConfiguration() {
diff --git a/src/yuzu/configuration/configure_cpu.h b/src/yuzu/configuration/configure_cpu.h
index 461ca7f85e..2b0ae890d7 100644
--- a/src/yuzu/configuration/configure_cpu.h
+++ b/src/yuzu/configuration/configure_cpu.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -9,8 +9,8 @@
#include <memory>
#include <vector>
#include <QWidget>
-#include "yuzu/configuration/configuration_shared.h"
#include "qt_common/config/shared_translation.h"
+#include "yuzu/configuration/configuration_shared.h"
class QComboBox;
diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp
index e0bdbaeaa1..287bfbb338 100644
--- a/src/yuzu/configuration/configure_debug.cpp
+++ b/src/yuzu/configuration/configure_debug.cpp
@@ -13,10 +13,10 @@
#include "common/settings.h"
#include "core/core.h"
#include "core/crypto/key_manager.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure_debug.h"
#include "yuzu/configuration/configure_debug.h"
#include "yuzu/debugger/console.h"
-#include "qt_common/config/uisettings.h"
ConfigureDebug::ConfigureDebug(const Core::System& system_, QWidget* parent)
: QScrollArea(parent), ui{std::make_unique<Ui::ConfigureDebug>()}, system{system_} {
@@ -60,7 +60,8 @@ void ConfigureDebug::SetConfiguration() {
// Immutable after starting
ui->homebrew_args_edit->setEnabled(runtime_lock);
- ui->homebrew_args_edit->setText(QString::fromStdString(Settings::values.program_args.GetValue()));
+ ui->homebrew_args_edit->setText(
+ QString::fromStdString(Settings::values.program_args.GetValue()));
ui->toggle_console->setEnabled(runtime_lock);
ui->toggle_console->setChecked(UISettings::values.show_console.GetValue());
ui->fs_access_log->setEnabled(runtime_lock);
@@ -84,7 +85,8 @@ void ConfigureDebug::SetConfiguration() {
ui->disable_macro_hle->setEnabled(runtime_lock);
ui->disable_macro_hle->setChecked(Settings::values.disable_macro_hle.GetValue());
ui->disable_loop_safety_checks->setEnabled(runtime_lock);
- ui->disable_loop_safety_checks->setChecked(Settings::values.disable_shader_loop_safety_checks.GetValue());
+ ui->disable_loop_safety_checks->setChecked(
+ Settings::values.disable_shader_loop_safety_checks.GetValue());
ui->perform_vulkan_check->setChecked(Settings::values.perform_vulkan_check.GetValue());
ui->debug_knobs_spinbox->setValue(Settings::values.debug_knobs.GetValue());
#ifdef YUZU_USE_QT_WEB_ENGINE
@@ -118,7 +120,8 @@ void ConfigureDebug::ApplyConfiguration() {
Settings::values.enable_nsight_aftermath = ui->enable_nsight_aftermath->isChecked();
Settings::values.dump_shaders = ui->dump_shaders->isChecked();
Settings::values.dump_macros = ui->dump_macros->isChecked();
- Settings::values.disable_shader_loop_safety_checks = ui->disable_loop_safety_checks->isChecked();
+ Settings::values.disable_shader_loop_safety_checks =
+ ui->disable_loop_safety_checks->isChecked();
Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked();
Settings::values.disable_macro_hle = ui->disable_macro_hle->isChecked();
Settings::values.extended_logging = ui->extended_logging->isChecked();
diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp
index 1107c77e8c..2e3107d3dc 100644
--- a/src/yuzu/configuration/configure_dialog.cpp
+++ b/src/yuzu/configuration/configure_dialog.cpp
@@ -9,6 +9,7 @@
#include "common/settings.h"
#include "common/settings_enums.h"
#include "core/core.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure.h"
#include "vk_device_info.h"
#include "yuzu/configuration/configure_applets.h"
@@ -30,15 +31,14 @@
#include "yuzu/configuration/configure_ui.h"
#include "yuzu/configuration/configure_web.h"
#include "yuzu/hotkeys.h"
-#include "qt_common/config/uisettings.h"
ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_,
InputCommon::InputSubsystem* input_subsystem,
std::vector<VkDeviceInfo::Record>& vk_device_records,
Core::System& system_, bool enable_web_config)
- : QDialog(parent), ui{std::make_unique<Ui::ConfigureDialog>()},
- registry(registry_), system{system_}, builder{std::make_unique<ConfigurationShared::Builder>(
- this, !system_.IsPoweredOn())},
+ : QDialog(parent), ui{std::make_unique<Ui::ConfigureDialog>()}, registry(registry_),
+ system{system_},
+ builder{std::make_unique<ConfigurationShared::Builder>(this, !system_.IsPoweredOn())},
applets_tab{std::make_unique<ConfigureApplets>(system_, nullptr, *builder, this)},
audio_tab{std::make_unique<ConfigureAudio>(system_, nullptr, *builder, this)},
cpu_tab{std::make_unique<ConfigureCpu>(system_, nullptr, *builder, this)},
@@ -46,9 +46,9 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_,
filesystem_tab{std::make_unique<ConfigureFilesystem>(this)},
general_tab{std::make_unique<ConfigureGeneral>(system_, nullptr, *builder, this)},
graphics_advanced_tab{
- std::make_unique<ConfigureGraphicsAdvanced>(system_, nullptr, *builder, this)},
+ std::make_unique<ConfigureGraphicsAdvanced>(system_, nullptr, *builder, this)},
graphics_extensions_tab{
- std::make_unique<ConfigureGraphicsExtensions>(system_, nullptr, *builder, this)},
+ std::make_unique<ConfigureGraphicsExtensions>(system_, nullptr, *builder, this)},
ui_tab{std::make_unique<ConfigureUi>(system_, this)},
graphics_tab{std::make_unique<ConfigureGraphics>(
system_, vk_device_records, [&]() { graphics_advanced_tab->ExposeComputeOption(); },
@@ -113,7 +113,7 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry_,
adjustSize();
ui->selectorList->setCurrentRow(0);
- // Selects the leftmost button on the bottom bar (Cancel as of writing)
+ // Selects the leftmost button on the bottom bar (Cancel as of writing)
ui->buttonBox->setFocus();
}
@@ -172,16 +172,17 @@ Q_DECLARE_METATYPE(QList<QWidget*>);
void ConfigureDialog::PopulateSelectionList() {
const std::array<std::pair<QString, QList<QWidget*>>, 6> items{
- {{tr("General"),
- {general_tab.get(), hotkeys_tab.get(), ui_tab.get(), web_tab.get(), debug_tab_tab.get()}},
- {tr("System"),
- {system_tab.get(), profile_tab.get(), network_tab.get(), filesystem_tab.get(),
- applets_tab.get()}},
- {tr("CPU"), {cpu_tab.get()}},
- {tr("Graphics"), {graphics_tab.get(), graphics_advanced_tab.get(), graphics_extensions_tab.get()}},
- {tr("Audio"), {audio_tab.get()}},
- {tr("Controls"), input_tab->GetSubTabs()}},
- };
+ {{tr("General"),
+ {general_tab.get(), hotkeys_tab.get(), ui_tab.get(), web_tab.get(), debug_tab_tab.get()}},
+ {tr("System"),
+ {system_tab.get(), profile_tab.get(), network_tab.get(), filesystem_tab.get(),
+ applets_tab.get()}},
+ {tr("CPU"), {cpu_tab.get()}},
+ {tr("Graphics"),
+ {graphics_tab.get(), graphics_advanced_tab.get(), graphics_extensions_tab.get()}},
+ {tr("Audio"), {audio_tab.get()}},
+ {tr("Controls"), input_tab->GetSubTabs()}},
+ };
[[maybe_unused]] const QSignalBlocker blocker(ui->selectorList);
diff --git a/src/yuzu/configuration/configure_dialog.h b/src/yuzu/configuration/configure_dialog.h
index 9d79e6f0ac..5c504c9a16 100644
--- a/src/yuzu/configuration/configure_dialog.h
+++ b/src/yuzu/configuration/configure_dialog.h
@@ -10,8 +10,8 @@
#include <vector>
#include <QDialog>
#include "configuration/shared_widget.h"
-#include "yuzu/configuration/configuration_shared.h"
#include "qt_common/config/shared_translation.h"
+#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/vk_device_info.h"
namespace Core {
diff --git a/src/yuzu/configuration/configure_filesystem.cpp b/src/yuzu/configuration/configure_filesystem.cpp
index 27af4c8055..ee1e4bbc20 100644
--- a/src/yuzu/configuration/configure_filesystem.cpp
+++ b/src/yuzu/configuration/configure_filesystem.cpp
@@ -4,7 +4,6 @@
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "yuzu/configuration/configure_filesystem.h"
#include <filesystem>
#include <QFileDialog>
#include <QMessageBox>
@@ -12,10 +11,11 @@
#include "common/fs/fs.h"
#include "common/fs/path_util.h"
#include "common/settings.h"
+#include "qt_common/config/uisettings.h"
#include "qt_common/qt_compat.h"
#include "qt_common/util/game.h"
-#include "qt_common/config/uisettings.h"
#include "ui_configure_filesystem.h"
+#include "yuzu/configuration/configure_filesystem.h"
ConfigureFilesystem::ConfigureFilesystem(QWidget* parent)
: QWidget(parent), ui(std::make_unique<Ui::ConfigureFilesystem>()) {
@@ -26,8 +26,7 @@ ConfigureFilesystem::ConfigureFilesystem(QWidget* parent)
[this] { SetDirectory(DirectoryTarget::NAND, ui->nand_directory_edit); });
connect(ui->sdmc_directory_button, &QToolButton::pressed, this,
[this] { SetDirectory(DirectoryTarget::SD, ui->sdmc_directory_edit); });
- connect(ui->save_directory_button, &QToolButton::pressed, this,
- [this] { SetSaveDirectory(); });
+ connect(ui->save_directory_button, &QToolButton::pressed, this, [this] { SetSaveDirectory(); });
connect(ui->gamecard_path_button, &QToolButton::pressed, this,
[this] { SetDirectory(DirectoryTarget::Gamecard, ui->gamecard_path_edit); });
connect(ui->dump_path_button, &QToolButton::pressed, this,
@@ -221,9 +220,9 @@ void ConfigureFilesystem::PromptSaveMigration(const QString& from_path, const QS
.arg(QString::fromStdString(dest_save_dir.string()));
}
- QMessageBox::StandardButton reply = QMessageBox::question(
- this, tr("Migrate Save Data"), message,
- QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
+ QMessageBox::StandardButton reply =
+ QMessageBox::question(this, tr("Migrate Save Data"), message,
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
if (reply != QMessageBox::Yes) {
return;
@@ -249,17 +248,17 @@ void ConfigureFilesystem::PromptSaveMigration(const QString& from_path, const QS
progress.close();
if (ec) {
- QMessageBox::warning(this, tr("Migration Failed"),
- tr("Failed to migrate save data:\n%1")
- .arg(QString::fromStdString(ec.message())));
+ QMessageBox::warning(
+ this, tr("Migration Failed"),
+ tr("Failed to migrate save data:\n%1").arg(QString::fromStdString(ec.message())));
return;
}
- QMessageBox::StandardButton deleteReply = QMessageBox::question(
- this, tr("Migration Complete"),
- tr("Save data has been migrated successfully.\n\n"
- "Would you like to delete the old save data?"),
- QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
+ QMessageBox::StandardButton deleteReply =
+ QMessageBox::question(this, tr("Migration Complete"),
+ tr("Save data has been migrated successfully.\n\n"
+ "Would you like to delete the old save data?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
if (deleteReply == QMessageBox::Yes) {
Common::FS::RemoveDirRecursively(source_save_dir);
@@ -278,7 +277,6 @@ void ConfigureFilesystem::UpdateEnabledControls() {
!ui->gamecard_current_game->isChecked());
}
-
void ConfigureFilesystem::RetranslateUI() {
ui->retranslateUi(this);
}
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index f628abeab3..a311765f2f 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -13,11 +13,11 @@
#include <QMessageBox>
#include "common/settings.h"
#include "core/core.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure_general.h"
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_general.h"
#include "yuzu/configuration/shared_widget.h"
-#include "qt_common/config/uisettings.h"
ConfigureGeneral::ConfigureGeneral(const Core::System& system_,
std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group_,
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp
index b0c63aff4f..475b9b60ac 100644
--- a/src/yuzu/configuration/configure_graphics.cpp
+++ b/src/yuzu/configuration/configure_graphics.cpp
@@ -39,12 +39,12 @@
#include "common/settings.h"
#include "common/settings_enums.h"
#include "core/core.h"
+#include "qt_common/config/uisettings.h"
+#include "qt_common/qt_common.h"
#include "ui_configure_graphics.h"
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_graphics.h"
#include "yuzu/configuration/shared_widget.h"
-#include "qt_common/qt_common.h"
-#include "qt_common/config/uisettings.h"
#include "yuzu/vk_device_info.h"
static const std::vector<VkPresentModeKHR> default_present_modes{VK_PRESENT_MODE_IMMEDIATE_KHR,
@@ -91,8 +91,7 @@ ConfigureGraphics::ConfigureGraphics(
: ConfigurationShared::Tab(group_, parent), ui{std::make_unique<Ui::ConfigureGraphics>()},
records{records_}, expose_compute_option{expose_compute_option_},
update_aspect_ratio{update_aspect_ratio_}, system{system_},
- combobox_translations{builder.ComboboxTranslations()}
-{
+ combobox_translations{builder.ComboboxTranslations()} {
vulkan_device = Settings::values.vulkan_device.GetValue();
RetrieveVulkanDevices();
@@ -215,9 +214,9 @@ void ConfigureGraphics::PopulateVSyncModeSelection(bool use_setting) {
const Settings::VSyncMode global_vsync_mode = Settings::values.vsync_mode.GetValue(true);
vsync_restore_global_button->setEnabled(
- ((backend == Settings::RendererBackend::OpenGL_GLSL
- || backend == Settings::RendererBackend::OpenGL_GLASM
- || backend == Settings::RendererBackend::OpenGL_SPIRV) &&
+ ((backend == Settings::RendererBackend::OpenGL_GLSL ||
+ backend == Settings::RendererBackend::OpenGL_GLASM ||
+ backend == Settings::RendererBackend::OpenGL_SPIRV) &&
(global_vsync_mode == Settings::VSyncMode::Immediate ||
global_vsync_mode == Settings::VSyncMode::Fifo)) ||
backend == Settings::RendererBackend::Vulkan);
@@ -286,7 +285,9 @@ void ConfigureGraphics::Setup(const ConfigurationShared::Builder& builder) {
api_combobox = widget->combobox;
api_restore_global_button = widget->restore_button;
if (!Settings::IsConfiguringGlobal()) {
- api_restore_global_button->connect(api_restore_global_button, &QAbstractButton::clicked, [this](bool) { UpdateAPILayout(); });
+ api_restore_global_button->connect(api_restore_global_button,
+ &QAbstractButton::clicked,
+ [this](bool) { UpdateAPILayout(); });
// Detach API's restore button and place it where we want
// Lets us put it on the side, and it will automatically scale if there's a
// second combobox (vulkan_device)
@@ -312,20 +313,21 @@ void ConfigureGraphics::Setup(const ConfigurationShared::Builder& builder) {
widget->layout()->addWidget(restore_button);
restore_button->connect(restore_button, &QAbstractButton::clicked,
- [restore_button, this](bool) {
- Settings::values.vsync_mode.SetGlobal(true);
- PopulateVSyncModeSelection(true);
+ [restore_button, this](bool) {
+ Settings::values.vsync_mode.SetGlobal(true);
+ PopulateVSyncModeSelection(true);
- restore_button->setVisible(false);
- });
+ restore_button->setVisible(false);
+ });
std::function<void()> set_non_global = [restore_button, this]() {
Settings::values.vsync_mode.SetGlobal(false);
UpdateVsyncSetting();
restore_button->setVisible(true);
};
- widget->combobox->connect(widget->combobox, QOverload<int>::of(&QComboBox::activated),
- [set_non_global]() { set_non_global(); });
+ widget->combobox->connect(widget->combobox,
+ QOverload<int>::of(&QComboBox::activated),
+ [set_non_global]() { set_non_global(); });
vsync_restore_global_button = restore_button;
}
hold_graphics.emplace(setting->Id(), widget);
@@ -364,15 +366,15 @@ void ConfigureGraphics::Setup(const ConfigurationShared::Builder& builder) {
ui->bg_widget->layout()->addWidget(bg_restore_button);
bg_restore_button->connect(bg_restore_button, &QAbstractButton::clicked,
- [bg_restore_button, this](bool) {
- const int r = Settings::values.bg_red.GetValue(true);
- const int g = Settings::values.bg_green.GetValue(true);
- const int b = Settings::values.bg_blue.GetValue(true);
- UpdateBackgroundColorButton(QColor::fromRgb(r, g, b));
+ [bg_restore_button, this](bool) {
+ const int r = Settings::values.bg_red.GetValue(true);
+ const int g = Settings::values.bg_green.GetValue(true);
+ const int b = Settings::values.bg_blue.GetValue(true);
+ UpdateBackgroundColorButton(QColor::fromRgb(r, g, b));
- bg_restore_button->setVisible(false);
- bg_restore_button->setEnabled(false);
- });
+ bg_restore_button->setVisible(false);
+ bg_restore_button->setEnabled(false);
+ });
ui->bg_button->connect(ui->bg_button, &QAbstractButton::clicked, [bg_restore_button](bool) {
bg_restore_button->setVisible(true);
@@ -397,17 +399,19 @@ const QString ConfigureGraphics::TranslateVSyncMode(VkPresentModeKHR mode,
Settings::RendererBackend backend) const {
switch (mode) {
case VK_PRESENT_MODE_IMMEDIATE_KHR:
- return (backend == Settings::RendererBackend::OpenGL_GLSL
- || backend == Settings::RendererBackend::OpenGL_GLASM
- || backend == Settings::RendererBackend::OpenGL_SPIRV)
- ? tr("Off") : QStringLiteral("Immediate (%1)").arg(tr("VSync Off"));
+ return (backend == Settings::RendererBackend::OpenGL_GLSL ||
+ backend == Settings::RendererBackend::OpenGL_GLASM ||
+ backend == Settings::RendererBackend::OpenGL_SPIRV)
+ ? tr("Off")
+ : QStringLiteral("Immediate (%1)").arg(tr("VSync Off"));
case VK_PRESENT_MODE_MAILBOX_KHR:
return QStringLiteral("Mailbox (%1)").arg(tr("Recommended"));
case VK_PRESENT_MODE_FIFO_KHR:
- return (backend == Settings::RendererBackend::OpenGL_GLSL
- || backend == Settings::RendererBackend::OpenGL_GLASM
- || backend == Settings::RendererBackend::OpenGL_SPIRV)
- ? tr("On") : QStringLiteral("FIFO (%1)").arg(tr("VSync On"));
+ return (backend == Settings::RendererBackend::OpenGL_GLSL ||
+ backend == Settings::RendererBackend::OpenGL_GLASM ||
+ backend == Settings::RendererBackend::OpenGL_SPIRV)
+ ? tr("On")
+ : QStringLiteral("FIFO (%1)").arg(tr("VSync On"));
case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
return QStringLiteral("FIFO Relaxed");
default:
@@ -416,7 +420,9 @@ const QString ConfigureGraphics::TranslateVSyncMode(VkPresentModeKHR mode,
}
int ConfigureGraphics::FindIndex(u32 enumeration, int value) const {
- for (u32 i = 0; enumeration < combobox_translations.size() && i < combobox_translations.at(enumeration).size(); i++)
+ for (u32 i = 0; enumeration < combobox_translations.size() &&
+ i < combobox_translations.at(enumeration).size();
+ i++)
if (combobox_translations.at(enumeration)[i].first == u32(value))
return i;
return -1;
@@ -432,10 +438,14 @@ void ConfigureGraphics::ApplyConfiguration() {
Settings::values.vulkan_device.SetGlobal(true);
auto const index = Settings::EnumMetadata<Settings::RendererBackend>::Index();
- if (Settings::IsConfiguringGlobal() || (!Settings::IsConfiguringGlobal() && api_restore_global_button->isEnabled())) {
- auto backend = index >= combobox_translations.size() || size_t(api_combobox->currentIndex()) >= combobox_translations.at(index).size()
- ? Settings::values.renderer_backend.GetValue()
- : Settings::RendererBackend(combobox_translations.at(index)[api_combobox->currentIndex()].first);
+ if (Settings::IsConfiguringGlobal() ||
+ (!Settings::IsConfiguringGlobal() && api_restore_global_button->isEnabled())) {
+ auto backend =
+ index >= combobox_translations.size() ||
+ size_t(api_combobox->currentIndex()) >= combobox_translations.at(index).size()
+ ? Settings::values.renderer_backend.GetValue()
+ : Settings::RendererBackend(
+ combobox_translations.at(index)[api_combobox->currentIndex()].first);
switch (backend) {
case Settings::RendererBackend::Vulkan:
Settings::values.vulkan_device.SetGlobal(Settings::IsConfiguringGlobal());
@@ -506,12 +516,15 @@ Settings::RendererBackend ConfigureGraphics::GetCurrentGraphicsBackend() const {
auto const index = Settings::EnumMetadata<Settings::RendererBackend>::Index();
if (!Settings::IsConfiguringGlobal() && !api_restore_global_button->isEnabled())
return Settings::values.renderer_backend.GetValue(true);
- return index >= combobox_translations.size() || size_t(api_combobox->currentIndex()) >= combobox_translations.at(index).size()
- ? Settings::values.renderer_backend.GetValue()
- : Settings::RendererBackend(combobox_translations.at(index).at(api_combobox->currentIndex()).first);
+ return index >= combobox_translations.size() || size_t(api_combobox->currentIndex()) >=
+ combobox_translations.at(index).size()
+ ? Settings::values.renderer_backend.GetValue()
+ : Settings::RendererBackend(
+ combobox_translations.at(index).at(api_combobox->currentIndex()).first);
}();
- if (selected_backend == Settings::RendererBackend::Vulkan && UISettings::values.has_broken_vulkan)
+ if (selected_backend == Settings::RendererBackend::Vulkan &&
+ UISettings::values.has_broken_vulkan)
return Settings::RendererBackend::OpenGL_GLSL;
return selected_backend;
}
diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp
index 9096e3252d..2ffb3a0b30 100644
--- a/src/yuzu/configuration/configure_graphics_advanced.cpp
+++ b/src/yuzu/configuration/configure_graphics_advanced.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -9,10 +9,10 @@
#include <qnamespace.h>
#include "common/settings.h"
#include "core/core.h"
+#include "qt_common/config/shared_translation.h"
#include "ui_configure_graphics_advanced.h"
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_graphics_advanced.h"
-#include "qt_common/config/shared_translation.h"
#include "yuzu/configuration/shared_widget.h"
ConfigureGraphicsAdvanced::ConfigureGraphicsAdvanced(
diff --git a/src/yuzu/configuration/configure_graphics_extensions.cpp b/src/yuzu/configuration/configure_graphics_extensions.cpp
index 7334eccc97..8154dfa6ca 100644
--- a/src/yuzu/configuration/configure_graphics_extensions.cpp
+++ b/src/yuzu/configuration/configure_graphics_extensions.cpp
@@ -1,26 +1,27 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <vector>
-#include <QLabel>
-#include <qnamespace.h>
#include <QCheckBox>
+#include <QLabel>
#include <QSlider>
+#include <qnamespace.h>
#include "common/settings.h"
#include "core/core.h"
+#include "qt_common/config/shared_translation.h"
#include "ui_configure_graphics_extensions.h"
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_graphics_extensions.h"
-#include "qt_common/config/shared_translation.h"
#include "yuzu/configuration/shared_widget.h"
ConfigureGraphicsExtensions::ConfigureGraphicsExtensions(
const Core::System& system_, std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group_,
const ConfigurationShared::Builder& builder, QWidget* parent)
- : Tab(group_, parent), ui{std::make_unique<Ui::ConfigureGraphicsExtensions>()}, system{system_} {
+ : Tab(group_, parent), ui{std::make_unique<Ui::ConfigureGraphicsExtensions>()},
+ system{system_} {
ui->setupUi(this);
@@ -44,8 +45,8 @@ void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& buil
if (setting->Id() == Settings::values.sample_shading.Id()) {
// TODO(crueter): should support this natively perhaps?
return builder.BuildWidget(
- setting, apply_funcs, ConfigurationShared::RequestType::Slider, true,
- 1.0f, nullptr, tr("%", "Sample Shading percentage (e.g. 50%)"));
+ setting, apply_funcs, ConfigurationShared::RequestType::Slider, true, 1.0f,
+ nullptr, tr("%", "Sample Shading percentage (e.g. 50%)"));
} else {
return builder.BuildWidget(setting, apply_funcs);
}
@@ -64,7 +65,8 @@ void ConfigureGraphicsExtensions::Setup(const ConfigurationShared::Builder& buil
#ifdef __APPLE__
if (setting->Id() == Settings::values.dyna_state.Id()) {
widget->setEnabled(false);
- widget->setToolTip(tr("Extended Dynamic State is disabled on macOS due to MoltenVK compatibility issues that cause black screens."));
+ widget->setToolTip(tr("Extended Dynamic State is disabled on macOS due to MoltenVK "
+ "compatibility issues that cause black screens."));
}
#endif
}
diff --git a/src/yuzu/configuration/configure_hotkeys.cpp b/src/yuzu/configuration/configure_hotkeys.cpp
index dfd3727120..9e19cb49bf 100644
--- a/src/yuzu/configuration/configure_hotkeys.cpp
+++ b/src/yuzu/configuration/configure_hotkeys.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2017 Citra Emulator Project
@@ -13,10 +13,10 @@
#include "hid_core/hid_core.h"
#include "frontend_common/config.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure_hotkeys.h"
#include "yuzu/configuration/configure_hotkeys.h"
#include "yuzu/hotkeys.h"
-#include "qt_common/config/uisettings.h"
#include "yuzu/util/sequence_dialog/sequence_dialog.h"
constexpr int name_column = 0;
diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp
index 1a2d36efe6..4473df901e 100644
--- a/src/yuzu/configuration/configure_input.cpp
+++ b/src/yuzu/configuration/configure_input.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
@@ -15,10 +15,10 @@
#include "core/hle/service/sm/sm.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
+#include "qt_common/qt_compat.h"
#include "ui_configure_input.h"
#include "ui_configure_input_advanced.h"
#include "ui_configure_input_player.h"
-#include "qt_common/qt_compat.h"
#include "yuzu/configuration/configure_camera.h"
#include "yuzu/configuration/configure_debug_controller.h"
#include "yuzu/configuration/configure_input.h"
@@ -102,7 +102,7 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem,
};
for (std::size_t i = 0; i < player_tabs.size(); ++i) {
- QHBoxLayout *tab_layout = new QHBoxLayout(player_tabs[i]);
+ QHBoxLayout* tab_layout = new QHBoxLayout(player_tabs[i]);
tab_layout->addWidget(player_controllers[i]);
connect(player_controllers[i], &ConfigureInputPlayer::Connected, [this, i](bool checked) {
// Ensures that connecting a controller changes the number of players
@@ -125,10 +125,11 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem,
&ConfigureInput::UpdateAllInputDevices);
connect(player_controllers[i], &ConfigureInputPlayer::RefreshInputProfiles, this,
&ConfigureInput::UpdateAllInputProfiles, Qt::QueuedConnection);
- connect(connected_controller_checkboxes[i], &QCheckBox::STATE_CHANGED, [this, i](int state) {
- // Keep activated controllers synced with the "Connected Controllers" checkboxes
- player_controllers[i]->ConnectPlayer(state == Qt::Checked);
- });
+ connect(connected_controller_checkboxes[i], &QCheckBox::STATE_CHANGED,
+ [this, i](int state) {
+ // Keep activated controllers synced with the "Connected Controllers" checkboxes
+ player_controllers[i]->ConnectPlayer(state == Qt::Checked);
+ });
// Remove/hide all the elements that exceed max_players, if applicable.
if (i >= max_players) {
diff --git a/src/yuzu/configuration/configure_input_advanced.cpp b/src/yuzu/configuration/configure_input_advanced.cpp
index b1c19114bf..d8f0ab7e6c 100644
--- a/src/yuzu/configuration/configure_input_advanced.cpp
+++ b/src/yuzu/configuration/configure_input_advanced.cpp
@@ -9,8 +9,8 @@
#include "core/core.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
-#include "ui_configure_input_advanced.h"
#include "qt_common/qt_compat.h"
+#include "ui_configure_input_advanced.h"
#include "yuzu/configuration/configure_input_advanced.h"
ConfigureInputAdvanced::ConfigureInputAdvanced(Core::HID::HIDCore& hid_core_, QWidget* parent)
diff --git a/src/yuzu/configuration/configure_input_per_game.h b/src/yuzu/configuration/configure_input_per_game.h
index a1b6098dca..1e389a7a69 100644
--- a/src/yuzu/configuration/configure_input_per_game.h
+++ b/src/yuzu/configuration/configure_input_per_game.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2022 yuzu Emulator Project
@@ -10,9 +10,9 @@
#include <QWidget>
+#include "qt_common/config/qt_config.h"
#include "ui_configure_input_per_game.h"
#include "yuzu/configuration/input_profiles.h"
-#include "qt_common/config/qt_config.h"
class QComboBox;
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index 6bc37d4347..821825f6e1 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
@@ -14,13 +14,13 @@
#include <QTimer>
#include "common/assert.h"
#include "common/param_package.h"
-#include "qt_common/config/qt_config.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hid_types.h"
#include "input_common/drivers/keyboard.h"
#include "input_common/drivers/mouse.h"
#include "input_common/main.h"
+#include "qt_common/config/qt_config.h"
#include "ui_configure_input_player.h"
#include "yuzu/bootmanager.h"
#include "yuzu/configuration/configure_input_player.h"
@@ -294,11 +294,11 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
InputCommon::InputSubsystem* input_subsystem_,
InputProfiles* profiles_, Core::HID::HIDCore& hid_core_,
bool is_powered_on_, bool debug_)
- : QWidget(parent),
- ui(std::make_unique<Ui::ConfigureInputPlayer>()), player_index{player_index_}, debug{debug_},
- is_powered_on{is_powered_on_}, input_subsystem{input_subsystem_}, profiles(profiles_),
- timeout_timer(std::make_unique<QTimer>()),
- poll_timer(std::make_unique<QTimer>()), bottom_row{bottom_row_}, hid_core{hid_core_} {
+ : QWidget(parent), ui(std::make_unique<Ui::ConfigureInputPlayer>()),
+ player_index{player_index_}, debug{debug_}, is_powered_on{is_powered_on_},
+ input_subsystem{input_subsystem_}, profiles(profiles_),
+ timeout_timer(std::make_unique<QTimer>()), poll_timer(std::make_unique<QTimer>()),
+ bottom_row{bottom_row_}, hid_core{hid_core_} {
if (player_index == 0) {
auto* emulated_controller_p1 =
hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1);
@@ -1215,10 +1215,8 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() {
case Core::HID::NpadStyleIndex::Fullkey:
case Core::HID::NpadStyleIndex::Handheld:
layout_hidden = {
- ui->buttonShoulderButtonsSLSRLeft,
- ui->buttonShoulderButtonsSLSRRight,
- ui->horizontalSpacerShoulderButtonsWidget2,
- ui->horizontalSpacerShoulderButtonsWidget4,
+ ui->buttonShoulderButtonsSLSRLeft, ui->buttonShoulderButtonsSLSRRight,
+ ui->horizontalSpacerShoulderButtonsWidget2, ui->horizontalSpacerShoulderButtonsWidget4,
ui->buttonMiscButtonsScreenshotGroup,
};
break;
diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp
index 3228b5f17f..790a860002 100644
--- a/src/yuzu/configuration/configure_input_player_widget.cpp
+++ b/src/yuzu/configuration/configure_input_player_widget.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -2432,7 +2432,8 @@ void PlayerControlPreview::DrawProJoystick(QPainter& p, const QPointF center, co
1.0 - std::sqrt((offset.x() * offset.x()) + (offset.y() * offset.y())) * 0.1f);
const float rotation =
- ((offset.x() == 0.f) ? std::atan(1.f) * 2.f : std::atan(offset.y() / offset.x())) * (180.f / (std::atan(1.f) * 4.f));
+ ((offset.x() == 0.f) ? std::atan(1.f) * 2.f : std::atan(offset.y() / offset.x())) *
+ (180.f / (std::atan(1.f) * 4.f));
p.save();
p.translate(offset_center);
diff --git a/src/yuzu/configuration/configure_network.cpp b/src/yuzu/configuration/configure_network.cpp
index 62a097117e..b1fdd018fd 100644
--- a/src/yuzu/configuration/configure_network.cpp
+++ b/src/yuzu/configuration/configure_network.cpp
@@ -12,10 +12,7 @@
#include "yuzu/configuration/configure_network.h"
ConfigureNetwork::ConfigureNetwork(const Core::System& system_, QWidget* parent)
- : QWidget(parent)
- , ui(std::make_unique<Ui::ConfigureNetwork>())
- , system{system_}
-{
+ : QWidget(parent), ui(std::make_unique<Ui::ConfigureNetwork>()), system{system_} {
ui->setupUi(this);
for (const auto& iface : Network::GetAvailableNetworkInterfaces())
ui->network_interface->addItem(QString::fromStdString(iface.name));
diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp
index 00e0a14aa3..dcf40d678f 100644
--- a/src/yuzu/configuration/configure_per_game.cpp
+++ b/src/yuzu/configuration/configure_per_game.cpp
@@ -29,28 +29,28 @@
#include "core/file_sys/xts_archive.h"
#include "core/loader/loader.h"
#include "frontend_common/config.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure_per_game.h"
#include "yuzu/configuration/configuration_shared.h"
+#include "yuzu/configuration/configure_applets.h"
#include "yuzu/configuration/configure_audio.h"
#include "yuzu/configuration/configure_cpu.h"
#include "yuzu/configuration/configure_graphics.h"
#include "yuzu/configuration/configure_graphics_advanced.h"
#include "yuzu/configuration/configure_graphics_extensions.h"
#include "yuzu/configuration/configure_input_per_game.h"
+#include "yuzu/configuration/configure_network.h"
#include "yuzu/configuration/configure_per_game.h"
#include "yuzu/configuration/configure_per_game_addons.h"
#include "yuzu/configuration/configure_system.h"
-#include "yuzu/configuration/configure_network.h"
-#include "yuzu/configuration/configure_applets.h"
-#include "qt_common/config/uisettings.h"
#include "yuzu/util/util.h"
#include "yuzu/vk_device_info.h"
ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id_, const std::string& file_name,
std::vector<VkDeviceInfo::Record>& vk_device_records,
Core::System& system_)
- : QDialog(parent),
- ui(std::make_unique<Ui::ConfigurePerGame>()), title_id{title_id_}, system{system_},
+ : QDialog(parent), ui(std::make_unique<Ui::ConfigurePerGame>()), title_id{title_id_},
+ system{system_},
builder{std::make_unique<ConfigurationShared::Builder>(this, !system_.IsPoweredOn())},
tab_group{std::make_shared<std::vector<ConfigurationShared::Tab*>>()} {
const auto file_path = std::filesystem::path(Common::FS::ToU8String(file_name));
diff --git a/src/yuzu/configuration/configure_per_game.h b/src/yuzu/configuration/configure_per_game.h
index 442daab9cb..ca973db8b0 100644
--- a/src/yuzu/configuration/configure_per_game.h
+++ b/src/yuzu/configuration/configure_per_game.h
@@ -16,10 +16,10 @@
#include "configuration/shared_widget.h"
#include "core/file_sys/vfs/vfs_types.h"
#include "frontend_common/config.h"
-#include "vk_device_info.h"
-#include "yuzu/configuration/configuration_shared.h"
#include "qt_common/config/qt_config.h"
#include "qt_common/config/shared_translation.h"
+#include "vk_device_info.h"
+#include "yuzu/configuration/configuration_shared.h"
namespace Core {
class System;
diff --git a/src/yuzu/configuration/configure_per_game_addons.cpp b/src/yuzu/configuration/configure_per_game_addons.cpp
index 1d2d358672..7d0e15accc 100644
--- a/src/yuzu/configuration/configure_per_game_addons.cpp
+++ b/src/yuzu/configuration/configure_per_game_addons.cpp
@@ -80,7 +80,8 @@ ConfigurePerGameAddons::ConfigurePerGameAddons(Core::System& system_, QWidget* p
connect(ui->folder, &QAbstractButton::clicked, this, &ConfigurePerGameAddons::InstallModFolder);
connect(ui->zip, &QAbstractButton::clicked, this, &ConfigurePerGameAddons::InstallModZip);
- connect(tree_view, &QTreeView::customContextMenuRequested, this, &ConfigurePerGameAddons::showContextMenu);
+ connect(tree_view, &QTreeView::customContextMenuRequested, this,
+ &ConfigurePerGameAddons::showContextMenu);
}
ConfigurePerGameAddons::~ConfigurePerGameAddons() = default;
@@ -92,10 +93,10 @@ void ConfigurePerGameAddons::OnItemChanged(QStandardItem* item) {
for (auto* update_item : update_items) {
if (update_item != item && update_item->checkState() == Qt::Checked) {
disconnect(item_model, &QStandardItemModel::itemChanged, this,
- &ConfigurePerGameAddons::OnItemChanged);
+ &ConfigurePerGameAddons::OnItemChanged);
update_item->setCheckState(Qt::Unchecked);
connect(item_model, &QStandardItemModel::itemChanged, this,
- &ConfigurePerGameAddons::OnItemChanged);
+ &ConfigurePerGameAddons::OnItemChanged);
}
}
}
@@ -109,7 +110,8 @@ void ConfigurePerGameAddons::ApplyConfiguration() {
const auto disabled = item.front()->checkState() == Qt::Unchecked;
if (disabled) {
QVariant userData = item.front()->data(Qt::UserRole);
- if (userData.isValid() && userData.canConvert<quint32>() && item.front()->text() == QStringLiteral("Update")) {
+ if (userData.isValid() && userData.canConvert<quint32>() &&
+ item.front()->text() == QStringLiteral("Update")) {
quint32 numeric_version = userData.toUInt();
disabled_addons.push_back(fmt::format("Update@{}", numeric_version));
} else {
@@ -164,7 +166,7 @@ void ConfigurePerGameAddons::InstallMods(const QStringList& mods) {
}
}
-void ConfigurePerGameAddons::InstallModPath(const QString& path, const QString &fallbackName) {
+void ConfigurePerGameAddons::InstallModPath(const QString& path, const QString& fallbackName) {
const auto mods = QtCommon::Mod::GetModFolders(path, fallbackName);
if (mods.size() > 1) {
@@ -203,8 +205,9 @@ void ConfigurePerGameAddons::InstallModZip() {
void ConfigurePerGameAddons::AddonDeleteRequested(QList<QModelIndex> selected) {
QList<QModelIndex> filtered;
- for (const QModelIndex &index : selected) {
- if (!index.data(PATCH_LOCATION).toString().isEmpty()) filtered << index;
+ for (const QModelIndex& index : selected) {
+ if (!index.data(PATCH_LOCATION).toString().isEmpty())
+ filtered << index;
}
if (filtered.empty()) {
@@ -215,10 +218,9 @@ void ConfigurePerGameAddons::AddonDeleteRequested(QList<QModelIndex> selected) {
return;
}
-
const auto header = tr("You are about to delete the following installed mods:\n");
QString selected_str;
- for (const QModelIndex &index : filtered) {
+ for (const QModelIndex& index : filtered) {
selected_str = selected_str % index.data().toString() % QStringLiteral("\n");
}
@@ -231,9 +233,10 @@ void ConfigurePerGameAddons::AddonDeleteRequested(QList<QModelIndex> selected) {
QtCommon::Frontend::StandardButton::Yes |
QtCommon::Frontend::StandardButton::No);
- if (choice == QtCommon::Frontend::StandardButton::No) return;
+ if (choice == QtCommon::Frontend::StandardButton::No)
+ return;
- for (const QModelIndex &index : filtered) {
+ for (const QModelIndex& index : filtered) {
std::filesystem::remove_all(index.data(PATCH_LOCATION).toString().toStdString());
}
@@ -252,17 +255,18 @@ void ConfigurePerGameAddons::showContextMenu(const QPoint& pos) {
auto selected = tree_view->selectionModel()->selectedRows();
if (index.isValid() && selected.empty()) {
QModelIndex idx = item_model->index(index.row(), 0);
- if (idx.isValid()) selected << idx;
+ if (idx.isValid())
+ selected << idx;
}
- if (selected.empty()) return;
+ if (selected.empty())
+ return;
QMenu menu(this);
- QAction *remove = menu.addAction(tr("&Delete"));
- connect(remove, &QAction::triggered, this, [this, selected]() {
- AddonDeleteRequested(selected);
- });
+ QAction* remove = menu.addAction(tr("&Delete"));
+ connect(remove, &QAction::triggered, this,
+ [this, selected]() { AddonDeleteRequested(selected); });
if (selected.length() == 1) {
auto loc = selected.at(0).data(PATCH_LOCATION).toString();
@@ -333,9 +337,11 @@ void ConfigurePerGameAddons::LoadConfiguration() {
bool patch_disabled = false;
if (is_external_update) {
std::string disabled_key = fmt::format("Update@{}", patch.numeric_version);
- patch_disabled = std::find(disabled.begin(), disabled.end(), disabled_key) != disabled.end();
+ patch_disabled =
+ std::find(disabled.begin(), disabled.end(), disabled_key) != disabled.end();
} else {
- patch_disabled = std::find(disabled.begin(), disabled.end(), name.toStdString()) != disabled.end();
+ patch_disabled =
+ std::find(disabled.begin(), disabled.end(), name.toStdString()) != disabled.end();
}
bool should_enable = !patch_disabled;
diff --git a/src/yuzu/configuration/configure_per_game_addons.h b/src/yuzu/configuration/configure_per_game_addons.h
index 20ab39541b..9dd3b06928 100644
--- a/src/yuzu/configuration/configure_per_game_addons.h
+++ b/src/yuzu/configuration/configure_per_game_addons.h
@@ -32,10 +32,7 @@ class ConfigurePerGameAddons : public QWidget {
Q_OBJECT
public:
- enum PatchData {
- NUMERIC_VERSION = Qt::UserRole,
- PATCH_LOCATION
- };
+ enum PatchData { NUMERIC_VERSION = Qt::UserRole, PATCH_LOCATION };
explicit ConfigurePerGameAddons(Core::System& system_, QWidget* parent = nullptr);
~ConfigurePerGameAddons() override;
@@ -48,7 +45,7 @@ public:
void SetTitleId(u64 id);
public slots:
- void InstallMods(const QStringList &mods);
+ void InstallMods(const QStringList& mods);
void InstallModPath(const QString& path, const QString& fallbackName = {});
void InstallModFolder();
diff --git a/src/yuzu/configuration/configure_profile_manager.cpp b/src/yuzu/configuration/configure_profile_manager.cpp
index aa19203498..0d86fb5ef9 100644
--- a/src/yuzu/configuration/configure_profile_manager.cpp
+++ b/src/yuzu/configuration/configure_profile_manager.cpp
@@ -106,7 +106,8 @@ ConfigureProfileManager::ConfigureProfileManager(Core::System& system_, QWidget*
ui->scrollArea->setLayout(layout);
- connect(tree_view, &QTreeView::customContextMenuRequested, this, &ConfigureProfileManager::showContextMenu);
+ connect(tree_view, &QTreeView::customContextMenuRequested, this,
+ &ConfigureProfileManager::showContextMenu);
connect(tree_view, &QTreeView::clicked, this, &ConfigureProfileManager::SelectUser);
@@ -229,8 +230,7 @@ void ConfigureProfileManager::showContextMenu(const QPoint& pos) {
QAction* edit = menu.addAction(tr("&Edit"));
QAction* remove = menu.addAction(tr("&Delete"));
- QAction* chosen =
- menu.exec(tree_view->viewport()->mapToGlobal(pos));
+ QAction* chosen = menu.exec(tree_view->viewport()->mapToGlobal(pos));
if (!chosen)
return;
@@ -250,7 +250,7 @@ void ConfigureProfileManager::SelectUser(const QModelIndex& index) {
}
void ConfigureProfileManager::AddUser() {
- NewUserDialog *dialog = new NewUserDialog(this);
+ NewUserDialog* dialog = new NewUserDialog(this);
connect(dialog, &NewUserDialog::userAdded, this, [dialog, this](User user) {
auto uuid = user.uuid;
@@ -285,35 +285,37 @@ void ConfigureProfileManager::EditUser() {
std::string username;
username.reserve(32);
- std::ranges::copy_if(profile.username, std::back_inserter(username), [](u8 byte) { return byte != 0; });
+ std::ranges::copy_if(profile.username, std::back_inserter(username),
+ [](u8 byte) { return byte != 0; });
- NewUserDialog *dialog = new NewUserDialog(uuid.value(), username, tr("Edit User"), this);
+ NewUserDialog* dialog = new NewUserDialog(uuid.value(), username, tr("Edit User"), this);
- connect(dialog, &NewUserDialog::userAdded, this, [dialog, profile, user_idx, uuid, this](User user) mutable {
- // TODO: MOVE UUID
- // auto new_uuid = user.uuid;
- auto new_username = user.username;
- auto pixmap = user.pixmap;
+ connect(dialog, &NewUserDialog::userAdded, this,
+ [dialog, profile, user_idx, uuid, this](User user) mutable {
+ // TODO: MOVE UUID
+ // auto new_uuid = user.uuid;
+ auto new_username = user.username;
+ auto pixmap = user.pixmap;
- auto const uuid_val = uuid.value();
+ auto const uuid_val = uuid.value();
- const auto username_std = new_username.toStdString();
- std::fill(profile.username.begin(), profile.username.end(), '\0');
- std::copy(username_std.begin(), username_std.end(), profile.username.begin());
+ const auto username_std = new_username.toStdString();
+ std::fill(profile.username.begin(), profile.username.end(), '\0');
+ std::copy(username_std.begin(), username_std.end(), profile.username.begin());
- profile_manager.SetProfileBase(uuid_val, profile);
- profile_manager.WriteUserSaveFile();
+ profile_manager.SetProfileBase(uuid_val, profile);
+ profile_manager.WriteUserSaveFile();
- item_model->setItem(
- user_idx, 0,
- new QStandardItem{pixmap,
- FormatUserEntryText(QString::fromStdString(username_std), uuid_val)});
+ item_model->setItem(
+ user_idx, 0,
+ new QStandardItem{pixmap, FormatUserEntryText(
+ QString::fromStdString(username_std), uuid_val)});
- saveImage(pixmap, uuid_val);
- UpdateCurrentUser();
+ saveImage(pixmap, uuid_val);
+ UpdateCurrentUser();
- dialog->deleteLater();
- });
+ dialog->deleteLater();
+ });
connect(dialog, &QDialog::rejected, dialog, &QObject::deleteLater);
diff --git a/src/yuzu/configuration/configure_profile_manager.h b/src/yuzu/configuration/configure_profile_manager.h
index 6e8c762452..48cd5d215f 100644
--- a/src/yuzu/configuration/configure_profile_manager.h
+++ b/src/yuzu/configuration/configure_profile_manager.h
@@ -47,8 +47,7 @@ public:
explicit ConfigureProfileManagerDeleteDialog(QWidget* parent);
~ConfigureProfileManagerDeleteDialog();
- void SetInfo(const QString& username, const Common::UUID& uuid,
- int index);
+ void SetInfo(const QString& username, const Common::UUID& uuid, int index);
signals:
void deleteUser(int index);
@@ -71,7 +70,7 @@ public:
private slots:
void saveImage(QPixmap pixmap, Common::UUID uuid);
- void showContextMenu(const QPoint &pos);
+ void showContextMenu(const QPoint& pos);
void DeleteUser(const int index);
private:
diff --git a/src/yuzu/configuration/configure_ringcon.cpp b/src/yuzu/configuration/configure_ringcon.cpp
index dfb1540584..4c842bd069 100644
--- a/src/yuzu/configuration/configure_ringcon.cpp
+++ b/src/yuzu/configuration/configure_ringcon.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
@@ -11,12 +11,12 @@
#include <QTimer>
#include <fmt/ranges.h>
-#include "qt_common/config/qt_config.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "input_common/drivers/keyboard.h"
#include "input_common/drivers/mouse.h"
#include "input_common/main.h"
+#include "qt_common/config/qt_config.h"
#include "ui_configure_ringcon.h"
#include "yuzu/bootmanager.h"
#include "yuzu/configuration/configure_ringcon.h"
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index 56e3e29f90..36920b1ff9 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
@@ -19,8 +19,8 @@
#include "common/settings.h"
#include "core/core.h"
-#include "ui_configure_system.h"
#include "qt_common/qt_compat.h"
+#include "ui_configure_system.h"
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_system.h"
#include "yuzu/configuration/shared_widget.h"
@@ -87,7 +87,8 @@ ConfigureSystem::ConfigureSystem(Core::System& system_,
connect(combo_language, qOverload<int>(&QComboBox::currentIndexChanged), this, locale_check);
connect(combo_region, qOverload<int>(&QComboBox::currentIndexChanged), this, locale_check);
- connect(checkbox_rtc, qOverload<CHECKSTATE_TYPE>(&QCheckBox::STATE_CHANGED), this, update_rtc_date);
+ connect(checkbox_rtc, qOverload<CHECKSTATE_TYPE>(&QCheckBox::STATE_CHANGED), this,
+ update_rtc_date);
connect(date_rtc_offset, qOverload<int>(&QSpinBox::valueChanged), this, update_rtc_date);
connect(date_rtc, &QDateTimeEdit::dateTimeChanged, this, update_date_offset);
diff --git a/src/yuzu/configuration/configure_tas.cpp b/src/yuzu/configuration/configure_tas.cpp
index 75d5a5eeaf..d737b46d2c 100644
--- a/src/yuzu/configuration/configure_tas.cpp
+++ b/src/yuzu/configuration/configure_tas.cpp
@@ -9,9 +9,9 @@
#include "common/fs/fs.h"
#include "common/fs/path_util.h"
#include "common/settings.h"
+#include "qt_common/config/uisettings.h"
#include "ui_configure_tas.h"
#include "yuzu/configuration/configure_tas.h"
-#include "qt_common/config/uisettings.h"
ConfigureTasDialog::ConfigureTasDialog(QWidget* parent)
: QDialog(parent), ui(std::make_unique<Ui::ConfigureTas>()) {
@@ -35,7 +35,8 @@ void ConfigureTasDialog::LoadConfiguration() {
ui->tas_enable->setChecked(Settings::values.tas_enable.GetValue());
ui->tas_loop_script->setChecked(Settings::values.tas_loop.GetValue());
ui->tas_pause_on_load->setChecked(Settings::values.pause_tas_on_load.GetValue());
- ui->tas_show_recording_dialog->setChecked(Settings::values.tas_show_recording_dialog.GetValue());
+ ui->tas_show_recording_dialog->setChecked(
+ Settings::values.tas_show_recording_dialog.GetValue());
}
void ConfigureTasDialog::ApplyConfiguration() {
diff --git a/src/yuzu/configuration/configure_touch_from_button.cpp b/src/yuzu/configuration/configure_touch_from_button.cpp
index 2a4ae3bc89..bbd52e4bfa 100644
--- a/src/yuzu/configuration/configure_touch_from_button.cpp
+++ b/src/yuzu/configuration/configure_touch_from_button.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#include <QInputDialog>
@@ -548,9 +548,8 @@ bool TouchScreenPreview::eventFilter(QObject* obj, QEvent* event) {
}
const auto mouse_event = static_cast<QMouseEvent*>(event);
if (!drag_state.active) {
- drag_state.active =
- (mouse_event->globalPosition().toPoint() - drag_state.start_pos).manhattanLength() >=
- QApplication::startDragDistance();
+ drag_state.active = (mouse_event->globalPosition().toPoint() - drag_state.start_pos)
+ .manhattanLength() >= QApplication::startDragDistance();
if (!drag_state.active) {
break;
}
diff --git a/src/yuzu/configuration/configure_ui.cpp b/src/yuzu/configuration/configure_ui.cpp
index 0e91a1a9fd..af8d9fecce 100644
--- a/src/yuzu/configuration/configure_ui.cpp
+++ b/src/yuzu/configuration/configure_ui.cpp
@@ -26,8 +26,8 @@
#include "core/frontend/framebuffer_layout.h"
#include "ui_configure_ui.h"
-#include "qt_common/qt_compat.h"
#include "qt_common/config/uisettings.h"
+#include "qt_common/qt_compat.h"
namespace {
diff --git a/src/yuzu/configuration/configure_web.cpp b/src/yuzu/configuration/configure_web.cpp
index c5e9256a48..987de5989a 100644
--- a/src/yuzu/configuration/configure_web.cpp
+++ b/src/yuzu/configuration/configure_web.cpp
@@ -1,12 +1,12 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2017 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "yuzu/configuration/configure_web.h"
#include <QIcon>
#include <QMessageBox>
+#include "yuzu/configuration/configure_web.h"
#if QT_VERSION_MAJOR >= 6
#include <QRegularExpressionValidator>
@@ -16,28 +16,25 @@
#include <QtConcurrentRun>
#include "common/settings.h"
-#include "ui_configure_web.h"
#include "qt_common/config/uisettings.h"
+#include "ui_configure_web.h"
ConfigureWeb::ConfigureWeb(QWidget* parent)
- : QWidget(parent)
- , ui(std::make_unique<Ui::ConfigureWeb>())
- , m_rng{QRandomGenerator::system()}
-{
+ : QWidget(parent), ui(std::make_unique<Ui::ConfigureWeb>()), m_rng{QRandomGenerator::system()} {
ui->setupUi(this);
QString user_regex = QStringLiteral(".{4,20}");
QString token_regex = QStringLiteral("[a-z]{48}");
#if QT_VERSION_MAJOR >= 6
- QRegularExpressionValidator *username_validator = new QRegularExpressionValidator(this);
- QRegularExpressionValidator *token_validator = new QRegularExpressionValidator(this);
+ QRegularExpressionValidator* username_validator = new QRegularExpressionValidator(this);
+ QRegularExpressionValidator* token_validator = new QRegularExpressionValidator(this);
username_validator->setRegularExpression(QRegularExpression(user_regex));
token_validator->setRegularExpression(QRegularExpression(token_regex));
#else
- QRegExpValidator *username_validator = new QRegExpValidator(this);
- QRegExpValidator *token_validator = new QRegExpValidator(this);
+ QRegExpValidator* username_validator = new QRegExpValidator(this);
+ QRegExpValidator* token_validator = new QRegExpValidator(this);
username_validator->setRegExp(QRegExp(user_regex));
token_validator->setRegExp(QRegExp(token_regex));
@@ -121,7 +118,8 @@ void ConfigureWeb::VerifyLogin() {
ui->label_token_verified->setToolTip(tr("All Good", "Tooltip"));
} else {
ui->label_token_verified->setPixmap(failed);
- ui->label_token_verified->setToolTip(tr("Must be 48 characters, and lowercase a-z", "Tooltip"));
+ ui->label_token_verified->setToolTip(
+ tr("Must be 48 characters, and lowercase a-z", "Tooltip"));
}
}
diff --git a/src/yuzu/configuration/configure_web.h b/src/yuzu/configuration/configure_web.h
index 3da7e5eccc..d37db5c020 100644
--- a/src/yuzu/configuration/configure_web.h
+++ b/src/yuzu/configuration/configure_web.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2017 Citra Emulator Project
@@ -8,8 +8,8 @@
#include <QRandomGenerator>
-#include <QWidget>
#include <memory>
+#include <QWidget>
namespace Ui {
class ConfigureWeb;
@@ -32,7 +32,7 @@ private:
void SetConfiguration();
std::unique_ptr<Ui::ConfigureWeb> ui;
- QRandomGenerator *m_rng;
+ QRandomGenerator* m_rng;
private slots:
void GenerateToken();
diff --git a/src/yuzu/configuration/shared_widget.cpp b/src/yuzu/configuration/shared_widget.cpp
index b663ac51ee..3b425e7200 100644
--- a/src/yuzu/configuration/shared_widget.cpp
+++ b/src/yuzu/configuration/shared_widget.cpp
@@ -45,8 +45,8 @@
#include "common/logging/log.h"
#include "common/settings.h"
#include "common/settings_common.h"
-#include "qt_common/qt_compat.h"
#include "qt_common/config/shared_translation.h"
+#include "qt_common/qt_compat.h"
namespace ConfigurationShared {
@@ -170,7 +170,7 @@ QWidget* Widget::CreateCombobox(std::function<std::string()>& serializer,
if (!Settings::IsConfiguringGlobal()) {
combobox->connect(combobox, QOverload<int>::of(&QComboBox::activated),
- [touch]() { touch(); });
+ [touch]() { touch(); });
}
return combobox;
@@ -413,13 +413,13 @@ QWidget* Widget::CreateDoubleSpinBox(const QString& given_suffix,
};
if (!Settings::IsConfiguringGlobal()) {
- double_spinbox->connect(double_spinbox, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
- [this, touch]() {
- if (double_spinbox->value() !=
- std::strtod(setting.ToStringGlobal().c_str(), nullptr)) {
- touch();
- }
- });
+ double_spinbox->connect(
+ double_spinbox, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [this, touch]() {
+ if (double_spinbox->value() !=
+ std::strtod(setting.ToStringGlobal().c_str(), nullptr)) {
+ touch();
+ }
+ });
}
return double_spinbox;
@@ -491,11 +491,11 @@ QWidget* Widget::CreateDateTimeEdit(bool disabled, bool restrict,
if (!Settings::IsConfiguringGlobal()) {
date_time_edit->connect(date_time_edit, &QDateTimeEdit::editingFinished,
- [this, get_clear_val, touch]() {
- if (date_time_edit->dateTime() != get_clear_val()) {
- touch();
- }
- });
+ [this, get_clear_val, touch]() {
+ if (date_time_edit->dateTime() != get_clear_val()) {
+ touch();
+ }
+ });
}
return date_time_edit;
@@ -570,7 +570,8 @@ void Widget::SetupComponent(const QString& label, std::function<void()>& load_fu
}
if (require_checkbox) {
- QWidget* lhs = CreateCheckBox(other_setting, label, checkbox_serializer, checkbox_restore_func, touch);
+ QWidget* lhs =
+ CreateCheckBox(other_setting, label, checkbox_serializer, checkbox_restore_func, touch);
layout->addWidget(lhs, 1);
} else if (type_id != "bool") {
QLabel* qt_label = CreateLabel(label);
@@ -665,16 +666,16 @@ void Widget::SetupComponent(const QString& label, std::function<void()>& load_fu
layout->addWidget(restore_button);
restore_button->connect(restore_button, &QAbstractButton::clicked,
- [this, restore_func, checkbox_restore_func](bool) {
- LOG_DEBUG(Frontend, "Restore global state for \"{}\"",
- setting.GetLabel());
+ [this, restore_func, checkbox_restore_func](bool) {
+ LOG_DEBUG(Frontend, "Restore global state for \"{}\"",
+ setting.GetLabel());
- restore_button->setEnabled(false);
- restore_button->setVisible(false);
+ restore_button->setEnabled(false);
+ restore_button->setVisible(false);
- checkbox_restore_func();
- restore_func();
- });
+ checkbox_restore_func();
+ restore_func();
+ });
load_func = [this, serializer, require_checkbox, checkbox_serializer, other_setting]() {
bool using_global = !restore_button->isEnabled();
@@ -766,8 +767,8 @@ Widget::Widget(Settings::BasicSetting* setting_, const TranslationMap& translati
Builder::Builder(QWidget* parent_, bool runtime_lock_)
: translations{InitializeTranslations(parent_)},
- combobox_translations{ComboboxEnumeration(parent_)}, parent{parent_}, runtime_lock{
- runtime_lock_} {}
+ combobox_translations{ComboboxEnumeration(parent_)}, parent{parent_},
+ runtime_lock{runtime_lock_} {}
Builder::~Builder() = default;
diff --git a/src/yuzu/configuration/shared_widget.h b/src/yuzu/configuration/shared_widget.h
index b07804ac00..f687d0b20c 100644
--- a/src/yuzu/configuration/shared_widget.h
+++ b/src/yuzu/configuration/shared_widget.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
@@ -10,10 +10,10 @@
#include <memory>
#include <string>
#include <vector>
+#include <QObject>
#include <QString>
#include <QStringLiteral>
#include <QWidget>
-#include <QObject>
#include <qobjectdefs.h>
#include "qt_common/config/shared_translation.h"
diff --git a/src/yuzu/configuration/system/new_user_dialog.h b/src/yuzu/configuration/system/new_user_dialog.h
index 656d8d7290..e81007aefe 100644
--- a/src/yuzu/configuration/system/new_user_dialog.h
+++ b/src/yuzu/configuration/system/new_user_dialog.h
@@ -20,15 +20,15 @@ struct User {
QPixmap pixmap;
};
-class NewUserDialog : public QDialog
-{
+class NewUserDialog : public QDialog {
Q_OBJECT
Q_PROPERTY(bool isDefaultAvatar READ isDefaultAvatar WRITE setIsDefaultAvatar NOTIFY
isDefaultAvatarChanged FINAL)
public:
- explicit NewUserDialog(QWidget *parent = nullptr);
- explicit NewUserDialog(Common::UUID uuid, const std::string &username, const QString &title, QWidget *parent = nullptr);
+ explicit NewUserDialog(QWidget* parent = nullptr);
+ explicit NewUserDialog(Common::UUID uuid, const std::string& username, const QString& title,
+ QWidget* parent = nullptr);
~NewUserDialog();
bool isDefaultAvatar() const;
@@ -39,8 +39,8 @@ public:
static QPixmap DefaultAvatar();
private:
- Ui::NewUserDialog *ui;
- QGraphicsScene *m_scene;
+ Ui::NewUserDialog* ui;
+ QGraphicsScene* m_scene;
QPixmap m_pixmap;
ProfileAvatarDialog* avatar_dialog;
@@ -48,12 +48,12 @@ private:
bool m_isDefaultAvatar = true;
bool m_editing = false;
- void setup(Common::UUID uuid, const std::string &username, const QString &title);
+ void setup(Common::UUID uuid, const std::string& username, const QString& title);
bool LoadAvatarData();
std::vector<uint8_t> DecompressYaz0(const FileSys::VirtualFile& file);
public slots:
- void setImage(const QPixmap &pixmap);
+ void setImage(const QPixmap& pixmap);
void selectImage();
void setAvatar();
diff --git a/src/yuzu/data_dialog.cpp b/src/yuzu/data_dialog.cpp
index 8caa362bdf..bbe5d43e05 100644
--- a/src/yuzu/data_dialog.cpp
+++ b/src/yuzu/data_dialog.cpp
@@ -1,10 +1,10 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#include "data_dialog.h"
#include "frontend_common/data_manager.h"
-#include "qt_common/util/content.h"
#include "qt_common/qt_string_lookup.h"
+#include "qt_common/util/content.h"
#include "ui_data_dialog.h"
#include "util/util.h"
@@ -18,18 +18,14 @@
#include <applets/qt_profile_select.h>
-DataDialog::DataDialog(QWidget *parent)
- : QDialog(parent)
- , ui(std::make_unique<Ui::DataDialog>())
-{
+DataDialog::DataDialog(QWidget* parent) : QDialog(parent), ui(std::make_unique<Ui::DataDialog>()) {
ui->setupUi(this);
// TODO: Should we make this a single widget that pulls data from a model?
-#define WIDGET(label, name) \
- ui->page->addWidget(new DataWidget(FrontendCommon::DataManager::DataDir::name, \
- QtCommon::StringLookup::DataManager##name##Tooltip, \
- QStringLiteral(#name), \
- this)); \
+#define WIDGET(label, name) \
+ ui->page->addWidget(new DataWidget(FrontendCommon::DataManager::DataDir::name, \
+ QtCommon::StringLookup::DataManager##name##Tooltip, \
+ QStringLiteral(#name), this)); \
ui->labels->addItem(label);
WIDGET(tr("Shaders"), Shaders)
@@ -53,14 +49,10 @@ DataDialog::DataDialog(QWidget *parent)
DataDialog::~DataDialog() = default;
DataWidget::DataWidget(FrontendCommon::DataManager::DataDir data_dir,
- QtCommon::StringLookup::StringKey tooltip,
- const QString &exportName,
- QWidget *parent)
- : QWidget(parent)
- , ui(std::make_unique<Ui::DataWidget>())
- , m_dir(data_dir)
- , m_exportName(exportName)
-{
+ QtCommon::StringLookup::StringKey tooltip, const QString& exportName,
+ QWidget* parent)
+ : QWidget(parent), ui(std::make_unique<Ui::DataWidget>()), m_dir(data_dir),
+ m_exportName(exportName) {
ui->setupUi(this);
ui->tooltip->setText(QtCommon::StringLookup::Lookup(tooltip));
@@ -78,28 +70,24 @@ DataWidget::DataWidget(FrontendCommon::DataManager::DataDir data_dir,
scan();
}
-void DataWidget::clear()
-{
+void DataWidget::clear() {
std::string user_id = selectProfile();
QtCommon::Content::ClearDataDir(m_dir, user_id);
scan();
}
-void DataWidget::open()
-{
+void DataWidget::open() {
std::string user_id = selectProfile();
QDesktopServices::openUrl(QUrl::fromLocalFile(
QString::fromStdString(FrontendCommon::DataManager::GetDataDirString(m_dir, user_id))));
}
-void DataWidget::upload()
-{
+void DataWidget::upload() {
std::string user_id = selectProfile();
QtCommon::Content::ExportDataDir(m_dir, user_id, m_exportName);
}
-void DataWidget::download()
-{
+void DataWidget::download() {
std::string user_id = selectProfile();
QtCommon::Content::ImportDataDir(m_dir, user_id, std::bind(&DataWidget::scan, this));
}
@@ -107,7 +95,7 @@ void DataWidget::download()
void DataWidget::scan() {
ui->size->setText(tr("Calculating..."));
- QFutureWatcher<u64> *watcher = new QFutureWatcher<u64>(this);
+ QFutureWatcher<u64>* watcher = new QFutureWatcher<u64>(this);
connect(watcher, &QFutureWatcher<u64>::finished, this, [=, this]() {
u64 size = watcher->result();
@@ -120,8 +108,7 @@ void DataWidget::scan() {
QtConcurrent::run([this]() { return FrontendCommon::DataManager::DataDirSize(m_dir); }));
}
-std::string DataWidget::selectProfile()
-{
+std::string DataWidget::selectProfile() {
std::string user_id{};
if (m_dir == FrontendCommon::DataManager::DataDir::Saves) {
user_id = GetProfileIDString();
diff --git a/src/yuzu/data_dialog.h b/src/yuzu/data_dialog.h
index 70714be7cb..7f988f6047 100644
--- a/src/yuzu/data_dialog.h
+++ b/src/yuzu/data_dialog.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef DATA_DIALOG_H
@@ -14,26 +14,23 @@ namespace Ui {
class DataDialog;
}
-class DataDialog : public QDialog
-{
+class DataDialog : public QDialog {
Q_OBJECT
public:
- explicit DataDialog(QWidget *parent = nullptr);
+ explicit DataDialog(QWidget* parent = nullptr);
~DataDialog();
private:
std::unique_ptr<Ui::DataDialog> ui;
};
-class DataWidget : public QWidget
-{
+class DataWidget : public QWidget {
Q_OBJECT
public:
explicit DataWidget(FrontendCommon::DataManager::DataDir data_dir,
- QtCommon::StringLookup::StringKey tooltip,
- const QString &exportName,
- QWidget *parent = nullptr);
+ QtCommon::StringLookup::StringKey tooltip, const QString& exportName,
+ QWidget* parent = nullptr);
public slots:
void clear();
diff --git a/src/yuzu/debugger/console.cpp b/src/yuzu/debugger/console.cpp
index e93a8b9265..44d4e1db7b 100644
--- a/src/yuzu/debugger/console.cpp
+++ b/src/yuzu/debugger/console.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
@@ -11,8 +11,8 @@
#endif
#include "common/logging/backend.h"
-#include "yuzu/debugger/console.h"
#include "qt_common/config/uisettings.h"
+#include "yuzu/debugger/console.h"
namespace Debugger {
void ToggleConsole() {
diff --git a/src/yuzu/deps_dialog.cpp b/src/yuzu/deps_dialog.cpp
index ffbd0a0e74..e490bfc163 100644
--- a/src/yuzu/deps_dialog.cpp
+++ b/src/yuzu/deps_dialog.cpp
@@ -1,24 +1,21 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
-#include "yuzu/deps_dialog.h"
#include <QAbstractTextDocumentLayout>
#include <QDesktopServices>
#include <QIcon>
#include <QPainter>
#include <QTableWidget>
#include <QTextEdit>
+#include <fmt/ranges.h>
#include "dep_hashes.h"
#include "ui_deps_dialog.h"
-#include <fmt/ranges.h>
+#include "yuzu/deps_dialog.h"
-DepsDialog::DepsDialog(QWidget* parent)
- : QDialog(parent)
- , ui{std::make_unique<Ui::DepsDialog>()}
-{
+DepsDialog::DepsDialog(QWidget* parent) : QDialog(parent), ui{std::make_unique<Ui::DepsDialog>()} {
ui->setupUi(this);
- constexpr int rows = (int) Common::dep_hashes.size();
+ constexpr int rows = (int)Common::dep_hashes.size();
ui->tableDeps->setRowCount(rows);
QStringList labels;
@@ -36,8 +33,8 @@ DepsDialog::DepsDialog(QWidget* parent)
std::string dependency = fmt::format("<a href=\"{}\">{}</a>", url, name);
- QTableWidgetItem *nameItem = new QTableWidgetItem(QString::fromStdString(dependency));
- QTableWidgetItem *shaItem = new QTableWidgetItem(QString::fromStdString(sha));
+ QTableWidgetItem* nameItem = new QTableWidgetItem(QString::fromStdString(dependency));
+ QTableWidgetItem* shaItem = new QTableWidgetItem(QString::fromStdString(sha));
ui->tableDeps->setItem(i, 0, nameItem);
ui->tableDeps->setItem(i, 1, shaItem);
@@ -48,14 +45,10 @@ DepsDialog::DepsDialog(QWidget* parent)
DepsDialog::~DepsDialog() = default;
-LinkItemDelegate::LinkItemDelegate(QObject *parent)
- : QStyledItemDelegate(parent)
-{}
+LinkItemDelegate::LinkItemDelegate(QObject* parent) : QStyledItemDelegate(parent) {}
-void LinkItemDelegate::paint(QPainter *painter,
- const QStyleOptionViewItem &option,
- const QModelIndex &index) const
-{
+void LinkItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option,
+ const QModelIndex& index) const {
auto options = option;
initStyleOption(&options, index);
@@ -71,8 +64,8 @@ void LinkItemDelegate::paint(QPainter *painter,
painter->restore();
}
-QSize LinkItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
-{
+QSize LinkItemDelegate::sizeHint(const QStyleOptionViewItem& option,
+ const QModelIndex& index) const {
QStyleOptionViewItem options = option;
initStyleOption(&options, index);
@@ -82,13 +75,10 @@ QSize LinkItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QMode
return QSize(doc.idealWidth(), doc.size().height());
}
-bool LinkItemDelegate::editorEvent(QEvent *event,
- QAbstractItemModel *model,
- const QStyleOptionViewItem &option,
- const QModelIndex &index)
-{
+bool LinkItemDelegate::editorEvent(QEvent* event, QAbstractItemModel* model,
+ const QStyleOptionViewItem& option, const QModelIndex& index) {
if (event->type() == QEvent::MouseButtonRelease) {
- QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
+ QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);
if (mouseEvent->button() == Qt::LeftButton) {
QString html = index.data(Qt::DisplayRole).toString();
QTextDocument doc;
@@ -96,7 +86,7 @@ bool LinkItemDelegate::editorEvent(QEvent *event,
doc.setTextWidth(option.rect.width());
// this is kinda silly but it werks
- QAbstractTextDocumentLayout *layout = doc.documentLayout();
+ QAbstractTextDocumentLayout* layout = doc.documentLayout();
QPoint pos = mouseEvent->pos() - option.rect.topLeft();
int charPos = layout->hitTest(pos, Qt::ExactHit);
diff --git a/src/yuzu/deps_dialog.h b/src/yuzu/deps_dialog.h
index f8e7f1d987..fab2f0b1ca 100644
--- a/src/yuzu/deps_dialog.h
+++ b/src/yuzu/deps_dialog.h
@@ -1,41 +1,38 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
+#include <memory>
#include <QDialog>
#include <QStyledItemDelegate>
#include <QTableView>
-#include <memory>
-namespace Ui { class DepsDialog; }
+namespace Ui {
+class DepsDialog;
+}
-class DepsDialog : public QDialog
-{
+class DepsDialog : public QDialog {
Q_OBJECT
public:
- explicit DepsDialog(QWidget *parent);
+ explicit DepsDialog(QWidget* parent);
~DepsDialog() override;
private:
std::unique_ptr<Ui::DepsDialog> ui;
};
-class LinkItemDelegate : public QStyledItemDelegate
-{
+class LinkItemDelegate : public QStyledItemDelegate {
Q_OBJECT
public:
- explicit LinkItemDelegate(QObject *parent = 0);
+ explicit LinkItemDelegate(QObject* parent = 0);
protected:
- void paint(QPainter *painter,
- const QStyleOptionViewItem &option,
- const QModelIndex &index) const override;
- QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
- bool editorEvent(QEvent *event,
- QAbstractItemModel *model,
- const QStyleOptionViewItem &option,
- const QModelIndex &index) override;
+ void paint(QPainter* painter, const QStyleOptionViewItem& option,
+ const QModelIndex& index) const override;
+ QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
+ bool editorEvent(QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option,
+ const QModelIndex& index) override;
};
diff --git a/src/yuzu/game/game_card.cpp b/src/yuzu/game/game_card.cpp
index 26ab99faaf..ba60b54fcc 100644
--- a/src/yuzu/game/game_card.cpp
+++ b/src/yuzu/game/game_card.cpp
@@ -73,9 +73,7 @@ void GameCard::paint(QPainter* painter, const QStyleOptionViewItem& option,
painter->restore();
} else {
// if there is no icon just draw a blank rect
- iconRect = QRect(cardRect.left() + padding,
- cardRect.top() + padding,
- _iconsize, _iconsize);
+ iconRect = QRect(cardRect.left() + padding, cardRect.top() + padding, _iconsize, _iconsize);
}
if (UISettings::values.show_game_name.GetValue()) {
diff --git a/src/yuzu/game/game_card.h b/src/yuzu/game/game_card.h
index 9fd0ec081a..86387452b6 100644
--- a/src/yuzu/game/game_card.h
+++ b/src/yuzu/game/game_card.h
@@ -14,12 +14,10 @@ class GameCard : public QStyledItemDelegate {
public:
explicit GameCard(QObject* parent = nullptr);
- void paint(QPainter *painter,
- const QStyleOptionViewItem &option,
- const QModelIndex &index) const override;
+ void paint(QPainter* painter, const QStyleOptionViewItem& option,
+ const QModelIndex& index) const override;
- QSize sizeHint(const QStyleOptionViewItem &option,
- const QModelIndex &index) const override;
+ QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
void setSize(const QSize& newSize, const int padding);
private:
diff --git a/src/yuzu/game/game_list.cpp b/src/yuzu/game/game_list.cpp
index c57198848f..344cff445c 100644
--- a/src/yuzu/game/game_list.cpp
+++ b/src/yuzu/game/game_list.cpp
@@ -218,11 +218,13 @@ void GameList::OnTextChanged(const QString& new_text) {
for (int i = 0; i < row_count; ++i) {
QStandardItem* item = item_model->item(i, 0);
- if (!item) continue;
+ if (!item)
+ continue;
children_total++;
- const QString file_path = item->data(GameListItemPath::FullPathRole).toString().toLower();
+ const QString file_path =
+ item->data(GameListItemPath::FullPathRole).toString().toLower();
const QString file_title = item->data(GameListItemPath::TitleRole).toString().toLower();
const QString file_name = file_path.mid(file_path.lastIndexOf(QLatin1Char{'/'}) + 1) +
QLatin1Char{' '} + file_title;
@@ -236,7 +238,8 @@ void GameList::OnTextChanged(const QString& new_text) {
}
search_field->setFilterResult(result_count, children_total);
} else if (edit_filter_text.isEmpty()) {
- hide(0, UISettings::values.favorited_ids.size() == 0, item_model->invisibleRootItem()->index());
+ hide(0, UISettings::values.favorited_ids.size() == 0,
+ item_model->invisibleRootItem()->index());
for (int i = 1; i < item_model->rowCount() - 1; ++i) {
folder = item_model->item(i, 0);
const QModelIndex folder_index = folder->index();
@@ -362,7 +365,8 @@ GameList::GameList(FileSys::VirtualFilesystem vfs_, FileSys::ManualContentProvid
external_watcher = new QFileSystemWatcher(this);
ResetExternalWatcher();
- connect(external_watcher, &QFileSystemWatcher::directoryChanged, this, &GameList::RefreshExternalContent);
+ connect(external_watcher, &QFileSystemWatcher::directoryChanged, this,
+ &GameList::RefreshExternalContent);
this->main_window = parent;
layout = new QVBoxLayout;
@@ -471,7 +475,7 @@ bool GameList::IsTreeMode() {
}
void GameList::ResetViewMode() {
- auto &setting = UISettings::values.game_list_mode;
+ auto& setting = UISettings::values.game_list_mode;
bool newTreeMode = false;
switch (setting.GetValue()) {
@@ -678,7 +682,7 @@ void GameList::PopupContextMenu(const QPoint& menu_location) {
return;
QMenu blank_menu;
- QAction *addGameDirAction = blank_menu.addAction(tr("&Add New Game Directory"));
+ QAction* addGameDirAction = blank_menu.addAction(tr("&Add New Game Directory"));
connect(addGameDirAction, &QAction::triggered, this, &GameList::AddDirectory);
blank_menu.exec(m_currentView->viewport()->mapToGlobal(menu_location));
@@ -1113,8 +1117,7 @@ const QStringList GameList::supported_file_extensions = {
QStringLiteral("nso"), QStringLiteral("nro"), QStringLiteral("nca"),
QStringLiteral("xci"), QStringLiteral("nsp"), QStringLiteral("kip")};
-void GameList::RefreshGameDirectory()
-{
+void GameList::RefreshGameDirectory() {
// Reset the externals watcher whenever the game list is reloaded,
// primarily ensures that new titles and external dirs are caught.
ResetExternalWatcher();
@@ -1142,7 +1145,7 @@ void GameList::ResetExternalWatcher() {
external_watcher->removePaths(watch_dirs);
}
- for (const std::string &dir : Settings::values.external_content_dirs) {
+ for (const std::string& dir : Settings::values.external_content_dirs) {
external_watcher->addPath(QString::fromStdString(dir));
}
}
@@ -1286,8 +1289,8 @@ bool GameList::eventFilter(QObject* obj, QEvent* event) {
horizontal_scroll_target = m_currentView->horizontalScrollBar()->value();
horizontal_scroll_target -= deltaX;
- horizontal_scroll_target =
- qBound(0, horizontal_scroll_target, m_currentView->horizontalScrollBar()->maximum());
+ horizontal_scroll_target = qBound(0, horizontal_scroll_target,
+ m_currentView->horizontalScrollBar()->maximum());
horizontal_scroll->stop();
horizontal_scroll->setStartValue(m_currentView->horizontalScrollBar()->value());
diff --git a/src/yuzu/game/game_list.h b/src/yuzu/game/game_list.h
index 7de622b714..42efcbdc3b 100644
--- a/src/yuzu/game/game_list.h
+++ b/src/yuzu/game/game_list.h
@@ -21,10 +21,10 @@
#include "common/common_types.h"
#include "core/core.h"
+#include "frontend_common/play_time_manager.h"
#include "qt_common/config/uisettings.h"
#include "qt_common/util/game.h"
#include "yuzu/compatibility_list.h"
-#include "frontend_common/play_time_manager.h"
class QVariantAnimation;
@@ -124,7 +124,7 @@ signals:
void NavigateToGamedbEntryRequested(u64 program_id,
const CompatibilityList& compatibility_list);
void OpenPerGameGeneralRequested(const std::string& file);
- void LinkToRyujinxRequested(const u64 &program_id);
+ void LinkToRyujinxRequested(const u64& program_id);
void OpenDirectory(const QString& directory);
void AddDirectory();
void ShowList(bool show);
@@ -170,8 +170,8 @@ private:
QVBoxLayout* layout = nullptr;
QTreeView* tree_view = nullptr;
- QListView *list_view = nullptr;
- GameCard *m_gameCard = nullptr;
+ QListView* list_view = nullptr;
+ GameCard* m_gameCard = nullptr;
QStandardItemModel* item_model = nullptr;
std::unique_ptr<GameListWorker> current_worker;
@@ -194,7 +194,7 @@ private:
Core::System& system;
bool m_isTreeMode = true;
- QAbstractItemView *m_currentView = tree_view;
+ QAbstractItemView* m_currentView = tree_view;
};
class GameListPlaceholder : public QWidget {
diff --git a/src/yuzu/game/game_list_p.h b/src/yuzu/game/game_list_p.h
index 9bae5b9e01..004f8917ad 100644
--- a/src/yuzu/game/game_list_p.h
+++ b/src/yuzu/game/game_list_p.h
@@ -14,10 +14,10 @@
#include <QCoreApplication>
#include <QFileInfo>
#include <QObject>
+#include <QRegularExpression>
#include <QStandardItem>
#include <QString>
#include <QWidget>
-#include <QRegularExpression>
#include "common/common_types.h"
#include "common/logging/log.h"
@@ -77,7 +77,7 @@ public:
GameListItemPath() = default;
GameListItemPath(const QString& game_path, const std::vector<u8>& picture_data,
const QString& game_name, const QString& game_type, u64 program_id,
- u64 play_time, const QString &patch_versions) {
+ u64 play_time, const QString& patch_versions) {
setData(type(), TypeRole);
setData(game_path, FullPathRole);
setData(game_name, TitleRole);
@@ -85,14 +85,15 @@ public:
setData(game_type, FileTypeRole);
const auto readable_play_time =
- play_time > 0
- ? QObject::tr("Play Time: %1").arg(QString::fromStdString(PlayTime::PlayTimeManager::GetReadablePlayTime(play_time)))
- : QObject::tr("Never Played");
+ play_time > 0 ? QObject::tr("Play Time: %1")
+ .arg(QString::fromStdString(
+ PlayTime::PlayTimeManager::GetReadablePlayTime(play_time)))
+ : QObject::tr("Never Played");
const auto enabled_update = [patch_versions]() -> QString {
const QStringList lines = patch_versions.split(QLatin1Char('\n'));
const QRegularExpression regex{QStringLiteral(R"(^Update \(([0-9\.]+)\))")};
- for (const QString &line : std::as_const(lines)) {
+ for (const QString& line : std::as_const(lines)) {
const auto match = regex.match(line);
if (match.hasMatch() && match.hasCaptured(1))
return QObject::tr("Version: %1").arg(match.captured(1));
@@ -100,9 +101,7 @@ public:
return QObject::tr("Version: 1.0.0");
}();
- const auto tooltip = QStringLiteral("%1\n%2").arg(
- readable_play_time,
- enabled_update);
+ const auto tooltip = QStringLiteral("%1\n%2").arg(readable_play_time, enabled_update);
setData(tooltip, Qt::ToolTipRole);
@@ -145,7 +144,7 @@ public:
return row1.toLower();
}
- // None
+ // None
if (row2_id == 4) {
return row1;
}
@@ -163,7 +162,6 @@ public:
default:
break;
}
-
}
return GameListItem::data(role);
diff --git a/src/yuzu/game/game_list_worker.cpp b/src/yuzu/game/game_list_worker.cpp
index 81012e4374..777122e135 100644
--- a/src/yuzu/game/game_list_worker.cpp
+++ b/src/yuzu/game/game_list_worker.cpp
@@ -30,11 +30,11 @@
#include "core/file_sys/romfs.h"
#include "core/file_sys/submission_package.h"
#include "core/loader/loader.h"
+#include "qt_common/config/uisettings.h"
#include "yuzu/compatibility_list.h"
#include "yuzu/game/game_list.h"
#include "yuzu/game/game_list_p.h"
#include "yuzu/game/game_list_worker.h"
-#include "qt_common/config/uisettings.h"
namespace {
@@ -198,26 +198,24 @@ QString FormatPatchNameVersions(const FileSys::PatchManager& patch_manager,
return out;
}
-QList<QStandardItem*> MakeGameListEntry(const std::string& path,
- const std::string& name,
- const std::size_t size,
- const std::vector<u8>& icon,
- Loader::AppLoader& loader,
- u64 program_id,
+QList<QStandardItem*> MakeGameListEntry(const std::string& path, const std::string& name,
+ const std::size_t size, const std::vector<u8>& icon,
+ Loader::AppLoader& loader, u64 program_id,
const CompatibilityList& compatibility_list,
const PlayTime::PlayTimeManager& play_time_manager,
- const FileSys::PatchManager& patch)
-{
+ const FileSys::PatchManager& patch) {
auto const it = FindMatchingCompatibilityEntry(compatibility_list, program_id);
// The game list uses 99 as compatibility number for untested games
- QString compatibility = it != compatibility_list.end() ? it->second.first : QStringLiteral("99");
+ QString compatibility =
+ it != compatibility_list.end() ? it->second.first : QStringLiteral("99");
auto const file_type = loader.GetFileType();
auto const file_type_string = QString::fromStdString(Loader::GetFileTypeString(file_type));
- QString patch_versions = GetGameListCachedObject(fmt::format("{:016X}", patch.GetTitleID()), "pv.txt", [&patch, &loader] {
- return FormatPatchNameVersions(patch, loader, loader.IsRomFSUpdatable());
- });
+ QString patch_versions = GetGameListCachedObject(
+ fmt::format("{:016X}", patch.GetTitleID()), "pv.txt", [&patch, &loader] {
+ return FormatPatchNameVersions(patch, loader, loader.IsRomFSUpdatable());
+ });
u64 play_time = play_time_manager.GetPlayTime(program_id);
return QList<QStandardItem*>{
@@ -238,13 +236,9 @@ GameListWorker::GameListWorker(FileSys::VirtualFilesystem vfs_,
const CompatibilityList& compatibility_list_,
const PlayTime::PlayTimeManager& play_time_manager_,
Core::System& system_)
- : vfs{std::move(vfs_)}
- , provider{provider_}
- , game_dirs{game_dirs_}
- , compatibility_list{compatibility_list_}
- , play_time_manager{play_time_manager_}
- , system{system_}
-{
+ : vfs{std::move(vfs_)}, provider{provider_}, game_dirs{game_dirs_},
+ compatibility_list{compatibility_list_}, play_time_manager{play_time_manager_},
+ system{system_} {
// We want the game list to manage our lifetime.
setAutoDelete(false);
}
@@ -338,15 +332,8 @@ void GameListWorker::AddTitlesToGameList(GameListDir* parent_dir) {
GetMetadataFromControlNCA(patch, *control, icon, name);
}
- auto entry = MakeGameListEntry(file->GetFullPath(),
- name,
- file->GetSize(),
- icon,
- *loader,
- program_id,
- compatibility_list,
- play_time_manager,
- patch);
+ auto entry = MakeGameListEntry(file->GetFullPath(), name, file->GetSize(), icon, *loader,
+ program_id, compatibility_list, play_time_manager, patch);
RecordEvent([=](GameList* game_list) { game_list->AddEntry(entry, parent_dir); });
}
}
@@ -424,15 +411,9 @@ void GameListWorker::ScanFileSystem(ScanTarget target, const std::string& dir_pa
const FileSys::PatchManager patch{id, system.GetFileSystemController(),
system.GetContentProvider()};
- auto entry = MakeGameListEntry(physical_name,
- name,
- Common::FS::GetSize(physical_name),
- icon,
- *loader,
- id,
- compatibility_list,
- play_time_manager,
- patch);
+ auto entry = MakeGameListEntry(
+ physical_name, name, Common::FS::GetSize(physical_name), icon, *loader,
+ id, compatibility_list, play_time_manager, patch);
RecordEvent(
[=](GameList* game_list) { game_list->AddEntry(entry, parent_dir); });
@@ -447,15 +428,9 @@ void GameListWorker::ScanFileSystem(ScanTarget target, const std::string& dir_pa
const FileSys::PatchManager patch{program_id, system.GetFileSystemController(),
system.GetContentProvider()};
- auto entry = MakeGameListEntry(physical_name,
- name,
- Common::FS::GetSize(physical_name),
- icon,
- *loader,
- program_id,
- compatibility_list,
- play_time_manager,
- patch);
+ auto entry = MakeGameListEntry(
+ physical_name, name, Common::FS::GetSize(physical_name), icon, *loader,
+ program_id, compatibility_list, play_time_manager, patch);
RecordEvent(
[=](GameList* game_list) { game_list->AddEntry(entry, parent_dir); });
diff --git a/src/yuzu/game/game_list_worker.h b/src/yuzu/game/game_list_worker.h
index 76153f7917..bf67585fe6 100644
--- a/src/yuzu/game/game_list_worker.h
+++ b/src/yuzu/game/game_list_worker.h
@@ -18,9 +18,9 @@
#include "common/thread.h"
#include "core/file_sys/registered_cache.h"
+#include "frontend_common/play_time_manager.h"
#include "qt_common/config/uisettings.h"
#include "yuzu/compatibility_list.h"
-#include "frontend_common/play_time_manager.h"
namespace Core {
class System;
diff --git a/src/yuzu/hotkeys.cpp b/src/yuzu/hotkeys.cpp
index 10e407402b..5ca437a597 100644
--- a/src/yuzu/hotkeys.cpp
+++ b/src/yuzu/hotkeys.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
@@ -10,8 +10,8 @@
#include <QtGlobal>
#include "hid_core/frontend/emulated_controller.h"
-#include "yuzu/hotkeys.h"
#include "qt_common/config/uisettings.h"
+#include "yuzu/hotkeys.h"
HotkeyRegistry::HotkeyRegistry() = default;
HotkeyRegistry::~HotkeyRegistry() = default;
diff --git a/src/yuzu/install_dialog.cpp b/src/yuzu/install_dialog.cpp
index 1b772a0eba..de42297618 100644
--- a/src/yuzu/install_dialog.cpp
+++ b/src/yuzu/install_dialog.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
@@ -10,8 +10,8 @@
#include <QLabel>
#include <QListWidget>
#include <QVBoxLayout>
-#include "yuzu/install_dialog.h"
#include "qt_common/config/uisettings.h"
+#include "yuzu/install_dialog.h"
InstallDialog::InstallDialog(QWidget* parent, const QStringList& files) : QDialog(parent) {
file_list = new QListWidget(this);
diff --git a/src/yuzu/libqt_common.cpp b/src/yuzu/libqt_common.cpp
index 6da75033af..198d1b66be 100644
--- a/src/yuzu/libqt_common.cpp
+++ b/src/yuzu/libqt_common.cpp
@@ -1,11 +1,11 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
+#include <QAbstractButton>
#include <QFileDialog>
#include <QInputDialog>
#include <QMessageBox>
#include <QProgressDialog>
-#include <QAbstractButton>
#include "libqt_common.h"
#include "qt_common/abstract/frontend.h"
@@ -14,10 +14,11 @@
namespace QtCommon::Frontend {
-StandardButton ShowMessage(
- Icon icon, const QString &title, const QString &text, StandardButtons buttons, QObject *parent)
-{
- QMessageBox *box = new QMessageBox(QMessageBox::Icon(int(icon)), title, text, QMessageBox::StandardButtons(int(buttons)), (QWidget *) parent);
+StandardButton ShowMessage(Icon icon, const QString& title, const QString& text,
+ StandardButtons buttons, QObject* parent) {
+ QMessageBox* box =
+ new QMessageBox(QMessageBox::Icon(int(icon)), title, text,
+ QMessageBox::StandardButtons(int(buttons)), (QWidget*)parent);
return StandardButton(box->exec());
}
@@ -81,15 +82,15 @@ void WidgetsProgressDialog::show() {
m_dialog->show();
}
-std::unique_ptr<QtProgressDialog> newProgressDialog(const QString& labelText, const QString& cancelButtonText,
- int minimum, int maximum, Qt::WindowFlags f) {
+std::unique_ptr<QtProgressDialog> newProgressDialog(const QString& labelText,
+ const QString& cancelButtonText, int minimum,
+ int maximum, Qt::WindowFlags f) {
return std::make_unique<WidgetsProgressDialog>(labelText, cancelButtonText, minimum, maximum,
(QWidget*)rootObject, f);
}
QtProgressDialog* newProgressDialogPtr(const QString& labelText, const QString& cancelButtonText,
- int minimum, int maximum,
- Qt::WindowFlags f) {
+ int minimum, int maximum, Qt::WindowFlags f) {
return new WidgetsProgressDialog(labelText, cancelButtonText, minimum, maximum,
(QWidget*)rootObject, f);
}
@@ -115,5 +116,4 @@ const QString GetTextInput(const QString& title, const QString& caption,
return QInputDialog::getText(rootObject, title, caption, QLineEdit::Normal, defaultText);
}
-
} // namespace QtCommon::Frontend
diff --git a/src/yuzu/libqt_common.h b/src/yuzu/libqt_common.h
index 9fb0add154..356fd65d2b 100644
--- a/src/yuzu/libqt_common.h
+++ b/src/yuzu/libqt_common.h
@@ -34,4 +34,4 @@ private:
QProgressDialog* m_dialog;
};
-}
+} // namespace QtCommon::Frontend
diff --git a/src/yuzu/loading_screen.cpp b/src/yuzu/loading_screen.cpp
index d6550a2c81..d67667a91d 100644
--- a/src/yuzu/loading_screen.cpp
+++ b/src/yuzu/loading_screen.cpp
@@ -4,7 +4,6 @@
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
-#include <ankerl/unordered_dense.h>
#include <QBuffer>
#include <QByteArray>
#include <QGraphicsOpacityEffect>
@@ -14,6 +13,7 @@
#include <QPixmap>
#include <QPropertyAnimation>
#include <QStyleOption>
+#include <ankerl/unordered_dense.h>
#include "core/frontend/framebuffer_layout.h"
#include "core/loader/loader.h"
#include "ui_loading_screen.h"
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index c6b4fde83e..f8528d9671 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -5,8 +5,8 @@
#include "startup_checks.h"
#if YUZU_ROOM
-#include "dedicated_room/yuzu_room.h"
#include <cstring>
+#include "dedicated_room/yuzu_room.h"
#endif
#include <common/detached_tasks.h>
@@ -62,9 +62,8 @@ static Qt::HighDpiScaleFactorRoundingPolicy GetHighDpiRoundingPolicy() {
// Get the lower of the 2 ratios and truncate, this is the maximum integer scale.
const qreal max_ratio = std::trunc(std::min(width_ratio, height_ratio));
- return max_ratio > real_ratio
- ? Qt::HighDpiScaleFactorRoundingPolicy::Round
- : Qt::HighDpiScaleFactorRoundingPolicy::Floor;
+ return max_ratio > real_ratio ? Qt::HighDpiScaleFactorRoundingPolicy::Round
+ : Qt::HighDpiScaleFactorRoundingPolicy::Floor;
#else
// Other OSes should be better than Windows at fractional scaling.
return Qt::HighDpiScaleFactorRoundingPolicy::PassThrough;
@@ -174,7 +173,7 @@ int main(int argc, char* argv[]) {
main_window.show();
app.connect(&app, &QGuiApplication::applicationStateChanged, &main_window,
- &MainWindow::OnAppFocusStateChanged);
+ &MainWindow::OnAppFocusStateChanged);
int result = app.exec();
detached_tasks.WaitForAllTasks();
diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp
index aaac46bffb..a251451bea 100644
--- a/src/yuzu/main_window.cpp
+++ b/src/yuzu/main_window.cpp
@@ -19,8 +19,8 @@
#include "ui_main.h"
// Other Yuzu stuff //
-#include "debugger/controller.h"
#include "debugger/console.h"
+#include "debugger/controller.h"
#include "about_dialog.h"
#include "data_dialog.h"
@@ -28,18 +28,18 @@
#include "install_dialog.h"
#include "bootmanager.h"
-#include "yuzu/game/game_list.h"
#include "loading_screen.h"
#include "ryujinx_dialog.h"
#include "set_play_time_dialog.h"
#include "util/util.h"
#include "vk_device_info.h"
+#include "yuzu/game/game_list.h"
#include "applets/qt_amiibo_settings.h"
#include "applets/qt_controller.h"
+#include "applets/qt_error.h"
#include "applets/qt_profile_select.h"
#include "applets/qt_software_keyboard.h"
-#include "applets/qt_error.h"
#include "applets/qt_web_browser.h"
#include "configuration/configure_dialog.h"
@@ -48,8 +48,8 @@
#include "configuration/configure_tas.h"
#include "util/clickable_label.h"
-#include "util/overlay_dialog.h"
#include "util/controller_navigation.h"
+#include "util/overlay_dialog.h"
#include "multiplayer/state.h"
@@ -60,6 +60,7 @@
#include <QStyleHints>
#endif
+#include <QActionGroup>
#include <QCheckBox>
#include <QClipboard>
#include <QDesktopServices>
@@ -68,32 +69,32 @@
#include <QFileInfo>
#include <QGuiApplication>
#include <QInputDialog>
+#include <QMimeData>
#include <QPalette>
#include <QProgressDialog>
#include <QScreen>
#include <QShortcut>
#include <QStatusBar>
#include <QtConcurrentRun>
-#include <QMimeData>
-#include <QActionGroup>
// Qt Common //
-#include "qt_common/config/uisettings.h"
#include "qt_common/config/shared_translation.h"
+#include "qt_common/config/uisettings.h"
#include "qt_common/abstract/frontend.h"
#include "qt_common/qt_common.h"
-#include "qt_common/util/path.h"
-#include "qt_common/util/meta.h"
#include "qt_common/util/content.h"
#include "qt_common/util/fs.h"
+#include "qt_common/util/meta.h"
#include "qt_common/util/mod.h"
+#include "qt_common/util/path.h"
// These are wrappers to avoid the calls to CreateDirectory and CreateFile because of the Windows
// defines.
-static FileSys::VirtualDir VfsFilesystemCreateDirectoryWrapper(const std::string& path, FileSys::OpenMode mode) {
+static FileSys::VirtualDir VfsFilesystemCreateDirectoryWrapper(const std::string& path,
+ FileSys::OpenMode mode) {
return QtCommon::vfs->CreateDirectory(path, mode);
}
@@ -122,14 +123,14 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
#endif
// Core //
-#include "core/frontend/applets/software_keyboard.h"
-#include "core/frontend/applets/mii_edit.h"
#include "core/frontend/applets/general.h"
+#include "core/frontend/applets/mii_edit.h"
+#include "core/frontend/applets/software_keyboard.h"
+#include "core/hle/kernel/k_process.h"
#include "core/hle/service/acc/profile_manager.h"
#include "core/hle/service/am/applet_manager.h"
#include "core/hle/service/am/frontend/applet_web_browser_types.h"
-#include "core/hle/kernel/k_process.h"
#include "core/file_sys/card_image.h"
#include "core/file_sys/romfs.h"
@@ -142,8 +143,8 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
#include "core/crypto/key_manager.h"
// Input //
-#include "hid_core/hid_core.h"
#include "hid_core/frontend/emulated_controller.h"
+#include "hid_core/hid_core.h"
#include "input_common/drivers/virtual_amiibo.h"
// Video Core //
@@ -165,17 +166,17 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
#ifdef __unix__
#include <csignal>
+#include <QSocketNotifier>
#include <sys/socket.h>
#include "qt_common/gui_settings.h"
-#include <QSocketNotifier>
#endif
#include "qt_common/gamemode.h"
#ifdef _WIN32
-#include "core/core_timing.h"
#include "common/windows/timer_resolution.h"
+#include "core/core_timing.h"
#include <QPlatformSurfaceEvent>
#include <QSettings>
@@ -381,7 +382,7 @@ static QString PrettyProductName() {
namespace {
-constexpr std::array<std::pair<u32, const char *>, 5> default_game_icon_sizes{
+constexpr std::array<std::pair<u32, const char*>, 5> default_game_icon_sizes{
std::make_pair(0, QT_TRANSLATE_NOOP("MainWindow", "None")),
std::make_pair(32, QT_TRANSLATE_NOOP("MainWindow", "Small (32x32)")),
std::make_pair(64, QT_TRANSLATE_NOOP("MainWindow", "Standard (64x64)")),
@@ -393,7 +394,7 @@ QString GetTranslatedGameIconSize(size_t index) {
return QCoreApplication::translate("MainWindow", default_game_icon_sizes[index].second);
}
-}
+} // namespace
#ifndef _WIN32
// TODO(crueter): carboxyl does this, is it needed in qml?
@@ -412,7 +413,7 @@ inline static bool isDarkMode() {
MainWindow::MainWindow(bool has_broken_vulkan)
: ui{std::make_unique<Ui::MainWindow>()},
- input_subsystem{std::make_shared<InputCommon::InputSubsystem>()}, user_data_migrator{this} {
+ input_subsystem{std::make_shared<InputCommon::InputSubsystem>()}, user_data_migrator{this} {
QtCommon::Init(this);
Common::FS::CreateEdenPaths();
@@ -423,17 +424,14 @@ MainWindow::MainWindow(bool has_broken_vulkan)
using namespace Common::FS;
- static constexpr const std::array<const EdenPath, 4> paths = {EdenPath::NANDDir,
- EdenPath::SDMCDir,
- EdenPath::DumpDir,
- EdenPath::LoadDir};
+ static constexpr const std::array<const EdenPath, 4> paths = {
+ EdenPath::NANDDir, EdenPath::SDMCDir, EdenPath::DumpDir, EdenPath::LoadDir};
for (const EdenPath& path : paths) {
std::string str_path = Common::FS::GetEdenPathString(path);
if (str_path.starts_with(user_data_migrator.selected_emu.get_user_dir())) {
- boost::replace_all(str_path,
- user_data_migrator.selected_emu.lower_name().toStdString(),
- "eden");
+ boost::replace_all(
+ str_path, user_data_migrator.selected_emu.lower_name().toStdString(), "eden");
Common::FS::SetEdenPath(path, str_path);
}
}
@@ -531,7 +529,8 @@ MainWindow::MainWindow(bool has_broken_vulkan)
std::chrono::duration_cast<std::chrono::duration<f64, std::milli>>(
Common::Windows::SetCurrentTimerResolutionToMaximum())
.count());
- QtCommon::system->CoreTiming().SetTimerResolutionNs(Common::Windows::GetCurrentTimerResolution());
+ QtCommon::system->CoreTiming().SetTimerResolutionNs(
+ Common::Windows::GetCurrentTimerResolution());
#endif
UpdateWindowTitle();
@@ -539,9 +538,8 @@ MainWindow::MainWindow(bool has_broken_vulkan)
#ifdef ENABLE_UPDATE_CHECKER
if (UISettings::values.check_for_updates) {
- update_future = QtConcurrent::run([]() -> std::optional<UpdateChecker::Update> {
- return UpdateChecker::GetUpdate();
- });
+ update_future = QtConcurrent::run(
+ []() -> std::optional<UpdateChecker::Update> { return UpdateChecker::GetUpdate(); });
update_watcher.connect(&update_watcher, &QFutureWatcher<QString>::finished, this,
&MainWindow::OnEmulatorUpdateAvailable);
update_watcher.setFuture(update_future);
@@ -590,7 +588,8 @@ MainWindow::MainWindow(bool has_broken_vulkan)
if (has_broken_vulkan) {
UISettings::values.has_broken_vulkan = true;
- QMessageBox::warning(this, tr("Broken Vulkan Installation Detected"), tr("Vulkan initialization failed during boot."));
+ QMessageBox::warning(this, tr("Broken Vulkan Installation Detected"),
+ tr("Vulkan initialization failed during boot."));
#ifdef HAS_OPENGL
Settings::values.renderer_backend = Settings::RendererBackend::OpenGL_GLSL;
#else
@@ -652,7 +651,8 @@ MainWindow::MainWindow(bool has_broken_vulkan)
if (!argument_ok) {
// try to look it up by username, only finds the first username that matches.
std::string const user_arg_str = args[user_arg_idx].toStdString();
- auto const user_idx = QtCommon::system->GetProfileManager().GetUserIndex(user_arg_str);
+ auto const user_idx =
+ QtCommon::system->GetProfileManager().GetUserIndex(user_arg_str);
if (user_idx != std::nullopt) {
selected_user = user_idx.value();
} else {
@@ -711,7 +711,7 @@ MainWindow::~MainWindow() {
}
void MainWindow::AmiiboSettingsShowDialog(const Core::Frontend::CabinetParameters& parameters,
- std::shared_ptr<Service::NFC::NfcDevice> nfp_device) {
+ std::shared_ptr<Service::NFC::NfcDevice> nfp_device) {
cabinet_applet =
new QtAmiiboSettingsDialog(this, parameters, input_subsystem.get(), nfp_device);
SCOPE_EXIT {
@@ -915,7 +915,7 @@ void MainWindow::SoftwareKeyboardExit() {
}
void MainWindow::WebBrowserOpenWebPage(const std::string& main_url,
- const std::string& additional_args, bool is_local) {
+ const std::string& additional_args, bool is_local) {
#ifdef YUZU_USE_QT_WEB_ENGINE
// Raw input breaks with the web applet, Disable web applets if enabled
@@ -1072,7 +1072,8 @@ void MainWindow::InitializeWidgets() {
render_window = new GRenderWindow(this, emu_thread.get(), input_subsystem, *QtCommon::system);
render_window->hide();
- game_list = new GameList(QtCommon::vfs, QtCommon::provider.get(), *play_time_manager, *QtCommon::system, this);
+ game_list = new GameList(QtCommon::vfs, QtCommon::provider.get(), *play_time_manager,
+ *QtCommon::system, this);
ui->horizontalLayout->addWidget(game_list);
game_list_placeholder = new GameListPlaceholder(this);
@@ -1229,8 +1230,7 @@ void MainWindow::InitializeWidgets() {
filter_status_button = new QPushButton();
filter_status_button->setObjectName(QStringLiteral("TogglableStatusBarButton"));
filter_status_button->setFocusPolicy(Qt::NoFocus);
- connect(filter_status_button, &QPushButton::clicked, this,
- &MainWindow::OnToggleAdaptingFilter);
+ connect(filter_status_button, &QPushButton::clicked, this, &MainWindow::OnToggleAdaptingFilter);
UpdateFilterText();
filter_status_button->setCheckable(true);
filter_status_button->setChecked(true);
@@ -1369,7 +1369,7 @@ void MainWindow::InitializeRecentFileMenuActions() {
}
void MainWindow::LinkActionShortcut(QAction* action, const QString& action_name,
- const bool tas_allowed) {
+ const bool tas_allowed) {
static const auto main_window = std::string("Main Window");
action->setShortcut(hotkey_registry.GetKeySequence(main_window, action_name.toStdString()));
action->setShortcutContext(
@@ -1378,7 +1378,8 @@ void MainWindow::LinkActionShortcut(QAction* action, const QString& action_name,
this->addAction(action);
- auto* controller = QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
+ auto* controller =
+ QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
const auto* controller_hotkey =
hotkey_registry.GetControllerHotkey(main_window, action_name.toStdString(), controller);
connect(
@@ -1404,17 +1405,16 @@ void MainWindow::InitializeHotkeys() {
LinkActionShortcut(ui->action_Stop, QStringLiteral("Stop Emulation"));
LinkActionShortcut(ui->action_Show_Filter_Bar, QStringLiteral("Toggle Filter Bar"));
LinkActionShortcut(ui->action_Show_Status_Bar, QStringLiteral("Toggle Status Bar"));
- LinkActionShortcut(ui->action_Show_Performance_Overlay, QStringLiteral("Toggle Performance Overlay"));
+ LinkActionShortcut(ui->action_Show_Performance_Overlay,
+ QStringLiteral("Toggle Performance Overlay"));
LinkActionShortcut(ui->action_Fullscreen, QStringLiteral("Fullscreen"));
LinkActionShortcut(ui->action_Capture_Screenshot, QStringLiteral("Capture Screenshot"));
LinkActionShortcut(ui->action_TAS_Start, QStringLiteral("TAS Start/Stop"), true);
LinkActionShortcut(ui->action_TAS_Record, QStringLiteral("TAS Record"), true);
LinkActionShortcut(ui->action_TAS_Reset, QStringLiteral("TAS Reset"), true);
- LinkActionShortcut(ui->action_View_Lobby,
- QStringLiteral("Browse Public Game Lobby"));
+ LinkActionShortcut(ui->action_View_Lobby, QStringLiteral("Browse Public Game Lobby"));
LinkActionShortcut(ui->action_Start_Room, QStringLiteral("Create Room"));
- LinkActionShortcut(ui->action_Connect_To_Room,
- QStringLiteral("Direct Connect to Room"));
+ LinkActionShortcut(ui->action_Connect_To_Room, QStringLiteral("Direct Connect to Room"));
LinkActionShortcut(ui->action_Show_Room, QStringLiteral("Show Current Room"));
LinkActionShortcut(ui->action_Leave_Room, QStringLiteral("Leave Room"));
LinkActionShortcut(ui->action_Configure, QStringLiteral("Configure"));
@@ -1424,7 +1424,8 @@ void MainWindow::InitializeHotkeys() {
const auto connect_shortcut = [&]<typename Fn>(const QString& action_name, const Fn& function) {
const auto* hotkey =
hotkey_registry.GetHotkey(main_window.toStdString(), action_name.toStdString(), this);
- auto* controller = QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
+ auto* controller =
+ QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
const auto* controller_hotkey = hotkey_registry.GetControllerHotkey(
main_window.toStdString(), action_name.toStdString(), controller);
connect(hotkey, &QShortcut::activated, this, function);
@@ -1438,8 +1439,7 @@ void MainWindow::InitializeHotkeys() {
ToggleFullscreen();
}
});
- connect_shortcut(QStringLiteral("Change Adapting Filter"),
- &MainWindow::OnToggleAdaptingFilter);
+ connect_shortcut(QStringLiteral("Change Adapting Filter"), &MainWindow::OnToggleAdaptingFilter);
connect_shortcut(QStringLiteral("Change Docked Mode"), &MainWindow::OnToggleDockedMode);
connect_shortcut(QStringLiteral("Change GPU Mode"), &MainWindow::OnToggleGpuAccuracy);
connect_shortcut(QStringLiteral("Audio Mute/Unmute"), &MainWindow::OnMute);
@@ -1513,8 +1513,10 @@ void MainWindow::RestoreUIState() {
ui->action_Show_Status_Bar->setChecked(UISettings::values.show_status_bar.GetValue());
statusBar()->setVisible(ui->action_Show_Status_Bar->isChecked());
- ui->action_Show_Performance_Overlay->setChecked(UISettings::values.show_perf_overlay.GetValue());
- if (perf_overlay) perf_overlay->setVisible(ui->action_Show_Performance_Overlay->isChecked());
+ ui->action_Show_Performance_Overlay->setChecked(
+ UISettings::values.show_perf_overlay.GetValue());
+ if (perf_overlay)
+ perf_overlay->setVisible(ui->action_Show_Performance_Overlay->isChecked());
Debugger::ToggleConsole();
}
@@ -1554,16 +1556,14 @@ void MainWindow::ConnectWidgetEvents() {
connect(game_list, &GameList::GameChosen, this, &MainWindow::OnGameListLoadFile);
connect(game_list, &GameList::OpenDirectory, this, &MainWindow::OnGameListOpenDirectory);
connect(game_list, &GameList::OpenFolderRequested, this, &MainWindow::OnGameListOpenFolder);
- connect(game_list, &GameList::OpenTransferableShaderCacheRequested, this, [this](u64 program_id) {
- QtCommon::Path::OpenShaderCache(program_id, this);
- });
+ connect(game_list, &GameList::OpenTransferableShaderCacheRequested, this,
+ [this](u64 program_id) { QtCommon::Path::OpenShaderCache(program_id, this); });
connect(game_list, &GameList::RemoveInstalledEntryRequested, this,
&MainWindow::OnGameListRemoveInstalledEntry);
connect(game_list, &GameList::RemoveFileRequested, this, &MainWindow::OnGameListRemoveFile);
connect(game_list, &GameList::RemovePlayTimeRequested, this,
&MainWindow::OnGameListRemovePlayTimeData);
- connect(game_list, &GameList::SetPlayTimeRequested, this,
- &MainWindow::OnGameListSetPlayTime);
+ connect(game_list, &GameList::SetPlayTimeRequested, this, &MainWindow::OnGameListSetPlayTime);
connect(game_list, &GameList::DumpRomFSRequested, this, &MainWindow::OnGameListDumpRomFS);
connect(game_list, &GameList::VerifyIntegrityRequested, this,
&MainWindow::OnGameListVerifyIntegrity);
@@ -1581,11 +1581,9 @@ void MainWindow::ConnectWidgetEvents() {
connect(game_list, &GameList::OpenPerGameGeneralRequested, this,
&MainWindow::OnGameListOpenPerGameProperties);
- connect(game_list, &GameList::LinkToRyujinxRequested, this,
- &MainWindow::OnLinkToRyujinx);
+ connect(game_list, &GameList::LinkToRyujinxRequested, this, &MainWindow::OnLinkToRyujinx);
- connect(this, &MainWindow::UpdateInstallProgress, this,
- &MainWindow::IncrementInstallProgress);
+ connect(this, &MainWindow::UpdateInstallProgress, this, &MainWindow::IncrementInstallProgress);
connect(this, &MainWindow::EmulationStarting, render_window,
&GRenderWindow::OnEmulationStarting);
@@ -1652,10 +1650,11 @@ void MainWindow::ConnectMenuEvents() {
for (size_t i = 0; i < default_game_icon_sizes.size(); i++) {
const auto current_size = UISettings::values.game_icon_size.GetValue();
const auto size = default_game_icon_sizes[i].first;
- QAction *action = ui->menuGame_Icon_Size->addAction(GetTranslatedGameIconSize(i));
+ QAction* action = ui->menuGame_Icon_Size->addAction(GetTranslatedGameIconSize(i));
action->setCheckable(true);
- if (current_size == size) action->setChecked(true);
+ if (current_size == size)
+ action->setChecked(true);
game_size_actions->addAction(action);
@@ -1687,35 +1686,38 @@ void MainWindow::ConnectMenuEvents() {
connect(multiplayer_state, &MultiplayerState::SaveConfig, this, &MainWindow::OnSaveConfig);
// Tools
- connect_menu(ui->action_Launch_PhotoViewer, [this]{
+ connect_menu(ui->action_Launch_PhotoViewer, [this] {
LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::PhotoViewer), std::nullopt);
});
- connect_menu(ui->action_Launch_MiiEdit, [this]{
+ connect_menu(ui->action_Launch_MiiEdit, [this] {
LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::MiiEdit), std::nullopt);
});
- connect_menu(ui->action_Launch_Controller, [this]{
+ connect_menu(ui->action_Launch_Controller, [this] {
LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Controller), std::nullopt);
});
- connect_menu(ui->action_Launch_QLaunch, [this]{
+ connect_menu(ui->action_Launch_QLaunch, [this] {
LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::QLaunch), std::nullopt);
});
// Tools (cabinet)
- connect_menu(ui->action_Launch_Cabinet_Nickname_Owner, [this]{
- LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet), {Service::NFP::CabinetMode::StartNicknameAndOwnerSettings});
+ connect_menu(ui->action_Launch_Cabinet_Nickname_Owner, [this] {
+ LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet),
+ {Service::NFP::CabinetMode::StartNicknameAndOwnerSettings});
});
- connect_menu(ui->action_Launch_Cabinet_Eraser, [this]{
- LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet), {Service::NFP::CabinetMode::StartGameDataEraser});
+ connect_menu(ui->action_Launch_Cabinet_Eraser, [this] {
+ LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet),
+ {Service::NFP::CabinetMode::StartGameDataEraser});
});
- connect_menu(ui->action_Launch_Cabinet_Restorer, [this]{
- LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet), {Service::NFP::CabinetMode::StartRestorer});
+ connect_menu(ui->action_Launch_Cabinet_Restorer, [this] {
+ LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet),
+ {Service::NFP::CabinetMode::StartRestorer});
});
- connect_menu(ui->action_Launch_Cabinet_Formatter, [this]{
- LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet), {Service::NFP::CabinetMode::StartFormatter});
+ connect_menu(ui->action_Launch_Cabinet_Formatter, [this] {
+ LaunchFirmwareApplet(u64(Service::AM::AppletProgramId::Cabinet),
+ {Service::NFP::CabinetMode::StartFormatter});
});
connect_menu(ui->action_Desktop, &MainWindow::OnCreateHomeMenuDesktopShortcut);
- connect_menu(ui->action_Application_Menu,
- &MainWindow::OnCreateHomeMenuApplicationMenuShortcut);
+ connect_menu(ui->action_Application_Menu, &MainWindow::OnCreateHomeMenuApplicationMenuShortcut);
connect_menu(ui->action_Capture_Screenshot, &MainWindow::OnCaptureScreenshot);
// TAS
@@ -1754,15 +1756,10 @@ void MainWindow::UpdateMenuState() {
};
const std::array applet_actions{
- ui->action_Launch_PhotoViewer,
- ui->action_Launch_Cabinet_Nickname_Owner,
- ui->action_Launch_Cabinet_Eraser,
- ui->action_Launch_Cabinet_Restorer,
- ui->action_Launch_Cabinet_Formatter,
- ui->action_Launch_MiiEdit,
- ui->action_Launch_QLaunch,
- ui->action_Launch_Controller
- };
+ ui->action_Launch_PhotoViewer, ui->action_Launch_Cabinet_Nickname_Owner,
+ ui->action_Launch_Cabinet_Eraser, ui->action_Launch_Cabinet_Restorer,
+ ui->action_Launch_Cabinet_Formatter, ui->action_Launch_MiiEdit,
+ ui->action_Launch_QLaunch, ui->action_Launch_Controller};
for (QAction* action : running_actions) {
action->setEnabled(emulation_running);
@@ -1795,17 +1792,16 @@ void MainWindow::SetupPrepareForSleep() {
const auto dbus_logind_service = QStringLiteral("org.freedesktop.login1");
const auto dbus_logind_path = QStringLiteral("/org/freedesktop/login1");
const auto dbus_logind_manager_if = QStringLiteral("org.freedesktop.login1.Manager");
- //const auto dbus_logind_session_if = QStringLiteral("org.freedesktop.login1.Session");
+ // const auto dbus_logind_session_if = QStringLiteral("org.freedesktop.login1.Session");
#else
const auto dbus_logind_service = QStringLiteral("org.freedesktop.ConsoleKit");
const auto dbus_logind_path = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
const auto dbus_logind_manager_if = QStringLiteral("org.freedesktop.ConsoleKit.Manager");
- //const auto dbus_logind_session_if = QStringLiteral("org.freedesktop.ConsoleKit.Session");
+ // const auto dbus_logind_session_if = QStringLiteral("org.freedesktop.ConsoleKit.Session");
#endif
- const bool success = bus.connect(
- dbus_logind_service, dbus_logind_path,
- dbus_logind_manager_if, QStringLiteral("PrepareForSleep"),
- QStringLiteral("b"), this, SLOT(OnPrepareForSleep(bool)));
+ const bool success = bus.connect(dbus_logind_service, dbus_logind_path,
+ dbus_logind_manager_if, QStringLiteral("PrepareForSleep"),
+ QStringLiteral("b"), this, SLOT(OnPrepareForSleep(bool)));
if (!success)
LOG_WARNING(Frontend, "Couldn't register PrepareForSleep signal");
} else {
@@ -1934,13 +1930,14 @@ bool MainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPar
/** Exec */
const Core::SystemResultStatus result{
- QtCommon::system->Load(*render_window, filename.toStdString(), params)};
+ QtCommon::system->Load(*render_window, filename.toStdString(), params)};
const auto drd_callout = (UISettings::values.callout_flags.GetValue() &
static_cast<u32>(CalloutFlag::DRDDeprecation)) == 0;
if (result == Core::SystemResultStatus::Success &&
- QtCommon::system->GetAppLoader().GetFileType() == Loader::FileType::DeconstructedRomDirectory &&
+ QtCommon::system->GetAppLoader().GetFileType() ==
+ Loader::FileType::DeconstructedRomDirectory &&
drd_callout) {
UISettings::values.callout_flags = UISettings::values.callout_flags.GetValue() |
static_cast<u32>(CalloutFlag::DRDDeprecation);
@@ -2047,7 +2044,7 @@ void MainWindow::ConfigureFilesystemProvider(const std::string& filepath) {
}
void MainWindow::BootGame(const QString& filename, Service::AM::FrontendAppletParameters params,
- StartGameType type) {
+ StartGameType type) {
LOG_INFO(Frontend, "Eden starting...");
if (params.program_id == 0 ||
@@ -2066,7 +2063,8 @@ void MainWindow::BootGame(const QString& filename, Service::AM::FrontendAppletPa
ConfigureFilesystemProvider(filename.toStdString());
const auto v_file = Core::GetGameFileFromPath(QtCommon::vfs, filename.toUtf8().constData());
- const auto loader = Loader::GetLoader(*QtCommon::system, v_file, params.program_id, params.program_index);
+ const auto loader =
+ Loader::GetLoader(*QtCommon::system, v_file, params.program_id, params.program_index);
if (loader != nullptr && loader->ReadProgramId(title_id) == Loader::ResultStatus::Success &&
type == StartGameType::Normal) {
@@ -2085,11 +2083,11 @@ void MainWindow::BootGame(const QString& filename, Service::AM::FrontendAppletPa
if (UISettings::values.select_user_on_boot && !user_flag_cmd_line) {
const Core::Frontend::ProfileSelectParameters parameters{
- .mode = Service::AM::Frontend::UiMode::UserSelector,
- .invalid_uid_list = {},
- .display_options = {},
- .purpose = Service::AM::Frontend::UserSelectionPurpose::General,
- };
+ .mode = Service::AM::Frontend::UiMode::UserSelector,
+ .invalid_uid_list = {},
+ .display_options = {},
+ .purpose = Service::AM::Frontend::UserSelectionPurpose::General,
+ };
if (SelectAndSetCurrentUser(parameters) == false) {
return;
}
@@ -2246,8 +2244,9 @@ bool MainWindow::OnShutdownBegin() {
}
void MainWindow::OnShutdownBeginDialog() {
- shutdown_dialog = new OverlayDialog(this, *QtCommon::system, QString{}, tr("Closing software..."),
- QString{}, QString{}, Qt::AlignHCenter | Qt::AlignVCenter);
+ shutdown_dialog =
+ new OverlayDialog(this, *QtCommon::system, QString{}, tr("Closing software..."), QString{},
+ QString{}, Qt::AlignHCenter | Qt::AlignVCenter);
shutdown_dialog->open();
}
@@ -2384,7 +2383,7 @@ void MainWindow::OnGameListLoadFile(QString game_path, u64 program_id) {
// TODO(crueter): Common profile selector
void MainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target,
- const std::string& game_path) {
+ const std::string& game_path) {
std::filesystem::path path;
QString open_target;
@@ -2414,8 +2413,8 @@ void MainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target,
case GameListOpenTarget::SaveData: {
open_target = tr("Save Data");
const auto save_dir = Common::FS::GetEdenPath(Common::FS::EdenPath::SaveDir);
- auto vfs_save_dir =
- QtCommon::vfs->OpenDirectory(Common::FS::PathToUTF8String(save_dir), FileSys::OpenMode::Read);
+ auto vfs_save_dir = QtCommon::vfs->OpenDirectory(Common::FS::PathToUTF8String(save_dir),
+ FileSys::OpenMode::Read);
if (has_user_save) {
// User save data
@@ -2530,7 +2529,8 @@ static bool RomFSRawCopy(size_t total_size, size_t& read_size, QProgressDialog&
// TODO(crueter): All this can be transfered to qt_common
// Aldoe I need to decide re: message boxes for QML
// translations_common? strings_common? qt_strings? who knows
-void MainWindow::OnGameListRemoveInstalledEntry(u64 program_id, QtCommon::Game::InstalledEntryType type) {
+void MainWindow::OnGameListRemoveInstalledEntry(u64 program_id,
+ QtCommon::Game::InstalledEntryType type) {
const QString entry_question = [type] {
switch (type) {
case QtCommon::Game::InstalledEntryType::Game:
@@ -2570,7 +2570,7 @@ void MainWindow::OnGameListRemoveInstalledEntry(u64 program_id, QtCommon::Game::
}
void MainWindow::OnGameListRemoveFile(u64 program_id, QtCommon::Game::GameListRemoveTarget target,
- const std::string& game_path) {
+ const std::string& game_path) {
const QString question = [target] {
switch (target) {
case QtCommon::Game::GameListRemoveTarget::GlShaderCache:
@@ -2588,8 +2588,8 @@ void MainWindow::OnGameListRemoveFile(u64 program_id, QtCommon::Game::GameListRe
}
}();
- if (!MainWindow::question(this, tr("Remove File"), question,
- QMessageBox::Yes | QMessageBox::No, QMessageBox::No)) {
+ if (!MainWindow::question(this, tr("Remove File"), question, QMessageBox::Yes | QMessageBox::No,
+ QMessageBox::No)) {
return;
}
@@ -2624,7 +2624,6 @@ void MainWindow::OnGameListSetPlayTime(u64 program_id) {
}
}
-
void MainWindow::OnGameListRemovePlayTimeData(u64 program_id) {
if (QMessageBox::question(this, tr("Remove Play Time Data"), tr("Reset play time?"),
QMessageBox::Yes | QMessageBox::No,
@@ -2637,15 +2636,15 @@ void MainWindow::OnGameListRemovePlayTimeData(u64 program_id) {
}
void MainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_path,
- DumpRomFSTarget target) {
+ DumpRomFSTarget target) {
const auto failed = [this] {
QMessageBox::warning(this, tr("RomFS Extraction Failed!"),
tr("There was an error copying the RomFS files or the user "
"cancelled the operation."));
};
- const auto loader =
- Loader::GetLoader(*QtCommon::system, QtCommon::vfs->OpenFile(game_path, FileSys::OpenMode::Read));
+ const auto loader = Loader::GetLoader(
+ *QtCommon::system, QtCommon::vfs->OpenFile(game_path, FileSys::OpenMode::Read));
if (loader == nullptr) {
failed();
return;
@@ -2686,7 +2685,8 @@ void MainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_pat
const auto path = Common::FS::PathToUTF8String(dump_dir / romfs_dir);
- const FileSys::PatchManager pm{title_id, QtCommon::system->GetFileSystemController(), installed};
+ const FileSys::PatchManager pm{title_id, QtCommon::system->GetFileSystemController(),
+ installed};
auto romfs = pm.PatchRomFS(base_nca.get(), base_romfs, type, packed_update_raw, false);
const auto out = VfsFilesystemCreateDirectoryWrapper(path, FileSys::OpenMode::ReadWrite);
@@ -2762,7 +2762,7 @@ void MainWindow::OnGameListCopyTID(u64 program_id) {
}
void MainWindow::OnGameListNavigateToGamedbEntry(u64 program_id,
- const CompatibilityList& compatibility_list) {
+ const CompatibilityList& compatibility_list) {
const auto it = FindMatchingCompatibilityEntry(compatibility_list, program_id);
QString directory;
@@ -2770,11 +2770,14 @@ void MainWindow::OnGameListNavigateToGamedbEntry(u64 program_id,
directory = it->second.second;
}
- QDesktopServices::openUrl(QUrl(QStringLiteral("https://www.emuready.com/listings?emulatorIds=43bfc023-ec22-422d-8324-048a8ec9f28f") + directory));
+ QDesktopServices::openUrl(QUrl(
+ QStringLiteral(
+ "https://www.emuready.com/listings?emulatorIds=43bfc023-ec22-422d-8324-048a8ec9f28f") +
+ directory));
}
void MainWindow::OnGameListCreateShortcut(u64 program_id, const std::string& game_path,
- const QtCommon::Game::ShortcutTarget target) {
+ const QtCommon::Game::ShortcutTarget target) {
// Create shortcu
std::string arguments = fmt::format("-g \"{:s}\"", game_path);
@@ -2846,8 +2849,7 @@ void MainWindow::OnGameListOpenPerGameProperties(const std::string& file) {
OpenPerGameConfiguration(title_id, file);
}
-void MainWindow::OnLinkToRyujinx(const u64& program_id)
-{
+void MainWindow::OnLinkToRyujinx(const u64& program_id) {
namespace fs = std::filesystem;
fs::path ryu_dir;
@@ -2862,10 +2864,12 @@ void MainWindow::OnLinkToRyujinx(const u64& program_id)
// this function also prompts the user to manually specify a portable location
ryu_dir = QtCommon::FS::GetRyujinxSavePath(existing_path, program_id);
- if (ryu_dir.empty()) return;
+ if (ryu_dir.empty())
+ return;
const std::string user_id = GetProfileIDString();
- if (user_id.empty()) return;
+ if (user_id.empty())
+ return;
const std::string hex_program = fmt::format("{:016X}", program_id);
@@ -2873,7 +2877,6 @@ void MainWindow::OnLinkToRyujinx(const u64& program_id)
FrontendCommon::DataManager::DataDir::Saves, user_id) /
hex_program;
-
// CheckUnlink basically just checks to see if one or both are linked, and prompts the user to
// unlink if this is the case.
// If it returns false, neither dir is linked so it's fine to continue
@@ -3008,8 +3011,8 @@ void MainWindow::OnMenuInstallToNAND() {
return false;
};
future = QtConcurrent::run([&file, progress_callback] {
- return ContentManager::InstallNSP(*QtCommon::system, *QtCommon::vfs, file.toStdString(),
- progress_callback);
+ return ContentManager::InstallNSP(*QtCommon::system, *QtCommon::vfs,
+ file.toStdString(), progress_callback);
});
while (!future.isFinished()) {
@@ -3220,9 +3223,8 @@ void MainWindow::OnLoadComplete() {
perf_overlay = new PerformanceOverlay(this);
perf_overlay->setVisible(ui->action_Show_Performance_Overlay->isChecked());
- connect(perf_overlay, &PerformanceOverlay::closed, perf_overlay, [this]() {
- ui->action_Show_Performance_Overlay->setChecked(false);
- });
+ connect(perf_overlay, &PerformanceOverlay::closed, perf_overlay,
+ [this]() { ui->action_Show_Performance_Overlay->setChecked(false); });
}
void MainWindow::OnExecuteProgram(std::size_t program_index) {
@@ -3244,8 +3246,8 @@ void MainWindow::OnSaveConfig() {
}
void MainWindow::ErrorDisplayDisplayError(QString error_code, QString error_text) {
- error_applet = new OverlayDialog(render_window, *QtCommon::system, error_code, error_text, QString{},
- tr("OK"), Qt::AlignLeft | Qt::AlignVCenter);
+ error_applet = new OverlayDialog(render_window, *QtCommon::system, error_code, error_text,
+ QString{}, tr("OK"), Qt::AlignLeft | Qt::AlignVCenter);
SCOPE_EXIT {
error_applet->deleteLater();
error_applet = nullptr;
@@ -3266,37 +3268,41 @@ void MainWindow::OnMenuReportCompatibility() {
tr("Function Disabled"),
tr("Compatibility list reporting is currently disabled. Check back later!"));
-// #if defined(ARCHITECTURE_x86_64) && !defined(__APPLE__)
-// const auto& caps = Common::GetCPUCaps();
-// const bool has_fma = caps.fma || caps.fma4;
-// const auto processor_count = std::thread::hardware_concurrency();
-// const bool has_4threads = processor_count == 0 || processor_count >= 4;
-// const bool has_8gb_ram = Common::GetMemInfo().TotalPhysicalMemory >= 8_GiB;
-// const bool has_broken_vulkan = UISettings::values.has_broken_vulkan;
-
-// if (!has_fma || !has_4threads || !has_8gb_ram || has_broken_vulkan) {
-// QMessageBox::critical(this, tr("Hardware requirements not met"),
-// tr("Your system does not meet the recommended hardware requirements. "
-// "Compatibility reporting has been disabled."));
-// return;
-// }
-
-// if (!Settings::values.eden_token.GetValue().empty() &&
-// !Settings::values.eden_username.GetValue().empty()) {
-// } else {
-// QMessageBox::critical(
-// this, tr("Missing yuzu Account"),
-// tr("In order to submit a game compatibility test case, you must set up your web token "
-// "and "
-// "username.<br><br/>To link your eden account, go to Emulation &gt; Configuration "
-// "&gt; "
-// "Web."));
-// }
-// #else
-// QMessageBox::critical(this, tr("Hardware requirements not met"),
-// tr("Your system does not meet the recommended hardware requirements. "
-// "Compatibility reporting has been disabled."));
-// #endif
+ // #if defined(ARCHITECTURE_x86_64) && !defined(__APPLE__)
+ // const auto& caps = Common::GetCPUCaps();
+ // const bool has_fma = caps.fma || caps.fma4;
+ // const auto processor_count = std::thread::hardware_concurrency();
+ // const bool has_4threads = processor_count == 0 || processor_count >= 4;
+ // const bool has_8gb_ram = Common::GetMemInfo().TotalPhysicalMemory >= 8_GiB;
+ // const bool has_broken_vulkan = UISettings::values.has_broken_vulkan;
+
+ // if (!has_fma || !has_4threads || !has_8gb_ram || has_broken_vulkan) {
+ // QMessageBox::critical(this, tr("Hardware requirements not met"),
+ // tr("Your system does not meet the recommended hardware
+ // requirements. "
+ // "Compatibility reporting has been disabled."));
+ // return;
+ // }
+
+ // if (!Settings::values.eden_token.GetValue().empty() &&
+ // !Settings::values.eden_username.GetValue().empty()) {
+ // } else {
+ // QMessageBox::critical(
+ // this, tr("Missing yuzu Account"),
+ // tr("In order to submit a game compatibility test case, you must set up your web
+ // token "
+ // "and "
+ // "username.<br><br/>To link your eden account, go to Emulation &gt;
+ // Configuration "
+ // "&gt; "
+ // "Web."));
+ // }
+ // #else
+ // QMessageBox::critical(this, tr("Hardware requirements not met"),
+ // tr("Your system does not meet the recommended hardware
+ // requirements. "
+ // "Compatibility reporting has been disabled."));
+ // #endif
}
void MainWindow::OpenURL(const QUrl& url) {
@@ -3431,7 +3437,8 @@ void MainWindow::ToggleWindowMode() {
}
void MainWindow::ResetWindowSize(u32 width, u32 height) {
- const auto aspect_ratio = Layout::EmulationAspectRatio(Settings::values.aspect_ratio.GetValue(), float(height) / width);
+ const auto aspect_ratio = Layout::EmulationAspectRatio(Settings::values.aspect_ratio.GetValue(),
+ float(height) / width);
if (!ui->action_Single_Window_Mode->isChecked()) {
render_window->resize(height / aspect_ratio, height);
} else {
@@ -3488,7 +3495,8 @@ void MainWindow::CheckIconSize() {
for (size_t i = 0; i < default_game_icon_sizes.size(); i++) {
const auto current_size = newSize;
const auto size = default_game_icon_sizes[i].first;
- if (current_size == size) actions.at(i)->setChecked(true);
+ if (current_size == size)
+ actions.at(i)->setChecked(true);
}
// Update this if you add anything before None.
@@ -3499,7 +3507,7 @@ void MainWindow::CheckIconSize() {
}
void MainWindow::ToggleShowGameName() {
- auto &setting = UISettings::values.show_game_name;
+ auto& setting = UISettings::values.show_game_name;
const bool newValue = !setting.GetValue();
ui->action_Show_Game_Name->setChecked(newValue);
setting.SetValue(newValue);
@@ -3648,7 +3656,8 @@ void MainWindow::OnTasStartStop() {
}
// Disable system buttons to prevent TAS from executing a hotkey
- auto* controller = QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
+ auto* controller =
+ QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
controller->ResetSystemButtons();
input_subsystem->GetTas()->StartStop();
@@ -3664,7 +3673,8 @@ void MainWindow::OnTasRecord() {
}
// Disable system buttons to prevent TAS from recording a hotkey
- auto* controller = QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
+ auto* controller =
+ QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
controller->ResetSystemButtons();
const bool is_recording = input_subsystem->GetTas()->Record();
@@ -3690,8 +3700,10 @@ void MainWindow::OnTasReset() {
void MainWindow::OnToggleDockedMode() {
const bool is_docked = Settings::IsDockedMode();
- auto* player_1 = QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
- auto* handheld = QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld);
+ auto* player_1 =
+ QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
+ auto* handheld =
+ QtCommon::system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld);
if (!is_docked && handheld->IsConnected()) {
QMessageBox::warning(this, tr("Invalid config detected"),
@@ -3861,8 +3873,8 @@ void MainWindow::OnLoadAmiibo() {
// TODO(crueter): does this need to be ported to QML?
bool MainWindow::question(QWidget* parent, const QString& title, const QString& text,
- QMessageBox::StandardButtons buttons,
- QMessageBox::StandardButton defaultButton) {
+ QMessageBox::StandardButtons buttons,
+ QMessageBox::StandardButton defaultButton) {
QMessageBox* box_dialog = new QMessageBox(parent);
box_dialog->setWindowTitle(title);
box_dialog->setText(text);
@@ -3914,23 +3926,19 @@ void MainWindow::OnOpenRootDataFolder() {
QtCommon::Game::OpenRootDataFolder();
}
-void MainWindow::OnOpenNANDFolder()
-{
+void MainWindow::OnOpenNANDFolder() {
QtCommon::Game::OpenNANDFolder();
}
-void MainWindow::OnOpenSDMCFolder()
-{
+void MainWindow::OnOpenSDMCFolder() {
QtCommon::Game::OpenSDMCFolder();
}
-void MainWindow::OnOpenModFolder()
-{
+void MainWindow::OnOpenModFolder() {
QtCommon::Game::OpenModFolder();
}
-void MainWindow::OnOpenLogFolder()
-{
+void MainWindow::OnOpenLogFolder() {
QtCommon::Game::OpenLogFolder();
}
@@ -3993,7 +4001,8 @@ void MainWindow::OnInstallFirmwareFromZIP() {
if (!qCacheDir.isEmpty()) {
InstallFirmware(qCacheDir, true);
std::error_code ec;
- std::filesystem::remove_all(std::filesystem::temp_directory_path() / "eden" / "firmware", ec);
+ std::filesystem::remove_all(std::filesystem::temp_directory_path() / "eden" / "firmware",
+ ec);
if (ec) {
QMessageBox::warning(this, tr("Firmware cleanup failed"),
@@ -4061,13 +4070,15 @@ void MainWindow::OnGameListRefresh() {
SetFirmwareVersion();
}
-void MainWindow::LaunchFirmwareApplet(u64 raw_program_id, std::optional<Service::NFP::CabinetMode> cabinet_mode) {
+void MainWindow::LaunchFirmwareApplet(u64 raw_program_id,
+ std::optional<Service::NFP::CabinetMode> cabinet_mode) {
auto const program_id = Service::AM::AppletProgramId(raw_program_id);
auto result = FirmwareManager::VerifyFirmware(*QtCommon::system.get());
using namespace QtCommon::StringLookup;
switch (result) {
case FirmwareManager::ErrorFirmwareMissing:
- QMessageBox::warning(this, tr("No firmware available"), Lookup(FwCheckErrorFirmwareMissing));
+ QMessageBox::warning(this, tr("No firmware available"),
+ Lookup(FwCheckErrorFirmwareMissing));
return;
case FirmwareManager::ErrorFirmwareCorrupted:
QMessageBox::warning(this, tr("Firmware Corrupted"), Lookup(FwCheckErrorFirmwareCorrupted));
@@ -4076,33 +4087,58 @@ void MainWindow::LaunchFirmwareApplet(u64 raw_program_id, std::optional<Service:
break;
}
auto bis_system = QtCommon::system->GetFileSystemController().GetSystemNANDContents();
- if (auto applet_nca = bis_system->GetEntry(u64(program_id), FileSys::ContentRecordType::Program); applet_nca) {
- if (auto const applet_id = [program_id] {
- using namespace Service::AM;
- switch (program_id) {
- case AppletProgramId::OverlayDisplay: return AppletId::OverlayDisplay;
- case AppletProgramId::QLaunch: return AppletId::QLaunch;
- case AppletProgramId::Starter: return AppletId::Starter;
- case AppletProgramId::Auth: return AppletId::Auth;
- case AppletProgramId::Cabinet: return AppletId::Cabinet;
- case AppletProgramId::Controller: return AppletId::Controller;
- case AppletProgramId::DataErase: return AppletId::DataErase;
- case AppletProgramId::Error: return AppletId::Error;
- case AppletProgramId::NetConnect: return AppletId::NetConnect;
- case AppletProgramId::ProfileSelect: return AppletId::ProfileSelect;
- case AppletProgramId::SoftwareKeyboard: return AppletId::SoftwareKeyboard;
- case AppletProgramId::MiiEdit: return AppletId::MiiEdit;
- case AppletProgramId::Web: return AppletId::Web;
- case AppletProgramId::Shop: return AppletId::Shop;
- case AppletProgramId::PhotoViewer: return AppletId::PhotoViewer;
- case AppletProgramId::Settings: return AppletId::Settings;
- case AppletProgramId::OfflineWeb: return AppletId::OfflineWeb;
- case AppletProgramId::LoginShare: return AppletId::LoginShare;
- case AppletProgramId::WebAuth: return AppletId::WebAuth;
- case AppletProgramId::MyPage: return AppletId::MyPage;
- default: return AppletId::None;
- }
- }(); applet_id != Service::AM::AppletId::None) {
+ if (auto applet_nca =
+ bis_system->GetEntry(u64(program_id), FileSys::ContentRecordType::Program);
+ applet_nca) {
+ if (auto const applet_id =
+ [program_id] {
+ using namespace Service::AM;
+ switch (program_id) {
+ case AppletProgramId::OverlayDisplay:
+ return AppletId::OverlayDisplay;
+ case AppletProgramId::QLaunch:
+ return AppletId::QLaunch;
+ case AppletProgramId::Starter:
+ return AppletId::Starter;
+ case AppletProgramId::Auth:
+ return AppletId::Auth;
+ case AppletProgramId::Cabinet:
+ return AppletId::Cabinet;
+ case AppletProgramId::Controller:
+ return AppletId::Controller;
+ case AppletProgramId::DataErase:
+ return AppletId::DataErase;
+ case AppletProgramId::Error:
+ return AppletId::Error;
+ case AppletProgramId::NetConnect:
+ return AppletId::NetConnect;
+ case AppletProgramId::ProfileSelect:
+ return AppletId::ProfileSelect;
+ case AppletProgramId::SoftwareKeyboard:
+ return AppletId::SoftwareKeyboard;
+ case AppletProgramId::MiiEdit:
+ return AppletId::MiiEdit;
+ case AppletProgramId::Web:
+ return AppletId::Web;
+ case AppletProgramId::Shop:
+ return AppletId::Shop;
+ case AppletProgramId::PhotoViewer:
+ return AppletId::PhotoViewer;
+ case AppletProgramId::Settings:
+ return AppletId::Settings;
+ case AppletProgramId::OfflineWeb:
+ return AppletId::OfflineWeb;
+ case AppletProgramId::LoginShare:
+ return AppletId::LoginShare;
+ case AppletProgramId::WebAuth:
+ return AppletId::WebAuth;
+ case AppletProgramId::MyPage:
+ return AppletId::MyPage;
+ default:
+ return AppletId::None;
+ }
+ }();
+ applet_id != Service::AM::AppletId::None) {
QtCommon::system->GetFrontendAppletHolder().SetCurrentAppletId(applet_id);
if (cabinet_mode)
QtCommon::system->GetFrontendAppletHolder().SetCabinetMode(*cabinet_mode);
@@ -4111,10 +4147,12 @@ void MainWindow::LaunchFirmwareApplet(u64 raw_program_id, std::optional<Service:
UISettings::values.roms_path = QFileInfo(filename).path().toStdString();
BootGame(filename, LibraryAppletParameters(u64(program_id), applet_id));
} else {
- QMessageBox::warning(this, tr("Unknown applet"), tr("Applet doesn't map to a known value."));
+ QMessageBox::warning(this, tr("Unknown applet"),
+ tr("Applet doesn't map to a known value."));
}
} else {
- QMessageBox::warning(this, tr("Record not found"), tr("Applet not found. Please reinstall firmware."));
+ QMessageBox::warning(this, tr("Record not found"),
+ tr("Applet not found. Please reinstall firmware."));
}
}
@@ -4170,26 +4208,23 @@ void MainWindow::OnEmulatorUpdateAvailable() {
update_prompt.setIcon(QMessageBox::Information);
update_prompt.addButton(QMessageBox::Yes);
update_prompt.addButton(QMessageBox::Ignore);
- update_prompt.setText(
- tr("Download %1?").arg(QString::fromStdString(version->name)));
+ update_prompt.setText(tr("Download %1?").arg(QString::fromStdString(version->name)));
update_prompt.exec();
if (update_prompt.button(QMessageBox::Yes) == update_prompt.clickedButton()) {
- auto const full_url = fmt::format("{}/{}/releases/tag/",
- std::string{Common::g_build_auto_update_website},
- std::string{Common::g_build_auto_update_repo}
- );
+ auto const full_url =
+ fmt::format("{}/{}/releases/tag/", std::string{Common::g_build_auto_update_website},
+ std::string{Common::g_build_auto_update_repo});
QDesktopServices::openUrl(QUrl(QString::fromStdString(full_url + version->tag)));
}
}
#endif
-void MainWindow::UpdateWindowTitle(std::string_view title_name, std::string_view title_version, std::string_view gpu_vendor) {
+void MainWindow::UpdateWindowTitle(std::string_view title_name, std::string_view title_version,
+ std::string_view gpu_vendor) {
static const std::string build_id = std::string{Common::g_build_id};
- static const std::string yuzu_title = fmt::format("{} | {} | {}",
- std::string{Common::g_build_name},
- std::string{Common::g_build_version},
- std::string{Common::g_compiler_id}
- );
+ static const std::string yuzu_title =
+ fmt::format("{} | {} | {}", std::string{Common::g_build_name},
+ std::string{Common::g_build_version}, std::string{Common::g_compiler_id});
const auto override_title =
fmt::format(fmt::runtime(std::string(Common::g_title_bar_format_idle)), build_id);
@@ -4301,7 +4336,8 @@ void MainWindow::UpdateStatusBar() {
}
QString fpsText = tr("Game: %1 FPS").arg(std::round(results.average_game_fps), 0, 'f', 0);
- if (!m_fpsSuffix.isEmpty()) fpsText = fpsText % QStringLiteral(" (%1)").arg(m_fpsSuffix);
+ if (!m_fpsSuffix.isEmpty())
+ fpsText = fpsText % QStringLiteral(" (%1)").arg(m_fpsSuffix);
game_fps_label->setText(fpsText);
@@ -4444,7 +4480,9 @@ void MainWindow::OnCheckGraphicsBackend() {
if (platformName == QStringLiteral("xcb") || qtPlatform == "xcb")
return;
- const bool isWayland = platformName.startsWith(QStringLiteral("wayland"), Qt::CaseInsensitive) || qtPlatform.startsWith("wayland");
+ const bool isWayland =
+ platformName.startsWith(QStringLiteral("wayland"), Qt::CaseInsensitive) ||
+ qtPlatform.startsWith("wayland");
if (!isWayland)
return;
@@ -4454,9 +4492,10 @@ void MainWindow::OnCheckGraphicsBackend() {
QMessageBox msgbox(this);
msgbox.setWindowTitle(tr("Wayland Detected!"));
- msgbox.setText(tr("Wayland is known to have significant performance issues and mysterious bugs.\n"
- "It's recommended to use X11 instead.\n\n"
- "Would you like to force it for future launches?"));
+ msgbox.setText(
+ tr("Wayland is known to have significant performance issues and mysterious bugs.\n"
+ "It's recommended to use X11 instead.\n\n"
+ "Would you like to force it for future launches?"));
msgbox.setIcon(QMessageBox::Warning);
QPushButton* okButton = msgbox.addButton(tr("Use X11"), QMessageBox::AcceptRole);
@@ -4477,8 +4516,7 @@ void MainWindow::OnCheckGraphicsBackend() {
if (msgbox.clickedButton() == okButton) {
UISettings::values.gui_force_x11.SetValue(true);
GraphicsBackend::SetForceX11(true);
- QMessageBox::information(this,
- tr("Restart Required"),
+ QMessageBox::information(this, tr("Restart Required"),
tr("Restart Eden to apply the X11 backend."));
}
}
@@ -4530,7 +4568,7 @@ void MainWindow::SetFPSSuffix() {
}
bool MainWindow::SelectRomFSDumpTarget(const FileSys::ContentProvider& installed, u64 program_id,
- u64* selected_title_id, u8* selected_content_record_type) {
+ u64* selected_title_id, u8* selected_content_record_type) {
using ContentInfo = std::tuple<u64, FileSys::TitleType, FileSys::ContentRecordType>;
boost::container::flat_set<ContentInfo> available_title_ids;
@@ -4809,7 +4847,7 @@ void MainWindow::OnLanguageChanged(const QString& locale) {
qApp->removeTranslator(&translator);
}
- QList<QAction *> actions = game_size_actions->actions();
+ QList<QAction*> actions = game_size_actions->actions();
for (size_t i = 0; i < default_game_icon_sizes.size(); i++) {
actions.at(i)->setText(GetTranslatedGameIconSize(i));
}
diff --git a/src/yuzu/main_window.h b/src/yuzu/main_window.h
index bb58191951..e85aadaa3d 100644
--- a/src/yuzu/main_window.h
+++ b/src/yuzu/main_window.h
@@ -24,15 +24,15 @@
#include "input_common/drivers/tas_input.h"
#include "qt_common/config/qt_config.h"
#include "qt_common/util/game.h"
-#include "yuzu/user_data_migration.h"
#include "yuzu/compatibility_list.h"
#include "yuzu/hotkeys.h"
+#include "yuzu/user_data_migration.h"
#ifdef __unix__
#include <QDBusObjectPath>
+#include <QSocketNotifier>
#include <QVariant>
#include <QtDBus/QDBusInterface>
-#include <QSocketNotifier>
#endif
#ifdef ENABLE_UPDATE_CHECKER
@@ -218,9 +218,10 @@ signals:
void WebBrowserClosed(Service::AM::Frontend::WebExitReason exit_reason, std::string last_url);
void SigInterrupt();
- void sizeChanged(const QSize &size);
- void positionChanged(const QPoint &pos);
- void statsUpdated(const Core::PerfStatsResults &results, const VideoCore::ShaderNotify &shaders);
+ void sizeChanged(const QSize& size);
+ void positionChanged(const QPoint& pos);
+ void statsUpdated(const Core::PerfStatsResults& results,
+ const VideoCore::ShaderNotify& shaders);
public slots:
void OnLoadComplete();
@@ -317,8 +318,8 @@ private:
void RequestGameExit();
void changeEvent(QEvent* event) override;
void closeEvent(QCloseEvent* event) override;
- void resizeEvent(QResizeEvent *event) override;
- void moveEvent(QMoveEvent *event) override;
+ void resizeEvent(QResizeEvent* event) override;
+ void moveEvent(QMoveEvent* event) override;
std::string CreateTASFramesString(
std::array<size_t, InputCommon::TasInput::PLAYER_NUMBER> frames) const;
@@ -360,8 +361,7 @@ private slots:
void OnGameListCopyTID(u64 program_id);
void OnGameListNavigateToGamedbEntry(u64 program_id,
const CompatibilityList& compatibility_list);
- void OnGameListCreateShortcut(u64 program_id,
- const std::string& game_path,
+ void OnGameListCreateShortcut(u64 program_id, const std::string& game_path,
const QtCommon::Game::ShortcutTarget target);
void OnGameListOpenDirectory(const QString& directory);
void OnGameListAddDirectory();
@@ -483,7 +483,7 @@ private:
*/
bool question(QWidget* parent, const QString& title, const QString& text,
QMessageBox::StandardButtons buttons =
- QMessageBox::StandardButtons(QMessageBox::Yes | QMessageBox::No),
+ QMessageBox::StandardButtons(QMessageBox::Yes | QMessageBox::No),
QMessageBox::StandardButton defaultButton = QMessageBox::NoButton);
std::unique_ptr<Ui::MainWindow> ui;
@@ -504,7 +504,7 @@ private:
LoadingScreen* loading_screen = nullptr;
QTimer shutdown_timer;
OverlayDialog* shutdown_dialog{};
- PerformanceOverlay *perf_overlay = nullptr;
+ PerformanceOverlay* perf_overlay = nullptr;
GameListPlaceholder* game_list_placeholder = nullptr;
@@ -551,7 +551,7 @@ private:
QString startup_icon_theme;
- QActionGroup *game_size_actions;
+ QActionGroup* game_size_actions;
// Debugger panes
ControllerDialog* controller_dialog = nullptr;
@@ -595,12 +595,9 @@ private:
std::filesystem::path GetEdenCommand();
- void CreateShortcut(const std::string& game_path,
- const u64 program_id,
- const std::string& game_title,
- QtCommon::Game::ShortcutTarget target,
- std::string arguments,
- const bool needs_title);
+ void CreateShortcut(const std::string& game_path, const u64 program_id,
+ const std::string& game_title, QtCommon::Game::ShortcutTarget target,
+ std::string arguments, const bool needs_title);
void InstallFirmware(const QString& location, bool recursive = false);
diff --git a/src/yuzu/migration_dialog.cpp b/src/yuzu/migration_dialog.cpp
index 9cc40841e8..ba6a14b156 100644
--- a/src/yuzu/migration_dialog.cpp
+++ b/src/yuzu/migration_dialog.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
#include "migration_dialog.h"
#include <QApplication>
@@ -6,11 +9,8 @@
#include <QPushButton>
#include <QStyle>
-MigrationDialog::MigrationDialog(
- QWidget *parent)
- : QDialog(parent)
-{
- QVBoxLayout *layout = new QVBoxLayout(this);
+MigrationDialog::MigrationDialog(QWidget* parent) : QDialog(parent) {
+ QVBoxLayout* layout = new QVBoxLayout(this);
m_text = new QLabel(this);
m_boxes = new QVBoxLayout;
@@ -26,23 +26,16 @@ MigrationDialog::~MigrationDialog() {
m_buttons->deleteLater();
}
-void MigrationDialog::setText(
- const QString &text)
-{
+void MigrationDialog::setText(const QString& text) {
m_text->setText(text);
}
-void MigrationDialog::addBox(
- QWidget *box)
-{
+void MigrationDialog::addBox(QWidget* box) {
m_boxes->addWidget(box);
-
}
-QAbstractButton *MigrationDialog::addButton(
- const QString &text, const bool reject)
-{
- QAbstractButton *button = new QPushButton(this);
+QAbstractButton* MigrationDialog::addButton(const QString& text, const bool reject) {
+ QAbstractButton* button = new QPushButton(this);
button->setText(text);
m_buttons->addWidget(button, 1);
@@ -58,7 +51,6 @@ QAbstractButton *MigrationDialog::addButton(
return button;
}
-QAbstractButton *MigrationDialog::clickedButton() const
-{
+QAbstractButton* MigrationDialog::clickedButton() const {
return m_clickedButton;
}
diff --git a/src/yuzu/migration_dialog.h b/src/yuzu/migration_dialog.h
index 7123fd6b87..a2a2c80358 100644
--- a/src/yuzu/migration_dialog.h
+++ b/src/yuzu/migration_dialog.h
@@ -1,30 +1,33 @@
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
#ifndef MIGRATION_DIALOG_H
#define MIGRATION_DIALOG_H
-#include <QMessageBox>
-#include <QWidget>
#include <QHBoxLayout>
+#include <QMessageBox>
#include <QVBoxLayout>
+#include <QWidget>
class MigrationDialog : public QDialog {
Q_OBJECT
public:
- MigrationDialog(QWidget *parent = nullptr);
+ MigrationDialog(QWidget* parent = nullptr);
virtual ~MigrationDialog();
- void setText(const QString &text);
- void addBox(QWidget *box);
- QAbstractButton *addButton(const QString &text, const bool reject = false);
+ void setText(const QString& text);
+ void addBox(QWidget* box);
+ QAbstractButton* addButton(const QString& text, const bool reject = false);
- QAbstractButton *clickedButton() const;
+ QAbstractButton* clickedButton() const;
private:
- QLabel *m_text;
- QVBoxLayout *m_boxes;
- QHBoxLayout *m_buttons;
+ QLabel* m_text;
+ QVBoxLayout* m_boxes;
+ QHBoxLayout* m_buttons;
- QAbstractButton *m_clickedButton;
+ QAbstractButton* m_clickedButton;
};
#endif // MIGRATION_DIALOG_H
diff --git a/src/yuzu/migration_worker.cpp b/src/yuzu/migration_worker.cpp
index 0149db4149..ba5e50e187 100644
--- a/src/yuzu/migration_worker.cpp
+++ b/src/yuzu/migration_worker.cpp
@@ -1,27 +1,22 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
-#include "migration_worker.h"
#include "common/fs/symlink.h"
+#include "migration_worker.h"
+#include <filesystem>
#include <QMap>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/replace.hpp>
-#include <filesystem>
#include "common/fs/path_util.h"
-MigrationWorker::MigrationWorker(const Emulator selected_emu_,
- const bool clear_shader_cache_,
+MigrationWorker::MigrationWorker(const Emulator selected_emu_, const bool clear_shader_cache_,
const MigrationStrategy strategy_)
- : QObject()
- , selected_emu(selected_emu_)
- , clear_shader_cache(clear_shader_cache_)
- , strategy(strategy_)
-{}
-
-void MigrationWorker::process()
-{
+ : QObject(), selected_emu(selected_emu_), clear_shader_cache(clear_shader_cache_),
+ strategy(strategy_) {}
+
+void MigrationWorker::process() {
namespace fs = std::filesystem;
constexpr auto copy_options = fs::copy_options::update_existing | fs::copy_options::recursive;
@@ -42,7 +37,7 @@ void MigrationWorker::process()
try {
fs::remove_all(eden_dir);
- } catch (fs::filesystem_error &_) {
+ } catch (fs::filesystem_error& _) {
// ignore because linux does stupid crap sometimes
}
@@ -53,7 +48,7 @@ void MigrationWorker::process()
// Windows 11 has random permission nonsense to deal with.
try {
Common::FS::CreateSymlink(legacy_user_dir, eden_dir);
- } catch (const fs::filesystem_error &e) {
+ } catch (const fs::filesystem_error& e) {
emit error(tr("Linking the old directory failed. You may need to re-run with "
"administrative privileges on Windows.\nOS gave error: %1")
.arg(tr(e.what())));
@@ -74,8 +69,7 @@ void MigrationWorker::process()
success_text.append(tr("\n\nNote that your configuration and data will be shared with %1.\n"
"If this is not desirable, delete the following files:\n%2\n%3\n%4")
- .arg(selected_emu.name(),
- QString::fromStdString(eden_dir.string()),
+ .arg(selected_emu.name(), QString::fromStdString(eden_dir.string()),
QString::fromStdString(config_dir.string()),
QString::fromStdString(cache_dir.string())));
diff --git a/src/yuzu/migration_worker.h b/src/yuzu/migration_worker.h
index 2db05570ea..42abedb9c8 100644
--- a/src/yuzu/migration_worker.h
+++ b/src/yuzu/migration_worker.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef MIGRATION_WORKER_H
@@ -8,7 +8,7 @@
#include "common/fs/path_util.h"
typedef struct Emulator {
- const char *m_name;
+ const char* m_name;
Common::FS::EmuPath e_user_dir;
Common::FS::EmuPath e_config_dir;
@@ -26,14 +26,20 @@ typedef struct Emulator {
return Common::FS::GetLegacyPath(e_cache_dir).string();
}
- const QString name() const { return QObject::tr(m_name);
+ const QString name() const {
+ return QObject::tr(m_name);
}
- const QString lower_name() const { return name().toLower();
+ const QString lower_name() const {
+ return name().toLower();
}
} Emulator;
-#define STRUCT_EMU(name, enumName) Emulator{name, Common::FS::enumName##Dir, Common::FS::enumName##ConfigDir, Common::FS::enumName##CacheDir}
+#define STRUCT_EMU(name, enumName) \
+ Emulator { \
+ name, Common::FS::enumName##Dir, Common::FS::enumName##ConfigDir, \
+ Common::FS::enumName##CacheDir \
+ }
static constexpr std::array<Emulator, 4> legacy_emus = {
STRUCT_EMU(QT_TR_NOOP("Citron"), Citron),
@@ -42,8 +48,7 @@ static constexpr std::array<Emulator, 4> legacy_emus = {
STRUCT_EMU(QT_TR_NOOP("Yuzu"), Yuzu),
};
-class MigrationWorker : public QObject
-{
+class MigrationWorker : public QObject {
Q_OBJECT
public:
enum class MigrationStrategy {
@@ -52,16 +57,15 @@ public:
Link,
};
- MigrationWorker(const Emulator selected_emu,
- const bool clear_shader_cache,
+ MigrationWorker(const Emulator selected_emu, const bool clear_shader_cache,
const MigrationStrategy strategy);
public slots:
void process();
signals:
- void finished(const QString &success_text, const std::string &user_dir);
- void error(const QString &error_message);
+ void finished(const QString& success_text, const std::string& user_dir);
+ void error(const QString& error_message);
private:
Emulator selected_emu;
diff --git a/src/yuzu/multiplayer/chat_room.h b/src/yuzu/multiplayer/chat_room.h
index a94683ef58..44ec8952d1 100644
--- a/src/yuzu/multiplayer/chat_room.h
+++ b/src/yuzu/multiplayer/chat_room.h
@@ -6,11 +6,11 @@
#pragma once
#include <memory>
-#include <ankerl/unordered_dense.h>
#include <QDialog>
#include <QSortFilterProxyModel>
#include <QStandardItemModel>
#include <QVariant>
+#include <ankerl/unordered_dense.h>
#include "network/network.h"
namespace Ui {
diff --git a/src/yuzu/multiplayer/direct_connect.cpp b/src/yuzu/multiplayer/direct_connect.cpp
index 486ab28213..eea906f16d 100644
--- a/src/yuzu/multiplayer/direct_connect.cpp
+++ b/src/yuzu/multiplayer/direct_connect.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
@@ -14,6 +14,7 @@
#include "core/core.h"
#include "core/internal_network/network_interface.h"
#include "network/network.h"
+#include "qt_common/config/uisettings.h"
#include "ui_direct_connect.h"
#include "yuzu/main_window.h"
#include "yuzu/multiplayer/client_room.h"
@@ -21,7 +22,6 @@
#include "yuzu/multiplayer/message.h"
#include "yuzu/multiplayer/state.h"
#include "yuzu/multiplayer/validation.h"
-#include "qt_common/config/uisettings.h"
enum class ConnectionType : u8 { TraversalServer, IP };
diff --git a/src/yuzu/multiplayer/host_room.cpp b/src/yuzu/multiplayer/host_room.cpp
index 3e5e42e442..65afcc3b7c 100644
--- a/src/yuzu/multiplayer/host_room.cpp
+++ b/src/yuzu/multiplayer/host_room.cpp
@@ -18,6 +18,7 @@
#include "core/core.h"
#include "core/internal_network/network_interface.h"
#include "network/announce_multiplayer_session.h"
+#include "qt_common/config/uisettings.h"
#include "ui_host_room.h"
#include "yuzu/game/game_list_p.h"
#include "yuzu/main_window.h"
@@ -25,7 +26,6 @@
#include "yuzu/multiplayer/message.h"
#include "yuzu/multiplayer/state.h"
#include "yuzu/multiplayer/validation.h"
-#include "qt_common/config/uisettings.h"
#ifdef ENABLE_WEB_SERVICE
#include "web_service/verify_user_jwt.h"
#endif
@@ -34,8 +34,7 @@ HostRoomWindow::HostRoomWindow(QWidget* parent, QStandardItemModel* list,
std::shared_ptr<Core::AnnounceMultiplayerSession> session,
Core::System& system_)
: QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint),
- ui(std::make_unique<Ui::HostRoom>()),
- announce_multiplayer_session(session), system{system_} {
+ ui(std::make_unique<Ui::HostRoom>()), announce_multiplayer_session(session), system{system_} {
ui->setupUi(this);
// set up validation for all of the fields
diff --git a/src/yuzu/multiplayer/lobby.cpp b/src/yuzu/multiplayer/lobby.cpp
index f28374f75f..8c435af8b6 100644
--- a/src/yuzu/multiplayer/lobby.cpp
+++ b/src/yuzu/multiplayer/lobby.cpp
@@ -13,6 +13,7 @@
#include "core/hle/service/acc/profile_manager.h"
#include "core/internal_network/network_interface.h"
#include "network/network.h"
+#include "qt_common/config/uisettings.h"
#include "ui_lobby.h"
#include "yuzu/game/game_list_p.h"
#include "yuzu/main_window.h"
@@ -22,7 +23,6 @@
#include "yuzu/multiplayer/message.h"
#include "yuzu/multiplayer/state.h"
#include "yuzu/multiplayer/validation.h"
-#include "qt_common/config/uisettings.h"
#ifdef ENABLE_WEB_SERVICE
#include "web_service/web_backend.h"
#endif
@@ -30,8 +30,7 @@
Lobby::Lobby(QWidget* parent, QStandardItemModel* list,
std::shared_ptr<Core::AnnounceMultiplayerSession> session, Core::System& system_)
: QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint),
- ui(std::make_unique<Ui::Lobby>()),
- announce_multiplayer_session(session), system{system_} {
+ ui(std::make_unique<Ui::Lobby>()), announce_multiplayer_session(session), system{system_} {
ui->setupUi(this);
// setup the watcher for background connections
diff --git a/src/yuzu/multiplayer/state.cpp b/src/yuzu/multiplayer/state.cpp
index c344bcb8a3..b5f2326b44 100644
--- a/src/yuzu/multiplayer/state.cpp
+++ b/src/yuzu/multiplayer/state.cpp
@@ -11,6 +11,7 @@
#include "common/announce_multiplayer_room.h"
#include "common/logging/log.h"
#include "core/core.h"
+#include "qt_common/config/uisettings.h"
#include "yuzu/game/game_list.h"
#include "yuzu/multiplayer/client_room.h"
#include "yuzu/multiplayer/direct_connect.h"
@@ -18,7 +19,6 @@
#include "yuzu/multiplayer/lobby.h"
#include "yuzu/multiplayer/message.h"
#include "yuzu/multiplayer/state.h"
-#include "qt_common/config/uisettings.h"
#include "yuzu/util/clickable_label.h"
MultiplayerState::MultiplayerState(QWidget* parent, QStandardItemModel* game_list_model_,
diff --git a/src/yuzu/render/performance_overlay.h b/src/yuzu/render/performance_overlay.h
index 1d7fb46f26..a0325a10a3 100644
--- a/src/yuzu/render/performance_overlay.h
+++ b/src/yuzu/render/performance_overlay.h
@@ -34,13 +34,13 @@ protected:
void mousePressEvent(QMouseEvent* event) override;
void mouseMoveEvent(QMouseEvent* event) override;
- void closeEvent(QCloseEvent *event) override;
+ void closeEvent(QCloseEvent* event) override;
private:
void resetPosition(const QPoint& pos);
- void updateStats(const Core::PerfStatsResults &results, const VideoCore::ShaderNotify &shaders);
+ void updateStats(const Core::PerfStatsResults& results, const VideoCore::ShaderNotify& shaders);
- MainWindow *m_mainWindow = nullptr;
+ MainWindow* m_mainWindow = nullptr;
Ui::PerformanceOverlay* ui;
// colors
@@ -62,11 +62,11 @@ private:
QPoint m_drag_start_pos;
// fps chart
- QLineSeries *m_fpsSeries = nullptr;
- QChart *m_fpsChart = nullptr;
- QChartView *m_fpsChartView = nullptr;
- QValueAxis *m_fpsX = nullptr;
- QValueAxis *m_fpsY = nullptr;
+ QLineSeries* m_fpsSeries = nullptr;
+ QChart* m_fpsChart = nullptr;
+ QChartView* m_fpsChartView = nullptr;
+ QValueAxis* m_fpsX = nullptr;
+ QValueAxis* m_fpsY = nullptr;
signals:
void closed();
diff --git a/src/yuzu/ryujinx_dialog.cpp b/src/yuzu/ryujinx_dialog.cpp
index 563714f6be..f52f37b297 100644
--- a/src/yuzu/ryujinx_dialog.cpp
+++ b/src/yuzu/ryujinx_dialog.cpp
@@ -1,20 +1,16 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
+#include <filesystem>
#include "qt_common/abstract/frontend.h"
-#include "ryujinx_dialog.h"
#include "qt_common/util/fs.h"
+#include "ryujinx_dialog.h"
#include "ui_ryujinx_dialog.h"
-#include <filesystem>
-RyujinxDialog::RyujinxDialog(std::filesystem::path eden_path,
- std::filesystem::path ryu_path,
- QWidget *parent)
- : QDialog(parent)
- , ui(new Ui::RyujinxDialog)
- , m_eden(eden_path.make_preferred())
- , m_ryu(ryu_path.make_preferred())
-{
+RyujinxDialog::RyujinxDialog(std::filesystem::path eden_path, std::filesystem::path ryu_path,
+ QWidget* parent)
+ : QDialog(parent), ui(new Ui::RyujinxDialog), m_eden(eden_path.make_preferred()),
+ m_ryu(ryu_path.make_preferred()) {
ui->setupUi(this);
connect(ui->eden, &QPushButton::clicked, this, &RyujinxDialog::fromEden);
@@ -22,13 +18,11 @@ RyujinxDialog::RyujinxDialog(std::filesystem::path eden_path,
connect(ui->cancel, &QPushButton::clicked, this, &RyujinxDialog::reject);
}
-RyujinxDialog::~RyujinxDialog()
-{
+RyujinxDialog::~RyujinxDialog() {
delete ui;
}
-void RyujinxDialog::fromEden()
-{
+void RyujinxDialog::fromEden() {
accept();
// Workaround: Ryujinx deletes and re-creates its directory structure???
@@ -38,17 +32,17 @@ void RyujinxDialog::fromEden()
fs::remove_all(m_ryu);
fs::create_directories(m_ryu);
fs::copy(m_eden, m_ryu, fs::copy_options::recursive);
- } catch (std::exception &e) {
- QtCommon::Frontend::Critical(tr("Failed to link save data"),
- tr("OS returned error: %1").arg(QString::fromStdString(e.what())));
+ } catch (std::exception& e) {
+ QtCommon::Frontend::Critical(
+ tr("Failed to link save data"),
+ tr("OS returned error: %1").arg(QString::fromStdString(e.what())));
}
// ?ploo
QtCommon::FS::LinkRyujinx(m_ryu, m_eden);
}
-void RyujinxDialog::fromRyujinx()
-{
+void RyujinxDialog::fromRyujinx() {
accept();
QtCommon::FS::LinkRyujinx(m_ryu, m_eden);
}
diff --git a/src/yuzu/ryujinx_dialog.h b/src/yuzu/ryujinx_dialog.h
index 63cebe483c..c067499cc1 100644
--- a/src/yuzu/ryujinx_dialog.h
+++ b/src/yuzu/ryujinx_dialog.h
@@ -1,22 +1,22 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef RYUJINX_DIALOG_H
#define RYUJINX_DIALOG_H
-#include <QDialog>
#include <filesystem>
+#include <QDialog>
namespace Ui {
class RyujinxDialog;
}
-class RyujinxDialog : public QDialog
-{
+class RyujinxDialog : public QDialog {
Q_OBJECT
public:
- explicit RyujinxDialog(std::filesystem::path eden_path, std::filesystem::path ryu_path, QWidget *parent = nullptr);
+ explicit RyujinxDialog(std::filesystem::path eden_path, std::filesystem::path ryu_path,
+ QWidget* parent = nullptr);
~RyujinxDialog();
private slots:
@@ -24,7 +24,7 @@ private slots:
void fromRyujinx();
private:
- Ui::RyujinxDialog *ui;
+ Ui::RyujinxDialog* ui;
std::filesystem::path m_eden;
std::filesystem::path m_ryu;
};
diff --git a/src/yuzu/set_play_time_dialog.cpp b/src/yuzu/set_play_time_dialog.cpp
index c0f1f0be22..38876abd6d 100644
--- a/src/yuzu/set_play_time_dialog.cpp
+++ b/src/yuzu/set_play_time_dialog.cpp
@@ -1,20 +1,23 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
-#include "yuzu/set_play_time_dialog.h"
#include "frontend_common/play_time_manager.h"
#include "ui_set_play_time_dialog.h"
+#include "yuzu/set_play_time_dialog.h"
SetPlayTimeDialog::SetPlayTimeDialog(QWidget* parent, u64 current_play_time)
: QDialog(parent), ui{std::make_unique<Ui::SetPlayTimeDialog>()} {
ui->setupUi(this);
ui->hoursSpinBox->setValue(
- QString::fromStdString(PlayTime::PlayTimeManager::GetPlayTimeHours(current_play_time)).toInt());
+ QString::fromStdString(PlayTime::PlayTimeManager::GetPlayTimeHours(current_play_time))
+ .toInt());
ui->minutesSpinBox->setValue(
- QString::fromStdString(PlayTime::PlayTimeManager::GetPlayTimeMinutes(current_play_time)).toInt());
+ QString::fromStdString(PlayTime::PlayTimeManager::GetPlayTimeMinutes(current_play_time))
+ .toInt());
ui->secondsSpinBox->setValue(
- QString::fromStdString(PlayTime::PlayTimeManager::GetPlayTimeSeconds(current_play_time)).toInt());
+ QString::fromStdString(PlayTime::PlayTimeManager::GetPlayTimeSeconds(current_play_time))
+ .toInt());
connect(ui->hoursSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this,
&SetPlayTimeDialog::OnValueChanged);
diff --git a/src/yuzu/set_play_time_dialog.h b/src/yuzu/set_play_time_dialog.h
index 75513539e5..a66ceb7ced 100644
--- a/src/yuzu/set_play_time_dialog.h
+++ b/src/yuzu/set_play_time_dialog.h
@@ -1,10 +1,10 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include <QDialog>
#include <memory>
+#include <QDialog>
#include "common/common_types.h"
namespace Ui {
diff --git a/src/yuzu/user_data_migration.cpp b/src/yuzu/user_data_migration.cpp
index bc31c99e30..da8b0847c7 100644
--- a/src/yuzu/user_data_migration.cpp
+++ b/src/yuzu/user_data_migration.cpp
@@ -1,42 +1,41 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include "user_data_migration.h"
#include <QMessageBox>
#include <QPushButton>
#include <QString>
#include <QTranslator>
#include "common/fs/path_util.h"
#include "qt_common/qt_string_lookup.h"
+#include "user_data_migration.h"
#include "yuzu/migration_dialog.h"
// Needs to be included at the end due to https://bugreports.qt.io/browse/QTBUG-73263
+#include <filesystem>
#include <QButtonGroup>
#include <QCheckBox>
#include <QGuiApplication>
#include <QProgressDialog>
#include <QRadioButton>
#include <QThread>
-#include <filesystem>
-UserDataMigrator::UserDataMigrator(QMainWindow *main_window)
-{
+UserDataMigrator::UserDataMigrator(QMainWindow* main_window) {
// NOTE: Logging is not initialized yet, do not produce logs here.
// Check migration if config directory does not exist
- // TODO: ProfileManager messes with us a bit here, and force-creates the /nand/system/save/8000000000000010/su/avators/profiles.dat
- // file. Find a way to reorder operations and have it create after this guy runs.
+ // TODO: ProfileManager messes with us a bit here, and force-creates the
+ // /nand/system/save/8000000000000010/su/avators/profiles.dat file. Find a way to reorder
+ // operations and have it create after this guy runs.
if (!std::filesystem::is_directory(Common::FS::GetEdenPath(Common::FS::EdenPath::ConfigDir))) {
ShowMigrationPrompt(main_window);
}
}
-void UserDataMigrator::ShowMigrationPrompt(QMainWindow *main_window)
-{
+void UserDataMigrator::ShowMigrationPrompt(QMainWindow* main_window) {
namespace fs = std::filesystem;
using namespace QtCommon::StringLookup;
@@ -44,35 +43,36 @@ void UserDataMigrator::ShowMigrationPrompt(QMainWindow *main_window)
migration_prompt.setWindowTitle(QObject::tr("Migration"));
// mutually exclusive
- QButtonGroup *group = new QButtonGroup(&migration_prompt);
+ QButtonGroup* group = new QButtonGroup(&migration_prompt);
// MACRO MADNESS
-#define BUTTON(clazz, name, text, tooltip, checkState) \
- clazz *name = new clazz(&migration_prompt); \
- name->setText(text); \
- name->setToolTip(Lookup(tooltip)); \
- name->setChecked(checkState); \
+#define BUTTON(clazz, name, text, tooltip, checkState) \
+ clazz* name = new clazz(&migration_prompt); \
+ name->setText(text); \
+ name->setToolTip(Lookup(tooltip)); \
+ name->setChecked(checkState); \
migration_prompt.addBox(name);
- BUTTON(QCheckBox, clear_shaders, QObject::tr("Clear Shader Cache"), MigrationTooltipClearShader, true)
+ BUTTON(QCheckBox, clear_shaders, QObject::tr("Clear Shader Cache"), MigrationTooltipClearShader,
+ true)
u32 id = 0;
-#define RADIO(name, text, tooltip, checkState) \
- BUTTON(QRadioButton, name, text, tooltip, checkState) \
+#define RADIO(name, text, tooltip, checkState) \
+ BUTTON(QRadioButton, name, text, tooltip, checkState) \
group->addButton(name, ++id);
- RADIO(keep_old, QObject::tr("Keep Old Data"), MigrationTooltipKeepOld, true)
+ RADIO(keep_old, QObject::tr("Keep Old Data"), MigrationTooltipKeepOld, true)
RADIO(clear_old, QObject::tr("Clear Old Data"), MigrationTooltipClearOld, false)
- RADIO(link_old, QObject::tr("Link Old Directory"), MigrationTooltipLinkOld, false)
+ RADIO(link_old, QObject::tr("Link Old Directory"), MigrationTooltipLinkOld, false)
#undef RADIO
#undef BUTTON
std::vector<Emulator> found{};
- for (const Emulator &emu : legacy_emus)
+ for (const Emulator& emu : legacy_emus)
if (fs::is_directory(emu.get_user_dir()))
found.emplace_back(emu);
@@ -86,10 +86,10 @@ void UserDataMigrator::ShowMigrationPrompt(QMainWindow *main_window)
QString prompt_text = Lookup(MigrationPromptPrefix);
// natural language processing is a nightmare
- for (const Emulator &emu : found) {
+ for (const Emulator& emu : found) {
prompt_text = prompt_text % QStringLiteral("\n ") % emu.name();
- QAbstractButton *button = migration_prompt.addButton(emu.name());
+ QAbstractButton* button = migration_prompt.addButton(emu.name());
// This is cursed, but it's actually the most efficient way by a mile
button->setProperty("emulator", QVariant::fromValue(emu));
@@ -103,26 +103,22 @@ void UserDataMigrator::ShowMigrationPrompt(QMainWindow *main_window)
migration_prompt.exec();
- QAbstractButton *button = migration_prompt.clickedButton();
+ QAbstractButton* button = migration_prompt.clickedButton();
if (button->text() == QObject::tr("No")) {
return ShowMigrationCancelledMessage(main_window);
}
- MigrationWorker::MigrationStrategy strategy = static_cast<MigrationWorker::MigrationStrategy>(
- group->checkedId());
+ MigrationWorker::MigrationStrategy strategy =
+ static_cast<MigrationWorker::MigrationStrategy>(group->checkedId());
selected_emu = button->property("emulator").value<Emulator>();
- MigrateUserData(main_window,
- clear_shaders->isChecked(),
- strategy);
+ MigrateUserData(main_window, clear_shaders->isChecked(), strategy);
}
-void UserDataMigrator::ShowMigrationCancelledMessage(QMainWindow *main_window)
-{
- QMessageBox::information(main_window,
- QObject::tr("Migration"),
+void UserDataMigrator::ShowMigrationCancelledMessage(QMainWindow* main_window) {
+ QMessageBox::information(main_window, QObject::tr("Migration"),
QObject::tr("You can manually re-trigger this prompt by deleting the "
"new config directory:\n%1")
.arg(QString::fromStdString(Common::FS::GetEdenPathString(
@@ -130,33 +126,27 @@ void UserDataMigrator::ShowMigrationCancelledMessage(QMainWindow *main_window)
QMessageBox::Ok);
}
-void UserDataMigrator::MigrateUserData(QMainWindow *main_window,
- const bool clear_shader_cache,
- const MigrationWorker::MigrationStrategy strategy)
-{
+void UserDataMigrator::MigrateUserData(QMainWindow* main_window, const bool clear_shader_cache,
+ const MigrationWorker::MigrationStrategy strategy) {
// Create a dialog to let the user know it's migrating
- QProgressDialog *progress = new QProgressDialog(main_window);
+ QProgressDialog* progress = new QProgressDialog(main_window);
progress->setWindowTitle(QObject::tr("Migrating"));
progress->setLabelText(QObject::tr("Migrating, this may take a while..."));
progress->setRange(0, 0);
progress->setCancelButton(nullptr);
progress->setWindowModality(Qt::WindowModality::ApplicationModal);
- QThread *thread = new QThread(main_window);
- MigrationWorker *worker = new MigrationWorker(selected_emu, clear_shader_cache, strategy);
+ QThread* thread = new QThread(main_window);
+ MigrationWorker* worker = new MigrationWorker(selected_emu, clear_shader_cache, strategy);
worker->moveToThread(thread);
thread->connect(thread, &QThread::started, worker, &MigrationWorker::process);
- thread->connect(worker,
- &MigrationWorker::finished,
- progress,
- [=, this](const QString &success_text, const std::string &path) {
+ thread->connect(worker, &MigrationWorker::finished, progress,
+ [=, this](const QString& success_text, const std::string& path) {
progress->close();
- QMessageBox::information(main_window,
- QObject::tr("Migration"),
- success_text,
- QMessageBox::Ok);
+ QMessageBox::information(main_window, QObject::tr("Migration"),
+ success_text, QMessageBox::Ok);
migrated = true;
thread->quit();
diff --git a/src/yuzu/user_data_migration.h b/src/yuzu/user_data_migration.h
index 1cfeda3bca..df8057eaa5 100644
--- a/src/yuzu/user_data_migration.h
+++ b/src/yuzu/user_data_migration.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// Copyright Citra Emulator Project / Azahar Emulator Project
@@ -21,7 +21,6 @@ public:
private:
void ShowMigrationPrompt(QMainWindow* main_window);
void ShowMigrationCancelledMessage(QMainWindow* main_window);
- void MigrateUserData(QMainWindow* main_window,
- const bool clear_shader_cache,
+ void MigrateUserData(QMainWindow* main_window, const bool clear_shader_cache,
const MigrationWorker::MigrationStrategy strategy);
};
diff --git a/src/yuzu/util/util.cpp b/src/yuzu/util/util.cpp
index 307f121a49..3e9ebc2ad2 100644
--- a/src/yuzu/util/util.cpp
+++ b/src/yuzu/util/util.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2015 Citra Emulator Project
@@ -157,11 +157,11 @@ const std::optional<Common::UUID> GetProfileID() {
const auto select_profile = [] {
const Core::Frontend::ProfileSelectParameters parameters{
- .mode = Service::AM::Frontend::UiMode::UserSelector,
- .invalid_uid_list = {},
- .display_options = {},
- .purpose = Service::AM::Frontend::UserSelectionPurpose::General,
- };
+ .mode = Service::AM::Frontend::UiMode::UserSelector,
+ .invalid_uid_list = {},
+ .display_options = {},
+ .purpose = Service::AM::Frontend::UserSelectionPurpose::General,
+ };
QtProfileSelectionDialog dialog(*QtCommon::system, QtCommon::rootObject, parameters);
dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint |
Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint);
diff --git a/src/yuzu/vk_device_info.cpp b/src/yuzu/vk_device_info.cpp
index 45faecb95d..2b87ccd3ca 100644
--- a/src/yuzu/vk_device_info.cpp
+++ b/src/yuzu/vk_device_info.cpp
@@ -62,12 +62,13 @@ void PopulateRecords(std::vector<Record>& records, QWindow* window) try {
const auto driverID = driver_properties.driverID;
- bool has_broken_compute{Vulkan::Device::CheckBrokenCompute(
- driverID, properties.properties.driverVersion)};
+ bool has_broken_compute{
+ Vulkan::Device::CheckBrokenCompute(driverID, properties.properties.driverVersion)};
std::string driver_string = Vulkan::vk::GetDriverName(driver_properties);
- if (driver_string.empty()) driver_string = "Unknown";
+ if (driver_string.empty())
+ driver_string = "Unknown";
name = fmt::format("{} ({})", name, driver_string);