diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index 210dc895c4..1b3e831ea0 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -480,6 +481,7 @@ void MainWindow::ConnectMenuBar() connect(m_menu_bar, &MenuBar::ChangeDisc, this, &MainWindow::ChangeDisc); connect(m_menu_bar, &MenuBar::BootDVDBackup, this, [this](const QString& drive) { StartGame(drive, ScanForSecondDisc::No); }); + connect(m_menu_bar, &MenuBar::OpenUserFolder, this, &MainWindow::OpenUserFolder); // Emulation connect(m_menu_bar, &MenuBar::Pause, this, &MainWindow::Pause); @@ -752,6 +754,14 @@ void MainWindow::EjectDisc() Core::RunAsCPUThread([] { DVDInterface::EjectDisc(DVDInterface::EjectCause::User); }); } +void MainWindow::OpenUserFolder() +{ + std::string path = File::GetUserPath(D_USER_IDX); + + QUrl url = QUrl::fromLocalFile(QString::fromStdString(path)); + QDesktopServices::openUrl(url); +} + void MainWindow::Open() { QStringList files = PromptFileNames(); diff --git a/Source/Core/DolphinQt/MainWindow.h b/Source/Core/DolphinQt/MainWindow.h index 70acfcb53a..8d017606f3 100644 --- a/Source/Core/DolphinQt/MainWindow.h +++ b/Source/Core/DolphinQt/MainWindow.h @@ -188,6 +188,8 @@ private: void ChangeDisc(); void EjectDisc(); + void OpenUserFolder(); + QStringList PromptFileNames(); void UpdateScreenSaverInhibition(); diff --git a/Source/Core/DolphinQt/MenuBar.cpp b/Source/Core/DolphinQt/MenuBar.cpp index 11f32d8e24..8e23184d6b 100644 --- a/Source/Core/DolphinQt/MenuBar.cpp +++ b/Source/Core/DolphinQt/MenuBar.cpp @@ -216,6 +216,11 @@ void MenuBar::AddFileMenu() file_menu->addSeparator(); + m_open_user_folder = + file_menu->addAction(tr("Open &User Folder"), this, &MenuBar::OpenUserFolder); + + file_menu->addSeparator(); + m_exit_action = file_menu->addAction(tr("E&xit"), this, &MenuBar::Exit); m_exit_action->setShortcuts({QKeySequence::Quit, QKeySequence(Qt::ALT | Qt::Key_F4)}); } diff --git a/Source/Core/DolphinQt/MenuBar.h b/Source/Core/DolphinQt/MenuBar.h index 0841bdff07..c22c8a5135 100644 --- a/Source/Core/DolphinQt/MenuBar.h +++ b/Source/Core/DolphinQt/MenuBar.h @@ -56,6 +56,7 @@ signals: void ChangeDisc(); void BootDVDBackup(const QString& backup); void EjectDisc(); + void OpenUserFolder(); // Emulation void Play(); @@ -194,6 +195,7 @@ private: QAction* m_change_disc; QAction* m_eject_disc; QMenu* m_backup_menu; + QAction* m_open_user_folder; // Tools QAction* m_wad_install_action;