From 55a77973782d1e74c5beec65b3dc5b61ddb37ef4 Mon Sep 17 00:00:00 2001 From: crueter Date: Sun, 13 Jul 2025 03:39:01 +0200 Subject: [PATCH] [desktop] add options to open root, NAND, SDMC, load, and log dirs (#53) Signed-off-by: crueter Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/53 --- src/yuzu/configuration/configure_debug.ui | 14 ++++---- src/yuzu/main.cpp | 35 +++++++++++++++++-- src/yuzu/main.h | 6 +++- src/yuzu/main.ui | 42 +++++++++++++++++++---- 4 files changed, 80 insertions(+), 17 deletions(-) diff --git a/src/yuzu/configuration/configure_debug.ui b/src/yuzu/configuration/configure_debug.ui index 155dac412b..5408d485b4 100644 --- a/src/yuzu/configuration/configure_debug.ui +++ b/src/yuzu/configuration/configure_debug.ui @@ -157,13 +157,6 @@ Logging - - - - Open Log Location - - - @@ -224,6 +217,13 @@ + + + + Open Log Location + + + diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 13d2373f5d..4ff59291e5 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -1674,7 +1674,12 @@ void GMainWindow::ConnectMenuEvents() { connect_menu(ui->action_Configure_Tas, &GMainWindow::OnConfigureTas); // Help - connect_menu(ui->action_Open_yuzu_Folder, &GMainWindow::OnOpenYuzuFolder); + connect_menu(ui->action_Root_Data_Folder, &GMainWindow::OnOpenRootDataFolder); + connect_menu(ui->action_NAND_Folder, &GMainWindow::OnOpenNANDFolder); + connect_menu(ui->action_SDMC_Folder, &GMainWindow::OnOpenSDMCFolder); + connect_menu(ui->action_Mod_Folder, &GMainWindow::OnOpenModFolder); + connect_menu(ui->action_Log_Folder, &GMainWindow::OnOpenLogFolder); + connect_menu(ui->action_Discord, &GMainWindow::OnOpenDiscord); connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents); connect_menu(ui->action_Install_Firmware, &GMainWindow::OnInstallFirmware); @@ -4159,11 +4164,35 @@ void GMainWindow::LoadAmiibo(const QString& filename) { } } -void GMainWindow::OnOpenYuzuFolder() { - QDesktopServices::openUrl(QUrl::fromLocalFile( +void GMainWindow::OnOpenRootDataFolder() { + QDesktopServices::openUrl(QUrl( QString::fromStdString(Common::FS::GetEdenPathString(Common::FS::EdenPath::EdenDir)))); } +void GMainWindow::OnOpenNANDFolder() +{ + QDesktopServices::openUrl(QUrl::fromLocalFile( + QString::fromStdString(Common::FS::GetEdenPathString(Common::FS::EdenPath::NANDDir)))); +} + +void GMainWindow::OnOpenSDMCFolder() +{ + QDesktopServices::openUrl(QUrl::fromLocalFile( + QString::fromStdString(Common::FS::GetEdenPathString(Common::FS::EdenPath::SDMCDir)))); +} + +void GMainWindow::OnOpenModFolder() +{ + QDesktopServices::openUrl(QUrl::fromLocalFile( + QString::fromStdString(Common::FS::GetEdenPathString(Common::FS::EdenPath::LoadDir)))); +} + +void GMainWindow::OnOpenLogFolder() +{ + QDesktopServices::openUrl(QUrl::fromLocalFile( + QString::fromStdString(Common::FS::GetEdenPathString(Common::FS::EdenPath::LogDir)))); +} + void GMainWindow::OnVerifyInstalledContents() { // Initialize a progress dialog. QProgressDialog progress(tr("Verifying integrity..."), tr("Cancel"), 0, 100, this); diff --git a/src/yuzu/main.h b/src/yuzu/main.h index 84588f641a..1f2582098a 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -387,7 +387,11 @@ private slots: void OnToggleAdaptingFilter(); void OnConfigurePerGame(); void OnLoadAmiibo(); - void OnOpenYuzuFolder(); + void OnOpenRootDataFolder(); + void OnOpenNANDFolder(); + void OnOpenSDMCFolder(); + void OnOpenModFolder(); + void OnOpenLogFolder(); void OnVerifyInstalledContents(); void OnInstallFirmware(); void OnInstallDecryptionKeys(); diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui index 6b19d1f8f5..e35b7afa5a 100644 --- a/src/yuzu/main.ui +++ b/src/yuzu/main.ui @@ -57,6 +57,16 @@ &Recent Files + + + Open &Eden Folders + + + + + + + @@ -66,7 +76,7 @@ - + @@ -388,11 +398,6 @@ &FAQ - - - Open &eden Folder - - false @@ -517,6 +522,31 @@ &Application Menu + + + &Root Data Folder + + + + + &NAND Folder + + + + + &SDMC Folder + + + + + &Mod Folder + + + + + &Log Folder + +