Index: src/sas/qtgui/MainWindow/DataExplorer.py
===================================================================
--- src/sas/qtgui/MainWindow/DataExplorer.py	(revision 4992ff2626be19df7de9e5dfc0078b96bf47a75e)
+++ src/sas/qtgui/MainWindow/DataExplorer.py	(revision 7969b9cd4da902481490aee839cad862a47ed05a)
@@ -182,5 +182,4 @@
         Opens the Qt "Open File..." dialog
         """
-        print("A")
         path_str = self.chooseFiles()
         if not path_str:
@@ -193,5 +192,5 @@
         Opens the Qt "Open Folder..." dialog
         """
-        folder = QtWidgets.QFileDialog.getExistingDirectory(self, "Choose a directory", "", None,
+        folder = QtWidgets.QFileDialog.getExistingDirectory(self, "Choose a directory", "",
               QtWidgets.QFileDialog.ShowDirsOnly | QtWidgets.QFileDialog.DontUseNativeDialog)
         if folder is None:
@@ -398,4 +397,5 @@
             if outer_item.isCheckable() and \
                    outer_item.checkState() == QtCore.Qt.Checked:
+                self.model.beginResetModel()
                 theories_copied += 1
                 new_item = self.recursivelyCloneItem(outer_item)
@@ -405,5 +405,6 @@
                 new_item.setText(new_name)
                 self.model.appendRow(new_item)
-            self.model.reset()
+                self.model.endResetModel()
+            #self.model.reset()
 
         freeze_msg = ""
@@ -577,5 +578,5 @@
 
         # Add the plot to the workspace
-        self.parent.workspace().addWindow(new_plot)
+        self.parent.workspace().addSubWindow(new_plot)
 
         # Show the plot
@@ -626,5 +627,6 @@
         # But only with Qt built-in dialog (non-platform native)
         paths = QtWidgets.QFileDialog.getOpenFileNames(self, "Choose a file", "",
-                wlist, None, QtWidgets.QFileDialog.DontUseNativeDialog)
+                wlist, None, QtWidgets.QFileDialog.DontUseNativeDialog)[0]
+        # [0] is new in Qt5 as getOpenFileNames() returns now a tuple!
         if paths is None:
             return
@@ -686,6 +688,6 @@
                     self.mutex.lock()
                     self.updateModel(new_data, p_file)
-                    self.model.reset()
-                    QtGui.qApp.processEvents()
+                    #self.model.reset()
+                    QtWidgets.QApplication.processEvents()
                     self.mutex.unlock()
 
@@ -907,5 +909,5 @@
         # Move the slider all the way up, if present
         vertical_scroll_bar = self.txt_widget.verticalScrollBar()
-        vertical_scroll_bar.triggerAction(QtGui.QScrollBar.SliderToMinimum)
+        vertical_scroll_bar.triggerAction(QtWidgets.QScrollBar.SliderToMinimum)
 
     def saveDataAs(self):
@@ -995,5 +997,5 @@
 
         # Reset the model so the view gets updated.
-        self.model.reset()
+        #self.model.reset()
         self.communicator.progressBarUpdateSignal.emit(-1)
 
@@ -1005,5 +1007,5 @@
         self.manager.add_data(data_list=output_data)
 
-    def loadErrback(self, reason):
+    def loadFailed(self, reason):
         print("File Load Failed with:\n", reason)
         pass
@@ -1047,5 +1049,7 @@
 
         # New row in the model
+        self.model.beginResetModel()
         self.model.appendRow(checkbox_item)
+        self.model.endResetModel()
 
     def updateModelFromPerspective(self, model_item):
@@ -1062,5 +1066,5 @@
 
         # Reset the view
-        self.model.reset()
+        ##self.model.reset()
         # Pass acting as a debugger anchor
         pass
@@ -1098,5 +1102,5 @@
 
 if __name__ == "__main__":
-    app = QtGui.QApplication([])
+    app = QtWidgets.QApplication([])
     dlg = DataExplorerWindow()
     dlg.show()
Index: src/sas/qtgui/MainWindow/GuiManager.py
===================================================================
--- src/sas/qtgui/MainWindow/GuiManager.py	(revision 4992ff2626be19df7de9e5dfc0078b96bf47a75e)
+++ src/sas/qtgui/MainWindow/GuiManager.py	(revision 7969b9cd4da902481490aee839cad862a47ed05a)
@@ -77,5 +77,5 @@
 
         # Invoke the initial perspective
-        self.perspectiveChanged("Fitting")
+        #self.perspectiveChanged("Fitting")
         self.addWidgets()
 
@@ -91,5 +91,4 @@
         # Set up the status bar
         self.statusBarSetup()
-
         # Show the Welcome panel
         self.welcomePanel = WelcomePanel()
@@ -117,12 +116,12 @@
 
         self.dockedFilesWidget = QDockWidget("Data Explorer", self._workspace)
-        self.dockedFilesWidget.setFloating(True)
+        self.dockedFilesWidget.setFloating(False)
         self.dockedFilesWidget.setWidget(self.filesWidget)
 
         # Disable maximize/minimize and close buttons
         self.dockedFilesWidget.setFeatures(QDockWidget.NoDockWidgetFeatures)
-        self.dockedFilesWidget.setFeatures(Qt.LeftDockWidgetArea)
-
-        self._workspace.workspace.addDockWidget(Qt.LeftDockWidgetArea, self.dockedFilesWidget)
+
+        #self._workspace.workspace.addDockWidget(Qt.LeftDockWidgetArea, self.dockedFilesWidget)
+        self._workspace.addDockWidget(Qt.LeftDockWidgetArea, self.dockedFilesWidget)
 
         # Add the console window as another docked widget
@@ -132,5 +131,5 @@
         self.listWidget = QTextBrowser()
         self.logDockWidget.setWidget(self.listWidget)
-        self._workspace.workspace.addDockWidget(Qt.BottomDockWidgetAre, self.logDockWidget) 
+        self._workspace.addDockWidget(Qt.BottomDockWidgetArea, self.logDockWidget)
 
         # Add other, minor widgets
@@ -199,9 +198,10 @@
 
         # Resize to the workspace height
-        workspace_height = self._workspace.workspace.sizeHint().height()
-        perspective_size = self._current_perspective.sizeHint()
-        if workspace_height < perspective_size.height():
-            perspective_width = perspective_size.width()
-            self._current_perspective.resize(perspective_width, workspace_height-10)
+        #workspace_height = self._workspace.workspace.sizeHint().height()
+        #perspective_size = self._current_perspective.sizeHint()
+        #if workspace_height < perspective_size.height():
+        #    perspective_width = perspective_size.width()
+        #    self._current_perspective.resize(perspective_width, workspace_height-10)
+
         self._current_perspective.show()
 
