Index: src/sas/qtgui/DataExplorer.py
===================================================================
--- src/sas/qtgui/DataExplorer.py	(revision 9f25bce3a6433f280a7e1a6a6e898ad7f6aefbf3)
+++ src/sas/qtgui/DataExplorer.py	(revision 454670d9c31222d3fd4e862e5308396fdd3ae7d4)
@@ -627,4 +627,5 @@
         # Notify the progress bar that the updates are over.
         self.communicator.progressBarUpdateSignal.emit(-1)
+        self.communicator.statusBarUpdateSignal.emit(message)
 
         return output, message
Index: src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py	(revision b1e36a387414e3a8dc9726bbef5c0651364e2b64)
+++ src/sas/qtgui/Perspectives/Fitting/FittingPerspective.py	(revision 454670d9c31222d3fd4e862e5308396fdd3ae7d4)
@@ -117,12 +117,11 @@
             raise AttributeError, msg
 
-        self._model_item = data_item[0]
+        for data in data_item:
+            # Find the first unassigned tab.
+            # If none, open a new tab.
+            available_tabs = list(map(lambda tab: tab.acceptsData(), self.tabs))
 
-        # Find the first unassigned tab.
-        # If none, open a new tab.
-        available_tabs = list(map(lambda tab: tab.acceptsData(), self.tabs))
-
-        if numpy.any(available_tabs):
-            self.tabs[available_tabs.index(True)].data = data_item
-        else:
-            self.addFit(data_item)
+            if numpy.any(available_tabs):
+                self.tabs[available_tabs.index(True)].data = data
+            else:
+                self.addFit(data)
Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision f182f93463e4e6fc08ca96b3539a3dfe42621d26)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 454670d9c31222d3fd4e862e5308396fdd3ae7d4)
@@ -4,4 +4,5 @@
 import numpy
 from collections import defaultdict
+from itertools import izip
 
 import logging
@@ -133,13 +134,15 @@
         self.cbCategory.setCurrentIndex(0)
 
+        # Connect signals to controls
+        self.initializeSignals()
+
+        # Initial control state
+        self.initializeControls()
+
         self._index = None
         if data is not None:
             self.data = data
-
-        # Connect signals to controls
-        self.initializeSignals()
-
-        # Initial control state
-        self.initializeControls()
+        # Update Q Ranges
+        #self.updateQRange()
 
     @property
@@ -150,10 +153,10 @@
     def data(self, value):
         """ data setter """
-        assert isinstance(value[0], QtGui.QStandardItem)
+        assert isinstance(value, QtGui.QStandardItem)
         # _index contains the QIndex with data
-        self._index = value[0]
+        self._index = value
 
         # Update logics with data items
-        self.logic.data = GuiUtils.dataFromItem(value[0])
+        self.logic.data = GuiUtils.dataFromItem(value)
 
         self.data_is_loaded = True
@@ -163,4 +166,5 @@
         self.updateQRange()
         self.cmdFit.setEnabled(True)
+        print "set to ", self.cmdFit.isEnabled()
 
     def acceptsData(self):
@@ -189,19 +193,13 @@
 
     def togglePoly(self, isChecked):
-        """
-        Enable/disable the polydispersity tab
-        """
+        """ Enable/disable the polydispersity tab """
         self.tabFitting.setTabEnabled(TAB_POLY, isChecked)
 
     def toggleMagnetism(self, isChecked):
-        """
-        Enable/disable the magnetism tab
-        """
+        """ Enable/disable the magnetism tab """
         self.tabFitting.setTabEnabled(TAB_MAGNETISM, isChecked)
 
     def toggle2D(self, isChecked):
-        """
-        Enable/disable the controls dependent on 1D/2D data instance
-        """
+        """ Enable/disable the controls dependent on 1D/2D data instance """
         self.chkMagnetism.setEnabled(isChecked)
         self.is2D = isChecked
@@ -223,6 +221,4 @@
         self.tabFitting.setTabEnabled(TAB_MAGNETISM, False)
         self.lblChi2Value.setText("---")
-        # Update Q Ranges
-        self.updateQRange()
 
     def initializeSignals(self):
@@ -413,5 +409,4 @@
         """
         Receive and display fitting results
-
         "result" is a tuple of actual result list and the fit time in seconds
         """
@@ -426,4 +421,5 @@
             not numpy.all(numpy.isfinite(res.pvec)):
             msg = "Fitting did not converge!!!"
+            self.communicate.statusBarUpdateSignal.emit(msg)
             logging.error(msg)
             return
@@ -431,5 +427,4 @@
         elapsed = result[1]
         msg = "Fitting completed successfully in: %s s.\n" % GuiUtils.formatNumber(elapsed)
-
         self.communicate.statusBarUpdateSignal.emit(msg)
 
@@ -438,6 +433,4 @@
         param_values = res.pvec
         param_stderr = res.stderr
-        from itertools import izip
-        # TODO: add errors to the dict so they can propagate to the view
         params_and_errors = zip(param_values, param_stderr)
         param_dict = dict(izip(param_list, params_and_errors))
@@ -451,5 +444,5 @@
         self.lblChi2Value.setText(chi2_repr)
 
-        pass
+        # Generate charts
 
     def iterateOverModel(self, func):
@@ -475,7 +468,9 @@
                 return
             # modify the param value
-            self._model_model.item(row_i, 1).setText(str(param_dict[param_name][0]))
+            param_repr = GuiUtils.formatNumber(param_dict[param_name][0], high=True)
+            self._model_model.item(row_i, 1).setText(param_repr)
             if self.has_error_column:
-                self._model_model.item(row_i, 2).setText(str(param_dict[param_name][1]))
+                error_repr = GuiUtils.formatNumber(param_dict[param_name][1], high=True)
+                self._model_model.item(row_i, 2).setText(error_repr)
 
         def createColumn(row_i):
@@ -500,5 +495,4 @@
         self._model_model.insertColumn(2, error_column)
         FittingUtilities.addErrorHeadersToModel(self._model_model)
-
 
     def onPlot(self):
@@ -674,6 +668,4 @@
             structure_parameters = modelinfo.make_parameter_table(getattr(structure_module, 'parameters', []))
             FittingUtilities.addSimpleParametersToModel(structure_parameters, self._model_model)
-            # Set the error column width to 0
-            self.lstParams.setColumnWidth(2, 20)
             # Update the counter used for multishell display
             self._last_model_row = self._model_model.rowCount()
