From f65154f628b12ae23d7a6d21ceda3939a0f40b2c Mon Sep 17 00:00:00 2001
From: Alice Russell <Alice.Russell@tessella.com>
Date: Fri, 20 Sep 2019 10:01:35 +0100
Subject: [PATCH] Wrap Script repo to work on workbench

---
 .../workbench/workbench/app/mainwindow.py     |  10 +-
 qt/python/mantidqt/_common.sip                |  14 +-
 .../mantidqt/widgets/scriptrepository.py      |  15 +
 qt/widgets/common/CMakeLists.txt              | 891 +++++++++---------
 .../inc/MantidQtWidgets/Common/RepoModel.h    |   1 -
 .../inc/MantidQtWidgets/Common/RepoTreeView.h |   8 +-
 .../Common/ScriptRepositoryView.h             |  17 +-
 .../common/src/ScriptRepositoryView.cpp       |   2 +-
 .../common/test/ScriptRepositoryViewTest.h    |  34 +
 9 files changed, 525 insertions(+), 467 deletions(-)
 create mode 100644 qt/python/mantidqt/widgets/scriptrepository.py
 create mode 100644 qt/widgets/common/test/ScriptRepositoryViewTest.h

diff --git a/qt/applications/workbench/workbench/app/mainwindow.py b/qt/applications/workbench/workbench/app/mainwindow.py
index 45da36b86b6..a7c52e958d2 100644
--- a/qt/applications/workbench/workbench/app/mainwindow.py
+++ b/qt/applications/workbench/workbench/app/mainwindow.py
@@ -50,6 +50,7 @@ from qtpy.QtWidgets import (QApplication, QDesktopWidget, QFileDialog,
 from mantidqt.algorithminputhistory import AlgorithmInputHistory  # noqa
 from mantidqt.interfacemanager import InterfaceManager  # noqa
 from mantidqt.widgets import manageuserdirectories  # noqa
+from mantidqt.widgets.scriptrepository import ScriptRepositoryView  # noqa
 from mantidqt.widgets.codeeditor.execution import PythonCodeExecution  # noqa
 from mantidqt.utils.qt import (add_actions, create_action, plugins,
                                widget_updates_disabled)  # noqa
@@ -300,6 +301,9 @@ class MainWindow(QMainWindow):
         action_manage_directories = create_action(
             self, "Manage User Directories",
             on_triggered=self.open_manage_directories)
+        action_script_repository = create_action(
+            self, "Script Repository",
+            on_triggered=self.open_script_repository)
         action_settings = create_action(
             self, "Settings", on_triggered=self.open_settings_window)
         action_quit = create_action(
@@ -309,7 +313,8 @@ class MainWindow(QMainWindow):
                                   action_save_script, action_save_script_as,
                                   action_generate_ws_script, None, action_save_project,
                                   action_save_project_as, None, action_settings, None,
-                                  action_manage_directories, None, action_quit]
+                                  action_manage_directories, None, action_script_repository,
+                                  None, action_quit]
 
         # view menu
         action_restore_default = create_action(
@@ -607,6 +612,9 @@ class MainWindow(QMainWindow):
     def open_manage_directories(self):
         manageuserdirectories.ManageUserDirectories.openManageUserDirectories()
 
+    def open_script_repository(self):
+        ScriptRepositoryView(self).exec_()
+
     def open_settings_window(self):
         settings = SettingsPresenter(self)
         settings.show()
diff --git a/qt/python/mantidqt/_common.sip b/qt/python/mantidqt/_common.sip
index 522a5105f45..c8bf35504c6 100644
--- a/qt/python/mantidqt/_common.sip
+++ b/qt/python/mantidqt/_common.sip
@@ -401,6 +401,18 @@ public:
   static void openManageUserDirectories();
 };
 
+// ---------------------------------
+// Script Repository
+// ---------------------------------
+
+class ScriptRepositoryView : QDialog {
+%TypeHeaderCode
+#include "MantidQtWidgets/Common/ScriptRepositoryView.h"
+%End
+public:
+    ScriptRepositoryView(QWidget *parent = nullptr);
+};
+
 // ---------------------------------
 // Fit Property Browser
 // ---------------------------------
@@ -436,7 +448,7 @@ public:
     QStringList getWorkspaceNames();
     void fit();
     void addAllowedSpectra(const QString &wsName, const QList<int> &wsIndices);
-	void addAllowedTableWorkspace(const QString &wsName);
+    void addAllowedTableWorkspace(const QString &wsName);
     void setTextPlotGuess(const QString);
     bool plotDiff() const;
 
diff --git a/qt/python/mantidqt/widgets/scriptrepository.py b/qt/python/mantidqt/widgets/scriptrepository.py
new file mode 100644
index 00000000000..689c76278ab
--- /dev/null
+++ b/qt/python/mantidqt/widgets/scriptrepository.py
@@ -0,0 +1,15 @@
+# Mantid Repository : https://github.com/mantidproject/mantid
+#
+# Copyright &copy; 2019 ISIS Rutherford Appleton Laboratory UKRI,
+#     NScD Oak Ridge National Laboratory, European Spallation Source
+#     & Institut Laue - Langevin
+# SPDX - License - Identifier: GPL - 3.0 +
+#  This file is part of the mantidqt package
+#
+#
+from __future__ import (absolute_import, unicode_literals)
+
+from mantidqt.utils.qt import import_qt
+
+
+ScriptRepositoryView = import_qt('.._common', 'mantidqt.widgets', 'ScriptRepositoryView')
diff --git a/qt/widgets/common/CMakeLists.txt b/qt/widgets/common/CMakeLists.txt
index 0951c1e8c9b..c9cde6b2ef3 100644
--- a/qt/widgets/common/CMakeLists.txt
+++ b/qt/widgets/common/CMakeLists.txt
@@ -1,136 +1,136 @@
-set(
-  QT5_SRC_FILES
-  src/AlgorithmDialog.cpp
-  src/AlgorithmHistoryWindow.cpp
-  src/AlgorithmInputHistory.cpp
-  src/AlgorithmPropertiesWidget.cpp
-  src/AlgorithmRunner.cpp
-  src/AlgorithmSelectorWidget.cpp
-  src/AlternateCSPythonLexer.cpp
-  src/BatchAlgorithmRunner.cpp
-  src/BoolPropertyWidget.cpp
-  src/DataSelector.cpp
-  src/DropEventHelper.cpp
-  src/EditLocalParameterDialog.cpp
-  src/FileDialogHandler.cpp
-  src/FilePropertyWidget.cpp
-  src/FindFilesThreadPoolManager.cpp
-  src/FindFilesWorker.cpp
-  src/FindReplaceDialog.cpp
-  src/FitOptionsBrowser.cpp
-  src/FitPropertyBrowser.cpp
-  src/FlowLayout.cpp
-  src/FunctionBrowser/FunctionBrowserUtils.cpp
-  src/FunctionBrowser.cpp
-  src/FunctionModel.cpp
-  src/FunctionMultiDomainPresenter.cpp
-  src/FunctionTreeView.cpp
-  src/GenericDialog.cpp
-  src/HelpWindow.cpp
-  src/Hint.cpp
-  src/HintingLineEdit.cpp
-  # todo: move this to the instrument view library when the slice
-  # viewer library is removed
-  src/IndirectFitPropertyBrowser.cpp
-  src/IFunctionModel.cpp
-  src/InputController.cpp
-  src/InstrumentSelector.cpp
-  src/InterfaceManager.cpp
-  src/LineEditWithClear.cpp
-  src/ListPropertyWidget.cpp
-  src/LocalParameterEditor.cpp
-  src/LocalParameterItemDelegate.cpp
-  src/LogValueFinder.cpp
-  src/LogValueSelector.cpp
-  src/ManageUserDirectories.cpp
-  src/MantidDesktopServices.cpp
-  src/MantidDialog.cpp
-  src/MantidHelpInterface.cpp
-  src/MantidHelpWindow.cpp
-  src/MantidTreeModel.cpp
-  src/MantidTreeWidget.cpp
-  src/MantidTreeWidgetItem.cpp
-  src/MantidWidget.cpp
-  src/MantidWSIndexDialog.cpp
-  src/Message.cpp
-  src/MessageDisplay.cpp
-  src/MultifitSetupDialog.cpp
-  src/MWRunFiles.cpp
-  src/OptionsPropertyWidget.cpp
-  src/ParseKeyValueString.cpp
-  src/pixmaps.cpp
-  src/PluginLibraries.cpp
-  src/pqHelpWindow.cxx
-  src/ProcessingAlgoWidget.cpp
-  src/ProgressableView.cpp
-  src/PropertyHandler.cpp
-  src/PropertyWidget.cpp
-  src/PropertyWidgetFactory.cpp
-  src/PythonRunner.cpp
-  src/QtSignalChannel.cpp
-  src/QtJSONUtils.cpp
-  src/RenameParDialog.cpp
-  src/ScriptEditor.cpp
-  src/SequentialFitDialog.cpp
-  src/SelectFunctionDialog.cpp
-  src/SelectWorkspacesDialog.cpp
-  src/SlitCalculator.cpp
-  src/TextPropertyWidget.cpp
-  src/TSVSerialiser.cpp
-  src/UserFunctionDialog.cpp
-  src/UserInputValidator.cpp
-  src/UserSubWindow.cpp
-  src/UserSubWindowFactory.cpp
-  src/VatesViewerInterface.cpp
-  src/WidgetScrollbarDecorator.cpp
-  src/WorkspaceIcons.cpp
-  src/WorkspaceObserver.cpp
-  src/WorkspacePresenter/ADSAdapter.cpp
-  src/WorkspacePresenter/WorkspacePresenter.cpp
-  src/WorkspacePresenter/WorkspaceTreeWidget.cpp
-  src/WorkspacePresenter/WorkspaceTreeWidgetSimple.cpp
-  src/WorkspaceSelector.cpp
-  src/AlgorithmProgress/AlgorithmProgressDialogPresenter.cpp
-  src/AlgorithmProgress/AlgorithmProgressDialogWidget.cpp
-  src/AlgorithmProgress/AlgorithmProgressModel.cpp
-  src/AlgorithmProgress/AlgorithmProgressPresenter.cpp
-  src/AlgorithmProgress/AlgorithmProgressPresenterBase.cpp
-  src/AlgorithmProgress/AlgorithmProgressWidget.cpp
-  src/Batch/RowLocation.cpp
-  src/Batch/RowLocationAdapter.cpp
-  src/Batch/RowPredicate.cpp
-  src/Batch/Row.cpp
-  src/Batch/Cell.cpp
-  src/Batch/CellStandardItem.cpp
-  src/Batch/ExtractSubtrees.cpp
-  src/Batch/FindSubtreeRoots.cpp
-  src/Batch/JobTreeView.cpp
-  src/Batch/JobTreeViewSignalAdapter.cpp
-  src/Batch/QtStandardItemTreeAdapter.cpp
-  src/Batch/FilteredTreeModel.cpp
-  src/Batch/QtBasicNavigation.cpp
-  src/Batch/QtTreeCursorNavigation.cpp
-  src/Batch/CellDelegate.cpp
-  src/Batch/BuildSubtreeItems.cpp
-  src/QtPropertyBrowser/DoubleDialogEditor.cpp
-  src/QtPropertyBrowser/DoubleEditorFactory.cpp
-  src/QtPropertyBrowser/FilenameDialogEditor.cpp
-  src/QtPropertyBrowser/FormulaDialogEditor.cpp
-  src/QtPropertyBrowser/ParameterPropertyManager.cpp
-  src/QtPropertyBrowser/qtbuttonpropertybrowser.cpp
-  src/QtPropertyBrowser/qteditorfactory.cpp
-  src/QtPropertyBrowser/qtgroupboxpropertybrowser.cpp
-  src/QtPropertyBrowser/qtpropertybrowser.cpp
-  src/QtPropertyBrowser/qtpropertybrowserutils.cpp
-  src/QtPropertyBrowser/qtpropertymanager.cpp
-  src/QtPropertyBrowser/qttreepropertybrowser.cpp
-  src/QtPropertyBrowser/qtvariantproperty.cpp
-  src/QtPropertyBrowser/StringDialogEditor.cpp
-  src/QtPropertyBrowser/StringEditorFactory.cpp
-  src/QtPropertyBrowser/WorkspaceEditorFactory.cpp
-  src/Python/Sip.cpp
-  src/Python/QHashToDict.cpp
-)
+set(QT5_SRC_FILES
+    src/AlgorithmDialog.cpp
+    src/AlgorithmHistoryWindow.cpp
+    src/AlgorithmInputHistory.cpp
+    src/AlgorithmPropertiesWidget.cpp
+    src/AlgorithmRunner.cpp
+    src/AlgorithmSelectorWidget.cpp
+    src/AlternateCSPythonLexer.cpp
+    src/BatchAlgorithmRunner.cpp
+    src/BoolPropertyWidget.cpp
+    src/DataSelector.cpp
+    src/DropEventHelper.cpp
+    src/EditLocalParameterDialog.cpp
+    src/FileDialogHandler.cpp
+    src/FilePropertyWidget.cpp
+    src/FindFilesThreadPoolManager.cpp
+    src/FindFilesWorker.cpp
+    src/FindReplaceDialog.cpp
+    src/FitOptionsBrowser.cpp
+    src/FitPropertyBrowser.cpp
+    src/FlowLayout.cpp
+    src/FunctionBrowser/FunctionBrowserUtils.cpp
+    src/FunctionBrowser.cpp
+    src/FunctionModel.cpp
+    src/FunctionMultiDomainPresenter.cpp
+    src/FunctionTreeView.cpp
+    src/GenericDialog.cpp
+    src/HelpWindow.cpp
+    src/Hint.cpp
+    src/HintingLineEdit.cpp
+    # todo: move this to the instrument view library when the slice
+    # viewer library is removed
+    src/IndirectFitPropertyBrowser.cpp
+    src/IFunctionModel.cpp
+    src/InputController.cpp
+    src/InstrumentSelector.cpp
+    src/InterfaceManager.cpp
+    src/LineEditWithClear.cpp
+    src/ListPropertyWidget.cpp
+    src/LocalParameterEditor.cpp
+    src/LocalParameterItemDelegate.cpp
+    src/LogValueFinder.cpp
+    src/LogValueSelector.cpp
+    src/ManageUserDirectories.cpp
+    src/MantidDesktopServices.cpp
+    src/MantidDialog.cpp
+    src/MantidHelpInterface.cpp
+    src/MantidHelpWindow.cpp
+    src/MantidTreeModel.cpp
+    src/MantidTreeWidget.cpp
+    src/MantidTreeWidgetItem.cpp
+    src/MantidWidget.cpp
+    src/MantidWSIndexDialog.cpp
+    src/Message.cpp
+    src/MessageDisplay.cpp
+    src/MultifitSetupDialog.cpp
+    src/MWRunFiles.cpp
+    src/OptionsPropertyWidget.cpp
+    src/ParseKeyValueString.cpp
+    src/pixmaps.cpp
+    src/PluginLibraries.cpp
+    src/pqHelpWindow.cxx
+    src/ProcessingAlgoWidget.cpp
+    src/ProgressableView.cpp
+    src/PropertyHandler.cpp
+    src/PropertyWidget.cpp
+    src/PropertyWidgetFactory.cpp
+    src/PythonRunner.cpp
+    src/QtSignalChannel.cpp
+    src/QtJSONUtils.cpp
+    src/RenameParDialog.cpp
+    src/RepoModel.cpp
+    src/ScriptEditor.cpp
+    src/ScriptRepositoryView.cpp
+    src/SequentialFitDialog.cpp
+    src/SelectFunctionDialog.cpp
+    src/SelectWorkspacesDialog.cpp
+    src/SlitCalculator.cpp
+    src/TextPropertyWidget.cpp
+    src/TSVSerialiser.cpp
+    src/UserFunctionDialog.cpp
+    src/UserInputValidator.cpp
+    src/UserSubWindow.cpp
+    src/UserSubWindowFactory.cpp
+    src/VatesViewerInterface.cpp
+    src/WidgetScrollbarDecorator.cpp
+    src/WorkspaceIcons.cpp
+    src/WorkspaceObserver.cpp
+    src/WorkspacePresenter/ADSAdapter.cpp
+    src/WorkspacePresenter/WorkspacePresenter.cpp
+    src/WorkspacePresenter/WorkspaceTreeWidget.cpp
+    src/WorkspacePresenter/WorkspaceTreeWidgetSimple.cpp
+    src/WorkspaceSelector.cpp
+    src/AlgorithmProgress/AlgorithmProgressDialogPresenter.cpp
+    src/AlgorithmProgress/AlgorithmProgressDialogWidget.cpp
+    src/AlgorithmProgress/AlgorithmProgressModel.cpp
+    src/AlgorithmProgress/AlgorithmProgressPresenter.cpp
+    src/AlgorithmProgress/AlgorithmProgressPresenterBase.cpp
+    src/AlgorithmProgress/AlgorithmProgressWidget.cpp
+    src/Batch/RowLocation.cpp
+    src/Batch/RowLocationAdapter.cpp
+    src/Batch/RowPredicate.cpp
+    src/Batch/Row.cpp
+    src/Batch/Cell.cpp
+    src/Batch/CellStandardItem.cpp
+    src/Batch/ExtractSubtrees.cpp
+    src/Batch/FindSubtreeRoots.cpp
+    src/Batch/JobTreeView.cpp
+    src/Batch/JobTreeViewSignalAdapter.cpp
+    src/Batch/QtStandardItemTreeAdapter.cpp
+    src/Batch/FilteredTreeModel.cpp
+    src/Batch/QtBasicNavigation.cpp
+    src/Batch/QtTreeCursorNavigation.cpp
+    src/Batch/CellDelegate.cpp
+    src/Batch/BuildSubtreeItems.cpp
+    src/QtPropertyBrowser/DoubleDialogEditor.cpp
+    src/QtPropertyBrowser/DoubleEditorFactory.cpp
+    src/QtPropertyBrowser/FilenameDialogEditor.cpp
+    src/QtPropertyBrowser/FormulaDialogEditor.cpp
+    src/QtPropertyBrowser/ParameterPropertyManager.cpp
+    src/QtPropertyBrowser/qtbuttonpropertybrowser.cpp
+    src/QtPropertyBrowser/qteditorfactory.cpp
+    src/QtPropertyBrowser/qtgroupboxpropertybrowser.cpp
+    src/QtPropertyBrowser/qtpropertybrowser.cpp
+    src/QtPropertyBrowser/qtpropertybrowserutils.cpp
+    src/QtPropertyBrowser/qtpropertymanager.cpp
+    src/QtPropertyBrowser/qttreepropertybrowser.cpp
+    src/QtPropertyBrowser/qtvariantproperty.cpp
+    src/QtPropertyBrowser/StringDialogEditor.cpp
+    src/QtPropertyBrowser/StringEditorFactory.cpp
+    src/QtPropertyBrowser/WorkspaceEditorFactory.cpp
+    src/Python/Sip.cpp
+    src/Python/QHashToDict.cpp)
 
 set(
   QT5_MOC_FILES
@@ -183,7 +183,10 @@ set(
   inc/MantidQtWidgets/Common/PythonRunner.h
   inc/MantidQtWidgets/Common/QtSignalChannel.h
   inc/MantidQtWidgets/Common/RenameParDialog.h
+  inc/MantidQtWidgets/Common/RepoModel.h
+  inc/MantidQtWidgets/Common/RepoTreeView.h
   inc/MantidQtWidgets/Common/ScriptEditor.h
+  inc/MantidQtWidgets/Common/ScriptRepositoryView.h
   inc/MantidQtWidgets/Common/SequentialFitDialog.h
   inc/MantidQtWidgets/Common/SelectFunctionDialog.h
   inc/MantidQtWidgets/Common/SelectWorkspacesDialog.h
@@ -219,259 +222,254 @@ set(
   inc/MantidQtWidgets/Common/QtPropertyBrowser/qtvariantproperty.h
   inc/MantidQtWidgets/Common/QtPropertyBrowser/StringDialogEditor.h
   inc/MantidQtWidgets/Common/QtPropertyBrowser/StringEditorFactory.h
-  inc/MantidQtWidgets/Common/QtPropertyBrowser/WorkspaceEditorFactory.h
-)
+  inc/MantidQtWidgets/Common/QtPropertyBrowser/WorkspaceEditorFactory.h)
 
 # Include files aren't required, but this makes them appear in Visual Studio
-set(
-  QT5_INC_FILES
-  ${QT5_MOC_FILES}
-  inc/MantidQtWidgets/Common/BaseEncoder.h
-  inc/MantidQtWidgets/Common/BaseDecoder.h
-  inc/MantidQtWidgets/Common/AlgorithmInputHistory.h
-  inc/MantidQtWidgets/Common/AlgorithmRunner.h
-  inc/MantidQtWidgets/Common/AlgorithmDialogFactory.h
-  inc/MantidQtWidgets/Common/AlternateCSPythonLexer.h
-  inc/MantidQtWidgets/Common/BatchAlgorithmRunner.h
-  inc/MantidQtWidgets/Common/DropEventHelper.h
-  inc/MantidQtWidgets/Common/FileDialogHandler.h
-  inc/MantidQtWidgets/Common/FlowLayout.h
-  inc/MantidQtWidgets/Common/FunctionMultiDomainPresenter.h
-  inc/MantidQtWidgets/Common/HelpWindow.h
-  inc/MantidQtWidgets/Common/Hint.h
-  inc/MantidQtWidgets/Common/IFunctionBrowser.h
-  inc/MantidQtWidgets/Common/IFunctionView.h
-  inc/MantidQtWidgets/Common/InterfaceManager.h
-  inc/MantidQtWidgets/Common/LogValueFinder.h
-  inc/MantidQtWidgets/Common/MantidDesktopServices.h
-  inc/MantidQtWidgets/Common/MantidTreeWidgetItem.h
-  inc/MantidQtWidgets/Common/MultifitSetupDialog.h
-  inc/MantidQtWidgets/Common/ParseKeyValueString.h
-  inc/MantidQtWidgets/Common/pixmaps.h
-  inc/MantidQtWidgets/Common/ProgressableView.h
-  inc/MantidQtWidgets/Common/PropertyWidgetFactory.h
-  inc/MantidQtWidgets/Common/QtJSONUtils.h
-  inc/MantidQtWidgets/Common/SequentialFitDialog.h
-  inc/MantidQtWidgets/Common/UserInputValidator.h
-  inc/MantidQtWidgets/Common/WidgetScrollbarDecorator.h
-  inc/MantidQtWidgets/Common/WorkspaceIcons.h
-  inc/MantidQtWidgets/Common/Batch/QtStandardItemTreeAdapter.h
-  inc/MantidQtWidgets/Common/Batch/QtBasicNavigation.h
-  inc/MantidQtWidgets/Common/Batch/QtTreeCursorNavigation.h
-  inc/MantidQtWidgets/Common/Batch/StrictQModelIndices.h
-  inc/MantidQtWidgets/Common/Batch/FilteredTreeModel.h
-  inc/MantidQtWidgets/Common/Batch/RowLocation.h
-  inc/MantidQtWidgets/Common/Batch/RowPredicate.h
-  inc/MantidQtWidgets/Common/Batch/RowLocationAdapter.h
-  inc/MantidQtWidgets/Common/Batch/Row.h
-  inc/MantidQtWidgets/Common/Batch/Cell.h
-  inc/MantidQtWidgets/Common/Batch/CellStandardItem.h
-  inc/MantidQtWidgets/Common/Batch/CellDelegate.h
-  inc/MantidQtWidgets/Common/Batch/ExtractSubtrees.h
-  inc/MantidQtWidgets/Common/Batch/FindSubtreeRoots.h
-  inc/MantidQtWidgets/Common/Batch/BuildSubtreeItems.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/ADSAdapter.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/IWorkspaceDockView.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/ViewNotifiable.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceDockMockObjects.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspacePresenter.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceProvider.h
-  inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceProviderNotifiable.h
-  inc/MantidQtWidgets/Common/AlgorithmProgress/AlgorithmProgressModel.h
-  inc/MantidQtWidgets/Common/Python/Sip.h
-  inc/MantidQtWidgets/Common/Python/Object.h
-  inc/MantidQtWidgets/Common/Python/QHashToDict.h
-)
+set(QT5_INC_FILES
+    ${QT5_MOC_FILES}
+    inc/MantidQtWidgets/Common/BaseEncoder.h
+    inc/MantidQtWidgets/Common/BaseDecoder.h
+    inc/MantidQtWidgets/Common/AlgorithmInputHistory.h
+    inc/MantidQtWidgets/Common/AlgorithmRunner.h
+    inc/MantidQtWidgets/Common/AlgorithmDialogFactory.h
+    inc/MantidQtWidgets/Common/AlternateCSPythonLexer.h
+    inc/MantidQtWidgets/Common/BatchAlgorithmRunner.h
+    inc/MantidQtWidgets/Common/DropEventHelper.h
+    inc/MantidQtWidgets/Common/FileDialogHandler.h
+    inc/MantidQtWidgets/Common/FlowLayout.h
+    inc/MantidQtWidgets/Common/FunctionMultiDomainPresenter.h
+    inc/MantidQtWidgets/Common/HelpWindow.h
+    inc/MantidQtWidgets/Common/Hint.h
+    inc/MantidQtWidgets/Common/IFunctionBrowser.h
+    inc/MantidQtWidgets/Common/IFunctionView.h
+    inc/MantidQtWidgets/Common/InterfaceManager.h
+    inc/MantidQtWidgets/Common/LogValueFinder.h
+    inc/MantidQtWidgets/Common/MantidDesktopServices.h
+    inc/MantidQtWidgets/Common/MantidTreeWidgetItem.h
+    inc/MantidQtWidgets/Common/MultifitSetupDialog.h
+    inc/MantidQtWidgets/Common/ParseKeyValueString.h
+    inc/MantidQtWidgets/Common/pixmaps.h
+    inc/MantidQtWidgets/Common/ProgressableView.h
+    inc/MantidQtWidgets/Common/PropertyWidgetFactory.h
+    inc/MantidQtWidgets/Common/QtJSONUtils.h
+    inc/MantidQtWidgets/Common/SequentialFitDialog.h
+    inc/MantidQtWidgets/Common/UserInputValidator.h
+    inc/MantidQtWidgets/Common/WidgetScrollbarDecorator.h
+    inc/MantidQtWidgets/Common/WorkspaceIcons.h
+    inc/MantidQtWidgets/Common/Batch/QtStandardItemTreeAdapter.h
+    inc/MantidQtWidgets/Common/Batch/QtBasicNavigation.h
+    inc/MantidQtWidgets/Common/Batch/QtTreeCursorNavigation.h
+    inc/MantidQtWidgets/Common/Batch/StrictQModelIndices.h
+    inc/MantidQtWidgets/Common/Batch/FilteredTreeModel.h
+    inc/MantidQtWidgets/Common/Batch/RowLocation.h
+    inc/MantidQtWidgets/Common/Batch/RowPredicate.h
+    inc/MantidQtWidgets/Common/Batch/RowLocationAdapter.h
+    inc/MantidQtWidgets/Common/Batch/Row.h
+    inc/MantidQtWidgets/Common/Batch/Cell.h
+    inc/MantidQtWidgets/Common/Batch/CellStandardItem.h
+    inc/MantidQtWidgets/Common/Batch/CellDelegate.h
+    inc/MantidQtWidgets/Common/Batch/ExtractSubtrees.h
+    inc/MantidQtWidgets/Common/Batch/FindSubtreeRoots.h
+    inc/MantidQtWidgets/Common/Batch/BuildSubtreeItems.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/ADSAdapter.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/IWorkspaceDockView.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/ViewNotifiable.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceDockMockObjects.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspacePresenter.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceProvider.h
+    inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceProviderNotifiable.h
+    inc/MantidQtWidgets/Common/AlgorithmProgress/AlgorithmProgressModel.h
+    inc/MantidQtWidgets/Common/Python/Sip.h
+    inc/MantidQtWidgets/Common/Python/Object.h
+    inc/MantidQtWidgets/Common/Python/QHashToDict.h)
 
-set(
-  QT5_UI_FILES
-  inc/MantidQtWidgets/Common/DataSelector.ui
-  inc/MantidQtWidgets/Common/EditLocalParameterDialog.ui
-  inc/MantidQtWidgets/Common/LogValueSelector.ui
-  inc/MantidQtWidgets/Common/ManageUserDirectories.ui
-  inc/MantidQtWidgets/Common/MultifitSetupDialog.ui
-  inc/MantidQtWidgets/Common/MWRunFiles.ui
-  inc/MantidQtWidgets/Common/pqHelpWindow.ui
-  inc/MantidQtWidgets/Common/ProcessingAlgoWidget.ui
-  inc/MantidQtWidgets/Common/RenameParDialog.ui
-  inc/MantidQtWidgets/Common/SequentialFitDialog.ui
-  inc/MantidQtWidgets/Common/SelectFunctionDialog.ui
-  inc/MantidQtWidgets/Common/SlitCalculator.ui
-  inc/MantidQtWidgets/Common/UserFunctionDialog.ui
-)
+set(QT5_UI_FILES
+    inc/MantidQtWidgets/Common/DataSelector.ui
+    inc/MantidQtWidgets/Common/EditLocalParameterDialog.ui
+    inc/MantidQtWidgets/Common/LogValueSelector.ui
+    inc/MantidQtWidgets/Common/ManageUserDirectories.ui
+    inc/MantidQtWidgets/Common/MultifitSetupDialog.ui
+    inc/MantidQtWidgets/Common/MWRunFiles.ui
+    inc/MantidQtWidgets/Common/pqHelpWindow.ui
+    inc/MantidQtWidgets/Common/ProcessingAlgoWidget.ui
+    inc/MantidQtWidgets/Common/RenameParDialog.ui
+    inc/MantidQtWidgets/Common/ScriptRepositoryView.ui
+    inc/MantidQtWidgets/Common/SequentialFitDialog.ui
+    inc/MantidQtWidgets/Common/SelectFunctionDialog.ui
+    inc/MantidQtWidgets/Common/SlitCalculator.ui
+    inc/MantidQtWidgets/Common/UserFunctionDialog.ui)
 
-set(
-  SRC_FILES
-  src/AlgorithmDialog.cpp
-  src/AlgorithmHistoryWindow.cpp
-  src/AlgorithmInputHistory.cpp
-  src/AlgorithmPropertiesWidget.cpp
-  src/AlgorithmRunner.cpp
-  src/AlternateCSPythonLexer.cpp
-  src/BatchAlgorithmRunner.cpp
-  src/BoolPropertyWidget.cpp
-  src/DropEventHelper.cpp
-  src/EditLocalParameterDialog.cpp
-  src/FileDialogHandler.cpp
-  src/FilePropertyWidget.cpp
-  src/GenericDialog.cpp
-  src/HelpWindow.cpp
-  src/FlowLayout.cpp
-  src/Hint.cpp
-  src/IndirectFitPropertyBrowser.cpp
-  src/InterfaceManager.cpp
-  src/ListPropertyWidget.cpp
-  src/LocalParameterEditor.cpp
-  src/LocalParameterItemDelegate.cpp
-  src/LogValueFinder.cpp
-  src/ManageUserDirectories.cpp
-  src/MantidDesktopServices.cpp
-  src/MantidDialog.cpp
-  src/MantidHelpInterface.cpp
-  src/MantidWidget.cpp
-  src/MdConstants.cpp
-  src/MdSettings.cpp
-  src/Message.cpp
-  src/NonOrthogonal.cpp
-  src/MWRunFiles.cpp
-  src/OptionsPropertyWidget.cpp
-  src/pixmaps.cpp
-  src/PlotAxis.cpp
-  src/PluginLibraries.cpp
-  src/PropertyWidget.cpp
-  src/PropertyWidgetFactory.cpp
-  src/PythonRunner.cpp
-  src/QScienceSpinBox.cpp
-  src/QtSignalChannel.cpp
-  src/QtJSONUtils.cpp
-  src/RepoModel.cpp
-  src/ScriptRepositoryView.cpp
-  src/SelectionNotificationService.cpp
-  src/SignalBlocker.cpp
-  src/SyncedCheckboxes.cpp
-  src/TextPropertyWidget.cpp
-  src/TSVSerialiser.cpp
-  src/UserInputValidator.cpp
-  src/UserSubWindow.cpp
-  src/UserSubWindowFactory.cpp
-  src/VatesViewerInterface.cpp
-  src/WidgetScrollbarDecorator.cpp
-  src/WindowIcons.cpp
-  src/WorkspaceObserver.cpp
-  src/WorkspaceIcons.cpp
-  src/AlgorithmSelectorWidget.cpp
-  src/CatalogHelper.cpp
-  src/CatalogSearch.cpp
-  src/CatalogSelector.cpp
-  src/CheckboxHeader.cpp
-  src/DataProcessorUI/AbstractTreeModel.cpp
-  src/DataProcessorUI/TreeData.cpp
-  src/DataProcessorUI/GenerateNotebook.cpp
-  src/DataProcessorUI/OneLevelTreeManager.cpp
-  src/DataProcessorUI/OptionsMap.cpp
-  src/DataProcessorUI/PostprocessingAlgorithm.cpp
-  src/DataProcessorUI/PreprocessingAlgorithm.cpp
-  src/DataProcessorUI/PreprocessMap.cpp
-  src/DataProcessorUI/ProcessingAlgorithm.cpp
-  src/DataProcessorUI/ProcessingAlgorithmBase.cpp
-  src/DataProcessorUI/TreeData.cpp
-  src/DataProcessorUI/TwoLevelTreeManager.cpp
-  src/DataProcessorUI/WhiteList.cpp
-  src/DataProcessorUI/WorkspaceNameUtils.cpp
-  src/DataProcessorUI/PostprocessingStep.cpp
-  src/DataProcessorUI/GenericDataProcessorPresenter.cpp
-  src/DataProcessorUI/Column.cpp
-  src/DataProcessorUI/ConstColumnIterator.cpp
-  src/ParseKeyValueString.cpp
-  src/ParseNumerics.cpp
-  src/DataProcessorUI/QOneLevelTreeModel.cpp
-  src/DataProcessorUI/QTwoLevelTreeModel.cpp
-  src/DataProcessorUI/QDataProcessorWidget.cpp
-  src/DataProcessorUI/QtDataProcessorOptionsDialog.cpp
-  src/DataProcessorUI/VectorString.cpp
-  src/Batch/RowLocation.cpp
-  src/Batch/RowLocationAdapter.cpp
-  src/Batch/RowPredicate.cpp
-  src/Batch/Row.cpp
-  src/Batch/Cell.cpp
-  src/Batch/CellStandardItem.cpp
-  src/Batch/ExtractSubtrees.cpp
-  src/Batch/FindSubtreeRoots.cpp
-  src/Batch/JobTreeView.cpp
-  src/Batch/JobTreeViewSignalAdapter.cpp
-  src/Batch/QtStandardItemTreeAdapter.cpp
-  src/Batch/FilteredTreeModel.cpp
-  src/Batch/QtBasicNavigation.cpp
-  src/Batch/QtTreeCursorNavigation.cpp
-  src/Batch/CellDelegate.cpp
-  src/Batch/BuildSubtreeItems.cpp
-  src/DataSelector.cpp
-  src/DiagResults.cpp
-  src/DoubleSpinBox.cpp
-  src/FindDialog.cpp
-  src/FindFilesThreadPoolManager.cpp
-  src/FindFilesWorker.cpp
-  src/FindReplaceDialog.cpp
-  src/FitOptionsBrowser.cpp
-  src/FitPropertyBrowser.cpp
-  src/FunctionBrowser/FunctionBrowserUtils.cpp
-  src/FunctionBrowser.cpp
-  src/FunctionModel.cpp
-  src/FunctionMultiDomainPresenter.cpp
-  src/FunctionTreeView.cpp
-  src/HintingLineEdit.cpp
-  src/IFunctionModel.cpp
-  src/InputController.cpp
-  src/InstrumentSelector.cpp
-  src/LineEditWithClear.cpp
-  src/LogValueSelector.cpp
-  src/MantidHelpWindow.cpp
-  src/MantidTreeModel.cpp
-  src/MantidTreeWidget.cpp
-  src/MantidTreeWidgetItem.cpp
-  src/MantidWSIndexDialog.cpp
-  src/MessageDisplay.cpp
-  src/MultifitSetupDialog.cpp
-  src/MuonFitDataSelector.cpp
-  src/MuonFitPropertyBrowser.cpp
-  src/MuonFunctionBrowser.cpp
-  src/ProcessingAlgoWidget.cpp
-  src/ProgressableView.cpp
-  src/ProjectSavePresenter.cpp
-  src/ProjectSaveModel.cpp
-  src/PropertyHandler.cpp
-  src/RenameParDialog.cpp
-  src/SaveWorkspaces.cpp
-  src/ScriptEditor.cpp
-  src/SelectFunctionDialog.cpp
-  src/SelectWorkspacesDialog.cpp
-  src/SequentialFitDialog.cpp
-  src/SlicingAlgorithmDialog.cpp
-  src/SlitCalculator.cpp
-  src/TrackedAction.cpp
-  src/UserFunctionDialog.cpp
-  src/WorkspacePresenter/ADSAdapter.cpp
-  src/WorkspacePresenter/WorkspacePresenter.cpp
-  src/WorkspacePresenter/WorkspaceTreeWidget.cpp
-  src/WorkspacePresenter/WorkspaceTreeWidgetSimple.cpp
-  src/WorkspaceSelector.cpp
-  src/pqHelpWindow.cxx
-  src/QtPropertyBrowser/qtpropertybrowser.cpp
-  src/QtPropertyBrowser/qtpropertymanager.cpp
-  src/QtPropertyBrowser/qteditorfactory.cpp
-  src/QtPropertyBrowser/qtvariantproperty.cpp
-  src/QtPropertyBrowser/qttreepropertybrowser.cpp
-  src/QtPropertyBrowser/qtbuttonpropertybrowser.cpp
-  src/QtPropertyBrowser/qtgroupboxpropertybrowser.cpp
-  src/QtPropertyBrowser/qtpropertybrowserutils.cpp
-  src/QtPropertyBrowser/DoubleDialogEditor.cpp
-  src/QtPropertyBrowser/DoubleEditorFactory.cpp
-  src/QtPropertyBrowser/FilenameDialogEditor.cpp
-  src/QtPropertyBrowser/FormulaDialogEditor.cpp
-  src/QtPropertyBrowser/ParameterPropertyManager.cpp
-  src/QtPropertyBrowser/StringDialogEditor.cpp
-  src/QtPropertyBrowser/StringEditorFactory.cpp
-  src/QtPropertyBrowser/WorkspaceEditorFactory.cpp
+set(SRC_FILES
+    src/AlgorithmDialog.cpp
+    src/AlgorithmHistoryWindow.cpp
+    src/AlgorithmInputHistory.cpp
+    src/AlgorithmPropertiesWidget.cpp
+    src/AlgorithmRunner.cpp
+    src/AlternateCSPythonLexer.cpp
+    src/BatchAlgorithmRunner.cpp
+    src/BoolPropertyWidget.cpp
+    src/DropEventHelper.cpp
+    src/EditLocalParameterDialog.cpp
+    src/FileDialogHandler.cpp
+    src/FilePropertyWidget.cpp
+    src/GenericDialog.cpp
+    src/HelpWindow.cpp
+    src/FlowLayout.cpp
+    src/Hint.cpp
+    src/IndirectFitPropertyBrowser.cpp
+    src/InterfaceManager.cpp
+    src/ListPropertyWidget.cpp
+    src/LocalParameterEditor.cpp
+    src/LocalParameterItemDelegate.cpp
+    src/LogValueFinder.cpp
+    src/ManageUserDirectories.cpp
+    src/MantidDesktopServices.cpp
+    src/MantidDialog.cpp
+    src/MantidHelpInterface.cpp
+    src/MantidWidget.cpp
+    src/MdConstants.cpp
+    src/MdSettings.cpp
+    src/Message.cpp
+    src/NonOrthogonal.cpp
+    src/MWRunFiles.cpp
+    src/OptionsPropertyWidget.cpp
+    src/pixmaps.cpp
+    src/PlotAxis.cpp
+    src/PluginLibraries.cpp
+    src/PropertyWidget.cpp
+    src/PropertyWidgetFactory.cpp
+    src/PythonRunner.cpp
+    src/QScienceSpinBox.cpp
+    src/QtSignalChannel.cpp
+    src/QtJSONUtils.cpp
+    src/RepoModel.cpp
+    src/ScriptRepositoryView.cpp
+    src/SelectionNotificationService.cpp
+    src/SignalBlocker.cpp
+    src/SyncedCheckboxes.cpp
+    src/TextPropertyWidget.cpp
+    src/TSVSerialiser.cpp
+    src/UserInputValidator.cpp
+    src/UserSubWindow.cpp
+    src/UserSubWindowFactory.cpp
+    src/VatesViewerInterface.cpp
+    src/WidgetScrollbarDecorator.cpp
+    src/WindowIcons.cpp
+    src/WorkspaceObserver.cpp
+    src/WorkspaceIcons.cpp
+    src/AlgorithmSelectorWidget.cpp
+    src/CatalogHelper.cpp
+    src/CatalogSearch.cpp
+    src/CatalogSelector.cpp
+    src/CheckboxHeader.cpp
+    src/DataProcessorUI/AbstractTreeModel.cpp
+    src/DataProcessorUI/TreeData.cpp
+    src/DataProcessorUI/GenerateNotebook.cpp
+    src/DataProcessorUI/OneLevelTreeManager.cpp
+    src/DataProcessorUI/OptionsMap.cpp
+    src/DataProcessorUI/PostprocessingAlgorithm.cpp
+    src/DataProcessorUI/PreprocessingAlgorithm.cpp
+    src/DataProcessorUI/PreprocessMap.cpp
+    src/DataProcessorUI/ProcessingAlgorithm.cpp
+    src/DataProcessorUI/ProcessingAlgorithmBase.cpp
+    src/DataProcessorUI/TreeData.cpp
+    src/DataProcessorUI/TwoLevelTreeManager.cpp
+    src/DataProcessorUI/WhiteList.cpp
+    src/DataProcessorUI/WorkspaceNameUtils.cpp
+    src/DataProcessorUI/PostprocessingStep.cpp
+    src/DataProcessorUI/GenericDataProcessorPresenter.cpp
+    src/DataProcessorUI/Column.cpp
+    src/DataProcessorUI/ConstColumnIterator.cpp
+    src/ParseKeyValueString.cpp
+    src/ParseNumerics.cpp
+    src/DataProcessorUI/QOneLevelTreeModel.cpp
+    src/DataProcessorUI/QTwoLevelTreeModel.cpp
+    src/DataProcessorUI/QDataProcessorWidget.cpp
+    src/DataProcessorUI/QtDataProcessorOptionsDialog.cpp
+    src/DataProcessorUI/VectorString.cpp
+    src/Batch/RowLocation.cpp
+    src/Batch/RowLocationAdapter.cpp
+    src/Batch/RowPredicate.cpp
+    src/Batch/Row.cpp
+    src/Batch/Cell.cpp
+    src/Batch/CellStandardItem.cpp
+    src/Batch/ExtractSubtrees.cpp
+    src/Batch/FindSubtreeRoots.cpp
+    src/Batch/JobTreeView.cpp
+    src/Batch/JobTreeViewSignalAdapter.cpp
+    src/Batch/QtStandardItemTreeAdapter.cpp
+    src/Batch/FilteredTreeModel.cpp
+    src/Batch/QtBasicNavigation.cpp
+    src/Batch/QtTreeCursorNavigation.cpp
+    src/Batch/CellDelegate.cpp
+    src/Batch/BuildSubtreeItems.cpp
+    src/DataSelector.cpp
+    src/DiagResults.cpp
+    src/DoubleSpinBox.cpp
+    src/FindDialog.cpp
+    src/FindFilesThreadPoolManager.cpp
+    src/FindFilesWorker.cpp
+    src/FindReplaceDialog.cpp
+    src/FitOptionsBrowser.cpp
+    src/FitPropertyBrowser.cpp
+    src/FunctionBrowser/FunctionBrowserUtils.cpp
+    src/FunctionBrowser.cpp
+    src/FunctionModel.cpp
+    src/FunctionMultiDomainPresenter.cpp
+    src/FunctionTreeView.cpp
+    src/HintingLineEdit.cpp
+    src/IFunctionModel.cpp
+    src/InputController.cpp
+    src/InstrumentSelector.cpp
+    src/LineEditWithClear.cpp
+    src/LogValueSelector.cpp
+    src/MantidHelpWindow.cpp
+    src/MantidTreeModel.cpp
+    src/MantidTreeWidget.cpp
+    src/MantidTreeWidgetItem.cpp
+    src/MantidWSIndexDialog.cpp
+    src/MessageDisplay.cpp
+    src/MultifitSetupDialog.cpp
+    src/MuonFitDataSelector.cpp
+    src/MuonFitPropertyBrowser.cpp
+    src/MuonFunctionBrowser.cpp
+    src/ProcessingAlgoWidget.cpp
+    src/ProgressableView.cpp
+    src/ProjectSavePresenter.cpp
+    src/ProjectSaveModel.cpp
+    src/PropertyHandler.cpp
+    src/RenameParDialog.cpp
+    src/SaveWorkspaces.cpp
+    src/ScriptEditor.cpp
+    src/SelectFunctionDialog.cpp
+    src/SelectWorkspacesDialog.cpp
+    src/SequentialFitDialog.cpp
+    src/SlicingAlgorithmDialog.cpp
+    src/SlitCalculator.cpp
+    src/TrackedAction.cpp
+    src/UserFunctionDialog.cpp
+    src/WorkspacePresenter/ADSAdapter.cpp
+    src/WorkspacePresenter/WorkspacePresenter.cpp
+    src/WorkspacePresenter/WorkspaceTreeWidget.cpp
+    src/WorkspacePresenter/WorkspaceTreeWidgetSimple.cpp
+    src/WorkspaceSelector.cpp
+    src/pqHelpWindow.cxx
+    src/QtPropertyBrowser/qtpropertybrowser.cpp
+    src/QtPropertyBrowser/qtpropertymanager.cpp
+    src/QtPropertyBrowser/qteditorfactory.cpp
+    src/QtPropertyBrowser/qtvariantproperty.cpp
+    src/QtPropertyBrowser/qttreepropertybrowser.cpp
+    src/QtPropertyBrowser/qtbuttonpropertybrowser.cpp
+    src/QtPropertyBrowser/qtgroupboxpropertybrowser.cpp
+    src/QtPropertyBrowser/qtpropertybrowserutils.cpp
+    src/QtPropertyBrowser/DoubleDialogEditor.cpp
+    src/QtPropertyBrowser/DoubleEditorFactory.cpp
+    src/QtPropertyBrowser/FilenameDialogEditor.cpp
+    src/QtPropertyBrowser/FormulaDialogEditor.cpp
+    src/QtPropertyBrowser/ParameterPropertyManager.cpp
+    src/QtPropertyBrowser/StringDialogEditor.cpp
+    src/QtPropertyBrowser/StringEditorFactory.cpp
+    src/QtPropertyBrowser/WorkspaceEditorFactory.cpp
 )
 
 set(
@@ -747,29 +745,27 @@ set(
   inc/MantidQtWidgets/Common/Python/Object.h
 )
 
-set(
-  UI_FILES
-  inc/MantidQtWidgets/Common/ManageUserDirectories.ui
-  inc/MantidQtWidgets/Common/MWRunFiles.ui
-  inc/MantidQtWidgets/Common/ScriptRepositoryView.ui
-  inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorOptionsDialog.ui
-  inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorWidget.ui
-  inc/MantidQtWidgets/Common/DataSelector.ui
-  inc/MantidQtWidgets/Common/CatalogSearch.ui
-  inc/MantidQtWidgets/Common/CatalogSelector.ui
-  inc/MantidQtWidgets/Common/EditLocalParameterDialog.ui
-  inc/MantidQtWidgets/Common/LogValueSelector.ui
-  inc/MantidQtWidgets/Common/MultifitSetupDialog.ui
-  inc/MantidQtWidgets/Common/MuonFitDataSelector.ui
-  inc/MantidQtWidgets/Common/ProcessingAlgoWidget.ui
-  inc/MantidQtWidgets/Common/RenameParDialog.ui
-  inc/MantidQtWidgets/Common/SelectFunctionDialog.ui
-  inc/MantidQtWidgets/Common/SequentialFitDialog.ui
-  inc/MantidQtWidgets/Common/SlicingAlgorithmDialog.ui
-  inc/MantidQtWidgets/Common/SlitCalculator.ui
-  inc/MantidQtWidgets/Common/UserFunctionDialog.ui
-  inc/MantidQtWidgets/Common/pqHelpWindow.ui
-)
+set(UI_FILES
+    inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorOptionsDialog.ui
+    inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorWidget.ui
+    inc/MantidQtWidgets/Common/DataSelector.ui
+    inc/MantidQtWidgets/Common/CatalogSearch.ui
+    inc/MantidQtWidgets/Common/CatalogSelector.ui
+    inc/MantidQtWidgets/Common/EditLocalParameterDialog.ui
+    inc/MantidQtWidgets/Common/LogValueSelector.ui
+    inc/MantidQtWidgets/Common/ManageUserDirectories.ui
+    inc/MantidQtWidgets/Common/MultifitSetupDialog.ui
+    inc/MantidQtWidgets/Common/MuonFitDataSelector.ui
+    inc/MantidQtWidgets/Common/MWRunFiles.ui
+    inc/MantidQtWidgets/Common/ProcessingAlgoWidget.ui
+    inc/MantidQtWidgets/Common/RenameParDialog.ui
+    inc/MantidQtWidgets/Common/ScriptRepositoryView.ui
+    inc/MantidQtWidgets/Common/SelectFunctionDialog.ui
+    inc/MantidQtWidgets/Common/SequentialFitDialog.ui
+    inc/MantidQtWidgets/Common/SlicingAlgorithmDialog.ui
+    inc/MantidQtWidgets/Common/SlitCalculator.ui
+    inc/MantidQtWidgets/Common/UserFunctionDialog.ui
+    inc/MantidQtWidgets/Common/pqHelpWindow.ui)
 
 # Temporary workaround to remove stale ui_* header files after they were moved
 # to a separate library. They cause build problems if they're not deleted
@@ -913,49 +909,48 @@ mtd_add_qt_library(
 )
 
 # Testing
-set(
-  TEST_FILES
-  test/AlgorithmHintStrategyTest.h
-  test/BatchAlgorithmRunnerTest.h
-  test/FileDialogHandlerTest.h
-  test/FindFilesThreadPoolManagerTest.h
-  test/FindFilesWorkerTest.h
-  test/FunctionModelTest.h
-  test/FunctionMultiDomainPresenterTest.h
-  test/FunctionBrowserUtilsTest.h
-  test/LogValueFinderTest.h
-  test/InterfaceManagerTest.h
-  test/NonOrthogonalTest.h
-  test/ParseKeyValueStringTest.h
-  test/PlotAxisTest.h
-  test/ProgressableViewTest.h
-  test/ProjectSaveModelTest.h
-  test/ProjectSavePresenterTest.h
-  test/SelectionNotificationServiceTest.h
-  test/SignalBlockerTest.h
-  test/TrackedActionTest.h
-  test/QtJSONUtilsTest.h
-  test/Batch/BuildSubtreeItemsTest.h
-  test/Batch/ExtractSubtreesTest.h
-  test/Batch/FindSubtreeRootsTest.h
-  test/Batch/QtAdaptedModelTest.h
-  test/Batch/RowLocationTest.h
-  test/DataProcessorUI/CommandsTest.h
-  test/DataProcessorUI/GenerateNotebookTest.h
-  test/DataProcessorUI/GenericDataProcessorPresenterTest.h
-  test/DataProcessorUI/OneLevelTreeManagerTest.h
-  test/DataProcessorUI/PostprocessingAlgorithmTest.h
-  test/DataProcessorUI/PreprocessingAlgorithmTest.h
-  test/DataProcessorUI/PreprocessMapTest.h
-  test/DataProcessorUI/ProcessingAlgorithmBaseTest.h
-  test/DataProcessorUI/ProcessingAlgorithmTest.h
-  test/DataProcessorUI/QOneLevelTreeModelTest.h
-  test/DataProcessorUI/QTwoLevelTreeModelTest.h
-  test/DataProcessorUI/TwoLevelTreeManagerTest.h
-  test/DataProcessorUI/WhiteListTest.h
-  test/WorkspacePresenter/ADSAdapterTest.h
-  test/WorkspacePresenter/WorkspacePresenterTest.h
-)
+set(TEST_FILES
+    test/AlgorithmHintStrategyTest.h
+    test/BatchAlgorithmRunnerTest.h
+    test/FileDialogHandlerTest.h
+    test/FindFilesThreadPoolManagerTest.h
+    test/FindFilesWorkerTest.h
+    test/FunctionModelTest.h
+    test/FunctionMultiDomainPresenterTest.h
+    test/FunctionBrowserUtilsTest.h
+    test/LogValueFinderTest.h
+    test/InterfaceManagerTest.h
+    test/NonOrthogonalTest.h
+    test/ParseKeyValueStringTest.h
+    test/PlotAxisTest.h
+    test/ProgressableViewTest.h
+    test/ProjectSaveModelTest.h
+    test/ProjectSavePresenterTest.h
+    test/ScriptRepositoryViewTest.h
+    test/SelectionNotificationServiceTest.h
+    test/SignalBlockerTest.h
+    test/TrackedActionTest.h
+    test/QtJSONUtilsTest.h
+    test/Batch/BuildSubtreeItemsTest.h
+    test/Batch/ExtractSubtreesTest.h
+    test/Batch/FindSubtreeRootsTest.h
+    test/Batch/QtAdaptedModelTest.h
+    test/Batch/RowLocationTest.h
+    test/DataProcessorUI/CommandsTest.h
+    test/DataProcessorUI/GenerateNotebookTest.h
+    test/DataProcessorUI/GenericDataProcessorPresenterTest.h
+    test/DataProcessorUI/OneLevelTreeManagerTest.h
+    test/DataProcessorUI/PostprocessingAlgorithmTest.h
+    test/DataProcessorUI/PreprocessingAlgorithmTest.h
+    test/DataProcessorUI/PreprocessMapTest.h
+    test/DataProcessorUI/ProcessingAlgorithmBaseTest.h
+    test/DataProcessorUI/ProcessingAlgorithmTest.h
+    test/DataProcessorUI/QOneLevelTreeModelTest.h
+    test/DataProcessorUI/QTwoLevelTreeModelTest.h
+    test/DataProcessorUI/TwoLevelTreeManagerTest.h
+    test/DataProcessorUI/WhiteListTest.h
+    test/WorkspacePresenter/ADSAdapterTest.h
+    test/WorkspacePresenter/WorkspacePresenterTest.h)
 
 set(CXXTEST_EXTRA_HEADER_INCLUDE
     ${CMAKE_CURRENT_LIST_DIR}/test/WidgetsCommonTestInitialization.h)
diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/RepoModel.h b/qt/widgets/common/inc/MantidQtWidgets/Common/RepoModel.h
index 0580ee662d2..610254482d5 100644
--- a/qt/widgets/common/inc/MantidQtWidgets/Common/RepoModel.h
+++ b/qt/widgets/common/inc/MantidQtWidgets/Common/RepoModel.h
@@ -16,7 +16,6 @@
 #include <QStringList>
 #include <QVariant>
 #include <QWidget>
-#include <QtConcurrentRun>
 
 class QLineEdit;
 class QCheckBox;
diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/RepoTreeView.h b/qt/widgets/common/inc/MantidQtWidgets/Common/RepoTreeView.h
index ead0b25326c..9846f11aad6 100644
--- a/qt/widgets/common/inc/MantidQtWidgets/Common/RepoTreeView.h
+++ b/qt/widgets/common/inc/MantidQtWidgets/Common/RepoTreeView.h
@@ -13,11 +13,9 @@
 namespace MantidQt {
 namespace API {
 /** RepoTreeView : A specialization of QTreeView class that emits signal every
-  time
-    the selection change. It extends the currentChanged method in order to add
-  the
-    emition of the signal currentCell.
-*/
+ * time the selection change. It extends the currentChanged method in order to
+ * add the emition of the signal currentCell.
+ */
 class EXPORT_OPT_MANTIDQT_COMMON RepoTreeView : public QTreeView {
   Q_OBJECT
 
diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/ScriptRepositoryView.h b/qt/widgets/common/inc/MantidQtWidgets/Common/ScriptRepositoryView.h
index 041b2a62ef2..db0e78ce48d 100644
--- a/qt/widgets/common/inc/MantidQtWidgets/Common/ScriptRepositoryView.h
+++ b/qt/widgets/common/inc/MantidQtWidgets/Common/ScriptRepositoryView.h
@@ -8,6 +8,7 @@
 #define MANTID_API_SCRIPTREPOSITORYVIEW_H_
 
 #include "DllOption.h"
+#include "MantidQtWidgets/Common/MantidDialog.h"
 #include "ui_ScriptRepositoryView.h"
 #include <QDialog>
 #include <QStyledItemDelegate>
@@ -16,17 +17,13 @@ namespace MantidQt {
 namespace API {
 class RepoModel;
 /** ScriptRepositoryView : Provide the User Interface to the ScriptRepository.
-  It does so
-    through the Mantid Model View Framework. It is composed by a specialized
-  QTreeView
-    (RepoTreeView) and a TextBrowser. The TreeView is populated with the
-  RepoModel, wich wrappers
-    the ScriptRepository. Inside this class, there are two nested classes that
-  will implement
-    delegates to the columns of Status and AutoUpdate in order to improve the
-  User Experience.
+  It does so through the Mantid Model View Framework. It is composed by a
+  specialized QTreeView (RepoTreeView) and a TextBrowser. The TreeView is
+  populated with the RepoModel, wich wrappers the ScriptRepository. Inside this
+  class, there are two nested classes that will implement delegates to the
+  columns of Status and AutoUpdate in order to improve the User Experience.
 */
-class EXPORT_OPT_MANTIDQT_COMMON ScriptRepositoryView : public QDialog {
+class EXPORT_OPT_MANTIDQT_COMMON ScriptRepositoryView : public MantidDialog {
   Q_OBJECT
 
   /// Delegate to show the icons Download and Upload
diff --git a/qt/widgets/common/src/ScriptRepositoryView.cpp b/qt/widgets/common/src/ScriptRepositoryView.cpp
index c8d5fa7ebdc..3dec493230c 100644
--- a/qt/widgets/common/src/ScriptRepositoryView.cpp
+++ b/qt/widgets/common/src/ScriptRepositoryView.cpp
@@ -93,7 +93,7 @@ const QString dir_not_empty_label =
  *
  */
 ScriptRepositoryView::ScriptRepositoryView(QWidget *parent)
-    : QDialog(parent), ui(new Ui::ScriptRepositoryView) {
+    : MantidDialog(parent), ui(new Ui::ScriptRepositoryView) {
   using Mantid::API::ScriptRepositoryFactory;
   using Mantid::Kernel::ConfigService;
   using Mantid::Kernel::ConfigServiceImpl;
diff --git a/qt/widgets/common/test/ScriptRepositoryViewTest.h b/qt/widgets/common/test/ScriptRepositoryViewTest.h
new file mode 100644
index 00000000000..748baa8f407
--- /dev/null
+++ b/qt/widgets/common/test/ScriptRepositoryViewTest.h
@@ -0,0 +1,34 @@
+// Mantid Repository : https://github.com/mantidproject/mantid
+//
+// Copyright &copy; 2019 ISIS Rutherford Appleton Laboratory UKRI,
+//     NScD Oak Ridge National Laboratory, European Spallation Source
+//     & Institut Laue - Langevin
+// SPDX - License - Identifier: GPL - 3.0 +
+
+#ifndef MANTIDQT_API_SCRIPTREPOSITORYVIEWTEST_H_
+#define MANTIDQT_API_SCRIPTREPOSITORYVIEWTEST_H_
+
+#include <cxxtest/TestSuite.h>
+
+#include "MantidQtWidgets/Common/ScriptRepositoryView.h"
+
+using MantidQt::API::ScriptRepositoryView;
+
+class ScriptRepositoryViewTest : public CxxTest::TestSuite {
+public:
+  // This pair of boilerplate methods prevent the suite being created statically
+  // This means the constructor isn't called when running other tests
+  static ScriptRepositoryViewTest *createSuite() { return new ScriptRepositoryViewTest(); }
+  static void destroySuite( ScriptRepositoryViewTest *suite ) { delete suite; }
+
+
+  void test_Something()
+  {
+		ScriptRepositoryView();
+  }
+
+
+};
+
+
+#endif /* MANTIDQT_API_SCRIPTREPOSITORYVIEWTEST_H_ */
\ No newline at end of file
-- 
GitLab