From 8f677a7c7023c76f53bc09c7e283031110985bc9 Mon Sep 17 00:00:00 2001
From: Giovanni Di Siena <giodisiena@gmail.com>
Date: Fri, 1 Nov 2019 13:35:37 +0000
Subject: [PATCH] Set batch save/load file extension as .json

Re #27224
---
 .../GUI/MainWindow/MainWindowPresenter.cpp             | 10 ++++++++--
 qt/widgets/common/src/QtJSONUtils.cpp                  |  2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.cpp b/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.cpp
index 853e37d820a..bd0bac97bd3 100644
--- a/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.cpp
+++ b/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.cpp
@@ -183,7 +183,10 @@ void MainWindowPresenter::showHelp() {
 }
 
 void MainWindowPresenter::notifySaveBatchRequested(int tabIndex) {
-  auto filename = QFileDialog::getSaveFileName();
+  const QString jsonFilter = QString("JSON (*.json)");
+  auto filename =
+      QFileDialog::getSaveFileName(nullptr, QString(), QString(), jsonFilter,
+                                   nullptr, QFileDialog::DontResolveSymlinks);
   if (filename == "")
     return;
   Encoder encoder;
@@ -193,7 +196,10 @@ void MainWindowPresenter::notifySaveBatchRequested(int tabIndex) {
 }
 
 void MainWindowPresenter::notifyLoadBatchRequested(int tabIndex) {
-  auto filename = QFileDialog::getOpenFileName();
+  const QString jsonFilter = QString("JSON (*.json)");
+  auto filename =
+      QFileDialog::getOpenFileName(nullptr, QString(), QString(), jsonFilter,
+                                   nullptr, QFileDialog::DontResolveSymlinks);
   if (filename == "")
     return;
   QMap<QString, QVariant> map;
diff --git a/qt/widgets/common/src/QtJSONUtils.cpp b/qt/widgets/common/src/QtJSONUtils.cpp
index 06673f299f7..50c0814b7fd 100644
--- a/qt/widgets/common/src/QtJSONUtils.cpp
+++ b/qt/widgets/common/src/QtJSONUtils.cpp
@@ -126,7 +126,7 @@ void saveJSONToFile(const QString &filename,
   jsonFile.write(jsonByteArray.append(jsonString));
 #else
   QJsonDocument jsonDocument(QJsonObject::fromVariantMap(map));
-  QFile jsonFile(filename);
+  QFile jsonFile(filename + ".json");
   jsonFile.open(QFile::WriteOnly);
   jsonFile.write(jsonDocument.toJson());
 #endif
-- 
GitLab