diff --git a/src/Mod/Start/App/CustomFolderModel.cpp b/src/Mod/Start/App/CustomFolderModel.cpp
index bd7036e2e1..6225349039 100644
--- a/src/Mod/Start/App/CustomFolderModel.cpp
+++ b/src/Mod/Start/App/CustomFolderModel.cpp
@@ -41,6 +41,8 @@ CustomFolderModel::CustomFolderModel(QObject* parent)
_customFolderDirectory =
QDir(QString::fromStdString(parameterGroup->GetASCII("CustomFolder", "")));
+
+ _showOnlyFCStd = parameterGroup->GetBool("ShowOnlyFCStd", false);
}
void CustomFolderModel::loadCustomFolder()
@@ -52,6 +54,11 @@ void CustomFolderModel::loadCustomFolder()
"BaseApp/Preferences/Mod/Start/CustomFolder: cannot read custom folder %s\n",
_customFolderDirectory.absolutePath().toStdString().c_str());
}
+
+ if (_showOnlyFCStd) {
+ _customFolderDirectory.setNameFilters(QStringList() << QStringLiteral("*.FCStd"));
+ }
+
auto entries = _customFolderDirectory.entryList(QDir::Filter::Files | QDir::Filter::Readable,
QDir::SortFlag::Name);
for (const auto& entry : entries) {
diff --git a/src/Mod/Start/App/CustomFolderModel.h b/src/Mod/Start/App/CustomFolderModel.h
index d4c132708d..3901e1e01d 100644
--- a/src/Mod/Start/App/CustomFolderModel.h
+++ b/src/Mod/Start/App/CustomFolderModel.h
@@ -46,6 +46,7 @@ public:
private:
QDir _customFolderDirectory;
+ bool _showOnlyFCStd; // Show only FreeCAD files
};
} // namespace Start
diff --git a/src/Mod/Start/Gui/DlgStartPreferences.ui b/src/Mod/Start/Gui/DlgStartPreferences.ui
index 2dcf6df394..20f0e5bd1a 100644
--- a/src/Mod/Start/Gui/DlgStartPreferences.ui
+++ b/src/Mod/Start/Gui/DlgStartPreferences.ui
@@ -20,6 +20,20 @@
Contents
+ -
+
+
+ Show only FreeCAD files in additional folder
+
+
+
+ -
+
+
+ Show examples folder contents
+
+
+
-
@@ -27,6 +41,22 @@
+ -
+
+
+ An optional custom folder to be displayed on the Start page.
+
+
+ Gui::FileChooser::Directory
+
+
+ CustomFolder
+
+
+ Mod/Start
+
+
+
-
@@ -49,29 +79,25 @@
- -
-
+
-
+
- An optional custom folder to be displayed on the Start page.
+ If the additional folder contents should include only .FCStd files
-
- Gui::FileChooser::Directory
+
+ Qt::RightToLeft
+
+
+
- CustomFolder
+ ShowOnlyFCStd
Mod/Start
- -
-
-
- Show examples folder contents
-
-
-
diff --git a/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp b/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp
index 0d842d1b23..84b17fae2d 100644
--- a/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp
+++ b/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp
@@ -53,6 +53,7 @@ void DlgStartPreferencesImp::saveSettings()
ui->fileChooserCustomFolder->onSave();
ui->checkBoxShowExamples->onSave();
ui->checkBoxCloseAfterLoading->onSave();
+ ui->checkBoxShowOnlyFCStd->onSave();
}
void DlgStartPreferencesImp::loadSettings()
@@ -60,6 +61,7 @@ void DlgStartPreferencesImp::loadSettings()
ui->fileChooserCustomFolder->onRestore();
ui->checkBoxShowExamples->onRestore();
ui->checkBoxCloseAfterLoading->onRestore();
+ ui->checkBoxShowOnlyFCStd->onRestore();
}
/**