diff --git a/obs/data/locale/en-US.ini b/obs/data/locale/en-US.ini
index 3b04fc320..c50f45357 100644
--- a/obs/data/locale/en-US.ini
+++ b/obs/data/locale/en-US.ini
@@ -231,6 +231,8 @@ Basic.MainMenu.File.Import="&Import"
Basic.MainMenu.File.ShowRecordings="Show &Recordings"
Basic.MainMenu.File.Remux="Re&mux Recordings"
Basic.MainMenu.File.Settings="&Settings"
+Basic.MainMenu.File.ShowSettingsFolder="Show Settings Folder"
+Basic.MainMenu.File.ShowProfileFolder="Show Profile Folder"
Basic.MainMenu.File.Exit="E&xit"
# basic mode edit menu
diff --git a/obs/forms/OBSBasic.ui b/obs/forms/OBSBasic.ui
index 818121886..a675e2e96 100644
--- a/obs/forms/OBSBasic.ui
+++ b/obs/forms/OBSBasic.ui
@@ -570,6 +570,8 @@
+
+
@@ -994,6 +996,16 @@
Remove
+
+
+ Basic.MainMenu.File.ShowSettingsFolder
+
+
+
+
+ Basic.MainMenu.File.ShowProfileFolder
+
+
diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp
index 842dc9842..a71d2956b 100644
--- a/obs/window-basic-main.cpp
+++ b/obs/window-basic-main.cpp
@@ -3040,6 +3040,26 @@ void OBSBasic::on_actionWebsite_triggered()
QDesktopServices::openUrl(url);
}
+void OBSBasic::on_actionShowSettingsFolder_triggered()
+{
+ char path[512];
+ int ret = GetConfigPath(path, 512, "obs-studio");
+ if (ret <= 0)
+ return;
+
+ QDesktopServices::openUrl(QUrl::fromLocalFile(path));
+}
+
+void OBSBasic::on_actionShowProfileFolder_triggered()
+{
+ char path[512];
+ int ret = GetProfilePath(path, 512, "");
+ if (ret <= 0)
+ return;
+
+ QDesktopServices::openUrl(QUrl::fromLocalFile(path));
+}
+
void OBSBasic::on_preview_customContextMenuRequested(const QPoint &pos)
{
CreateSourcePopupMenu(ui->sources->currentItem(), true);
diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp
index 4730e3450..bd475f569 100644
--- a/obs/window-basic-main.hpp
+++ b/obs/window-basic-main.hpp
@@ -356,6 +356,9 @@ private slots:
void on_actionRenameProfile_triggered();
void on_actionRemoveProfile_triggered();
+ void on_actionShowSettingsFolder_triggered();
+ void on_actionShowProfileFolder_triggered();
+
void logUploadFinished(const QString &text, const QString &error);
void updateFileFinished(const QString &text, const QString &error);