[desktop] add options to open root, NAND, SDMC, load, and log dirs (#53)

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/53
This commit is contained in:
crueter 2025-07-13 03:39:01 +02:00
parent d5c58342e0
commit 55a7797378
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
4 changed files with 80 additions and 17 deletions

View file

@ -157,13 +157,6 @@
<string>Logging</string> <string>Logging</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_1"> <layout class="QGridLayout" name="gridLayout_1">
<item row="1" column="1">
<widget class="QPushButton" name="open_log_button">
<property name="text">
<string>Open Log Location</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2"> <item row="0" column="0" colspan="2">
<widget class="QWidget" name="logging_widget" native="true"> <widget class="QWidget" name="logging_widget" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
@ -224,6 +217,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1">
<widget class="QPushButton" name="open_log_button">
<property name="text">
<string>Open Log Location</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View file

@ -1674,7 +1674,12 @@ void GMainWindow::ConnectMenuEvents() {
connect_menu(ui->action_Configure_Tas, &GMainWindow::OnConfigureTas); connect_menu(ui->action_Configure_Tas, &GMainWindow::OnConfigureTas);
// Help // 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_Discord, &GMainWindow::OnOpenDiscord);
connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents); connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents);
connect_menu(ui->action_Install_Firmware, &GMainWindow::OnInstallFirmware); connect_menu(ui->action_Install_Firmware, &GMainWindow::OnInstallFirmware);
@ -4159,11 +4164,35 @@ void GMainWindow::LoadAmiibo(const QString& filename) {
} }
} }
void GMainWindow::OnOpenYuzuFolder() { void GMainWindow::OnOpenRootDataFolder() {
QDesktopServices::openUrl(QUrl::fromLocalFile( QDesktopServices::openUrl(QUrl(
QString::fromStdString(Common::FS::GetEdenPathString(Common::FS::EdenPath::EdenDir)))); 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() { void GMainWindow::OnVerifyInstalledContents() {
// Initialize a progress dialog. // Initialize a progress dialog.
QProgressDialog progress(tr("Verifying integrity..."), tr("Cancel"), 0, 100, this); QProgressDialog progress(tr("Verifying integrity..."), tr("Cancel"), 0, 100, this);

View file

@ -387,7 +387,11 @@ private slots:
void OnToggleAdaptingFilter(); void OnToggleAdaptingFilter();
void OnConfigurePerGame(); void OnConfigurePerGame();
void OnLoadAmiibo(); void OnLoadAmiibo();
void OnOpenYuzuFolder(); void OnOpenRootDataFolder();
void OnOpenNANDFolder();
void OnOpenSDMCFolder();
void OnOpenModFolder();
void OnOpenLogFolder();
void OnVerifyInstalledContents(); void OnVerifyInstalledContents();
void OnInstallFirmware(); void OnInstallFirmware();
void OnInstallDecryptionKeys(); void OnInstallDecryptionKeys();

View file

@ -57,6 +57,16 @@
<string>&amp;Recent Files</string> <string>&amp;Recent Files</string>
</property> </property>
</widget> </widget>
<widget class="QMenu" name="menuOpen_Eden_Folders">
<property name="title">
<string>Open &amp;Eden Folders</string>
</property>
<addaction name="action_Root_Data_Folder"/>
<addaction name="action_NAND_Folder"/>
<addaction name="action_SDMC_Folder"/>
<addaction name="action_Mod_Folder"/>
<addaction name="action_Log_Folder"/>
</widget>
<addaction name="action_Install_File_NAND"/> <addaction name="action_Install_File_NAND"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_Load_File"/> <addaction name="action_Load_File"/>
@ -66,7 +76,7 @@
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_Load_Amiibo"/> <addaction name="action_Load_Amiibo"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_Open_yuzu_Folder"/> <addaction name="menuOpen_Eden_Folders"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_Exit"/> <addaction name="action_Exit"/>
</widget> </widget>
@ -388,11 +398,6 @@
<string>&amp;FAQ</string> <string>&amp;FAQ</string>
</property> </property>
</action> </action>
<action name="action_Open_yuzu_Folder">
<property name="text">
<string>Open &amp;eden Folder</string>
</property>
</action>
<action name="action_Capture_Screenshot"> <action name="action_Capture_Screenshot">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@ -517,6 +522,31 @@
<string>&amp;Application Menu</string> <string>&amp;Application Menu</string>
</property> </property>
</action> </action>
<action name="action_Root_Data_Folder">
<property name="text">
<string>&amp;Root Data Folder</string>
</property>
</action>
<action name="action_NAND_Folder">
<property name="text">
<string>&amp;NAND Folder</string>
</property>
</action>
<action name="action_SDMC_Folder">
<property name="text">
<string>&amp;SDMC Folder</string>
</property>
</action>
<action name="action_Mod_Folder">
<property name="text">
<string>&amp;Mod Folder</string>
</property>
</action>
<action name="action_Log_Folder">
<property name="text">
<string>&amp;Log Folder</string>
</property>
</action>
</widget> </widget>
<resources> <resources>
<include location="yuzu.qrc"/> <include location="yuzu.qrc"/>