MenuBar: Add entries to open the config and cache folders

This commit is contained in:
Joshua Vandaële
2026-01-15 20:40:48 +01:00
parent 4c7cb2622f
commit 0e348ee159
4 changed files with 36 additions and 0 deletions
+18
View File
@@ -530,6 +530,8 @@ void MainWindow::ConnectMenuBar()
connect(m_menu_bar, &MenuBar::EjectDisc, this, &MainWindow::EjectDisc); connect(m_menu_bar, &MenuBar::EjectDisc, this, &MainWindow::EjectDisc);
connect(m_menu_bar, &MenuBar::ChangeDisc, this, &MainWindow::ChangeDisc); connect(m_menu_bar, &MenuBar::ChangeDisc, this, &MainWindow::ChangeDisc);
connect(m_menu_bar, &MenuBar::OpenUserFolder, this, &MainWindow::OpenUserFolder); connect(m_menu_bar, &MenuBar::OpenUserFolder, this, &MainWindow::OpenUserFolder);
connect(m_menu_bar, &MenuBar::OpenConfigFolder, this, &MainWindow::OpenConfigFolder);
connect(m_menu_bar, &MenuBar::OpenCacheFolder, this, &MainWindow::OpenCacheFolder);
// Emulation // Emulation
connect(m_menu_bar, &MenuBar::Pause, this, &MainWindow::Pause); connect(m_menu_bar, &MenuBar::Pause, this, &MainWindow::Pause);
@@ -827,6 +829,22 @@ void MainWindow::OpenUserFolder()
QDesktopServices::openUrl(url); QDesktopServices::openUrl(url);
} }
void MainWindow::OpenConfigFolder()
{
std::string path = File::GetUserPath(D_CONFIG_IDX);
QUrl url = QUrl::fromLocalFile(QString::fromStdString(path));
QDesktopServices::openUrl(url);
}
void MainWindow::OpenCacheFolder()
{
std::string path = File::GetUserPath(D_CACHE_IDX);
QUrl url = QUrl::fromLocalFile(QString::fromStdString(path));
QDesktopServices::openUrl(url);
}
void MainWindow::Open() void MainWindow::Open()
{ {
QStringList files = PromptFileNames(); QStringList files = PromptFileNames();
+2
View File
@@ -216,6 +216,8 @@ private:
void EjectDisc(); void EjectDisc();
void OpenUserFolder(); void OpenUserFolder();
void OpenConfigFolder();
void OpenCacheFolder();
QStringList PromptFileNames(); QStringList PromptFileNames();
+12
View File
@@ -260,6 +260,18 @@ void MenuBar::AddFileMenu()
m_open_user_folder = m_open_user_folder =
file_menu->addAction(tr("Open &User Folder"), this, &MenuBar::OpenUserFolder); file_menu->addAction(tr("Open &User Folder"), this, &MenuBar::OpenUserFolder);
const std::string user_path = File::GetUserPath(D_USER_IDX);
if (user_path + CONFIG_DIR DIR_SEP != File::GetUserPath(D_CONFIG_IDX))
{
m_open_config_folder =
file_menu->addAction(tr("Open &Config Folder"), this, &MenuBar::OpenConfigFolder);
}
if (user_path + CACHE_DIR DIR_SEP != File::GetUserPath(D_CACHE_IDX))
{
m_open_cache_folder =
file_menu->addAction(tr("Open C&ache Folder"), this, &MenuBar::OpenCacheFolder);
}
file_menu->addSeparator(); file_menu->addSeparator();
m_exit_action = file_menu->addAction(tr("E&xit"), this, &MenuBar::Exit); m_exit_action = file_menu->addAction(tr("E&xit"), this, &MenuBar::Exit);
+4
View File
@@ -62,6 +62,8 @@ signals:
void ChangeDisc(); void ChangeDisc();
void EjectDisc(); void EjectDisc();
void OpenUserFolder(); void OpenUserFolder();
void OpenConfigFolder();
void OpenCacheFolder();
// Emulation // Emulation
void Play(); void Play();
@@ -211,6 +213,8 @@ private:
QAction* m_eject_disc; QAction* m_eject_disc;
QMenu* m_backup_menu; QMenu* m_backup_menu;
QAction* m_open_user_folder; QAction* m_open_user_folder;
QAction* m_open_config_folder;
QAction* m_open_cache_folder;
// Tools // Tools
QAction* m_wad_install_action; QAction* m_wad_install_action;