MenuBar: Add entries to open the config and cache folders

This commit is contained in:
Joshua Vandaële
2026-01-15 20:29:31 +01:00
parent 4c7cb2622f
commit 0e348ee159
4 changed files with 36 additions and 0 deletions

View File

@@ -530,6 +530,8 @@ void MainWindow::ConnectMenuBar()
connect(m_menu_bar, &MenuBar::EjectDisc, this, &MainWindow::EjectDisc);
connect(m_menu_bar, &MenuBar::ChangeDisc, this, &MainWindow::ChangeDisc);
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
connect(m_menu_bar, &MenuBar::Pause, this, &MainWindow::Pause);
@@ -827,6 +829,22 @@ void MainWindow::OpenUserFolder()
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()
{
QStringList files = PromptFileNames();

View File

@@ -216,6 +216,8 @@ private:
void EjectDisc();
void OpenUserFolder();
void OpenConfigFolder();
void OpenCacheFolder();
QStringList PromptFileNames();

View File

@@ -260,6 +260,18 @@ void MenuBar::AddFileMenu()
m_open_user_folder =
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();
m_exit_action = file_menu->addAction(tr("E&xit"), this, &MenuBar::Exit);

View File

@@ -62,6 +62,8 @@ signals:
void ChangeDisc();
void EjectDisc();
void OpenUserFolder();
void OpenConfigFolder();
void OpenCacheFolder();
// Emulation
void Play();
@@ -211,6 +213,8 @@ private:
QAction* m_eject_disc;
QMenu* m_backup_menu;
QAction* m_open_user_folder;
QAction* m_open_config_folder;
QAction* m_open_cache_folder;
// Tools
QAction* m_wad_install_action;