Index: prview/perspectives/pr/inversion_panel.py
===================================================================
--- prview/perspectives/pr/inversion_panel.py	(revision 2a92852289b3d31493a8b789124f9826d3a28bf6)
+++ prview/perspectives/pr/inversion_panel.py	(revision 357b79bbbeba38e9d823b795286617198f6617c3)
@@ -348,8 +348,8 @@
             sizer_slit = wx.GridBagSizer(5,5)
     
-            label_sheight = wx.StaticText(self, -1, "Height")
-            label_swidth = wx.StaticText(self, -1, "Width")
+            label_sheight = wx.StaticText(self, -1, "Height", size=(35,20))
+            label_swidth = wx.StaticText(self, -1, "Width", size=(35,20))
             #label_sunits1 = wx.StaticText(self, -1, "[A^(-1)]")
-            label_sunits2 = wx.StaticText(self, -1, "[A^(-1)]")
+            label_sunits2 = wx.StaticText(self, -1, "[A^(-1)]", size=(40,20))
             self.sheight_ctl = wx.TextCtrl(self, -1, size=(60,20))
             self.swidth_ctl = wx.TextCtrl(self, -1, size=(60,20))
@@ -360,13 +360,44 @@
             
             iy = 0
-            sizer_slit.Add(label_sheight,    (iy,0), (1,1), wx.LEFT|wx.EXPAND, 15)
-            sizer_slit.Add(self.sheight_ctl, (iy,1), (1,1), wx.LEFT|wx.EXPAND, 10)
+            sizer_slit.Add(label_sheight,    (iy,0), (1,1), wx.LEFT|wx.EXPAND, 5)
+            sizer_slit.Add(self.sheight_ctl, (iy,1), (1,1), wx.LEFT|wx.EXPAND, 5)
             #sizer_slit.Add(label_sunits1,    (iy,2), (1,1), wx.LEFT|wx.EXPAND, 10)
-            sizer_slit.Add(label_swidth,     (iy,2), (1,1), wx.LEFT|wx.EXPAND, 15)
-            sizer_slit.Add(self.swidth_ctl,  (iy,3), (1,1), wx.LEFT|wx.EXPAND, 10)
-            sizer_slit.Add(label_sunits2,    (iy,4), (1,1), wx.LEFT|wx.EXPAND, 10)
+            sizer_slit.Add(label_swidth,     (iy,2), (1,1), wx.LEFT|wx.EXPAND, 5)
+            sizer_slit.Add(self.swidth_ctl,  (iy,3), (1,1), wx.LEFT|wx.EXPAND, 5)
+            sizer_slit.Add(label_sunits2,    (iy,4), (1,1), wx.LEFT|wx.EXPAND, 5)
             
             sboxsizer.Add(sizer_slit, wx.TOP, 15)
             vbox.Add(sboxsizer)
+        
+        
+        # ----- Q range -----
+        qbox = wx.StaticBox(self, -1, "Q range")
+        qboxsizer = wx.StaticBoxSizer(qbox, wx.VERTICAL)
+        qboxsizer.SetMinSize((320,20))
+        
+        sizer_q = wx.GridBagSizer(5,5)
+
+        label_qmin = wx.StaticText(self, -1, "Q min", size=(35,20))
+        label_qmax = wx.StaticText(self, -1, "Q max", size=(35,20))
+        #label_qunits1 = wx.StaticText(self, -1, "[A^(-1)]")
+        label_qunits2 = wx.StaticText(self, -1, "[A^(-1)]", size=(40,20))
+        self.qmin_ctl = wx.TextCtrl(self, -1, size=(60,20))
+        self.qmax_ctl = wx.TextCtrl(self, -1, size=(60,20))
+        self.qmin_ctl.SetToolTipString("Select a lower bound for Q or leave blank.")
+        self.qmax_ctl.SetToolTipString("Select an upper bound for Q or leave blank.")
+        self.qmin_ctl.Bind(wx.EVT_TEXT, self._on_pars_changed)
+        self.qmax_ctl.Bind(wx.EVT_TEXT, self._on_pars_changed)
+        
+        iy = 0
+        sizer_q.Add(label_qmin,    (iy,0), (1,1), wx.LEFT|wx.EXPAND, 5)
+        sizer_q.Add(self.qmin_ctl, (iy,1), (1,1), wx.LEFT|wx.EXPAND, 5)
+        #sizer_q.Add(label_qunits1, (iy,2), (1,1), wx.LEFT|wx.EXPAND, 15)
+        sizer_q.Add(label_qmax,    (iy,2), (1,1), wx.LEFT|wx.EXPAND, 5)
+        sizer_q.Add(self.qmax_ctl, (iy,3), (1,1), wx.LEFT|wx.EXPAND, 5)
+        sizer_q.Add(label_qunits2, (iy,4), (1,1), wx.LEFT|wx.EXPAND, 5)
+        qboxsizer.Add(sizer_q, wx.TOP, 15)
+        vbox.Add(qboxsizer)
+        
+        
         
 
@@ -443,33 +474,4 @@
         vbox.Add(boxsizer2)
 
-        # ----- Q range -----
-        qbox = wx.StaticBox(self, -1, "Q range")
-        qboxsizer = wx.StaticBoxSizer(qbox, wx.VERTICAL)
-        qboxsizer.SetMinSize((320,20))
-        
-        sizer_q = wx.GridBagSizer(5,5)
-
-        label_qmin = wx.StaticText(self, -1, "Q min")
-        label_qmax = wx.StaticText(self, -1, "Q max")
-        #label_qunits1 = wx.StaticText(self, -1, "[A^(-1)]")
-        label_qunits2 = wx.StaticText(self, -1, "[A^(-1)]")
-        self.qmin_ctl = wx.TextCtrl(self, -1, size=(60,20))
-        self.qmax_ctl = wx.TextCtrl(self, -1, size=(60,20))
-        self.qmin_ctl.SetToolTipString("Select a lower bound for Q or leave blank.")
-        self.qmax_ctl.SetToolTipString("Select an upper bound for Q or leave blank.")
-        self.qmin_ctl.Bind(wx.EVT_TEXT, self._on_pars_changed)
-        self.qmax_ctl.Bind(wx.EVT_TEXT, self._on_pars_changed)
-        
-        iy = 0
-        sizer_q.Add(label_qmin,    (iy,0), (1,1), wx.LEFT|wx.EXPAND, 15)
-        sizer_q.Add(self.qmin_ctl, (iy,1), (1,1), wx.LEFT|wx.EXPAND, 10)
-        #sizer_q.Add(label_qunits1, (iy,2), (1,1), wx.LEFT|wx.EXPAND, 15)
-        sizer_q.Add(label_qmax,    (iy,2), (1,1), wx.LEFT|wx.EXPAND, 15)
-        sizer_q.Add(self.qmax_ctl, (iy,3), (1,1), wx.LEFT|wx.EXPAND, 10)
-        sizer_q.Add(label_qunits2, (iy,4), (1,1), wx.LEFT|wx.EXPAND, 15)
-        qboxsizer.Add(sizer_q, wx.TOP, 15)
-        vbox.Add(qboxsizer)
-        
-        
 
         # ----- Results -----
Index: prview/perspectives/pr/pr.py
===================================================================
--- prview/perspectives/pr/pr.py	(revision 2a92852289b3d31493a8b789124f9826d3a28bf6)
+++ prview/perspectives/pr/pr.py	(revision 357b79bbbeba38e9d823b795286617198f6617c3)
@@ -351,4 +351,10 @@
                     pass
                    
+        if not scale==None:
+            message = "The loaded file had no error bars, statistical errors are assumed."
+            wx.PostEvent(self.parent, StatusEvent(status=message))
+        else:
+            wx.PostEvent(self.parent, StatusEvent(status=''))
+                        
         return data_x, data_y, data_err     
         
@@ -519,5 +525,8 @@
               
         # Make a plot of I(q) data
-        new_plot = Data1D(self.pr.x, self.pr.y, dy=self.pr.err)
+        if self.pr.err==None:
+            new_plot = Theory1D(self.pr.x, self.pr.y)
+        else:
+            new_plot = Data1D(self.pr.x, self.pr.y, dy=self.pr.err)
         new_plot.name = "I_{obs}(q)"
         new_plot.xaxis("\\rm{Q}", 'A^{-1}')
@@ -648,7 +657,21 @@
             @param path: path of the file to read in 
         """
+        from sans.guiframe.data_loader import load_ascii_1D
+        import numpy
         # Load data
         if os.path.isfile(path):
+            
             x, y, err = self.load(path)
+            #x, y, err = load_ascii_1D(path)
+            
+            # If we have not errors, add statistical errors
+            if err==None:
+                err = numpy.zeros(len(y))
+                for i in range(len(y)):
+                    err[i] = math.sqrt( math.fabs(y[i]) )
+                message = "The loaded file had no error bars, statistical errors are assumed."
+                wx.PostEvent(self.parent, StatusEvent(status=message))
+            else:
+                wx.PostEvent(self.parent, StatusEvent(status=''))
             
             # Get the data from the chosen data set and perform inversion
@@ -674,5 +697,4 @@
         from copy import deepcopy
         
-        wx.PostEvent(self.parent, StatusEvent(status=''))
         # If a thread is already started, stop it
         if self.estimation_thread != None and self.estimation_thread.isrunning():
@@ -690,5 +712,4 @@
         from copy import deepcopy
         
-        wx.PostEvent(self.parent, StatusEvent(status=''))
         # If a thread is already started, stop it
         if self.estimation_thread != None and self.estimation_thread.isrunning():
Index: prview/perspectives/pr/pr_thread.py
===================================================================
--- prview/perspectives/pr/pr_thread.py	(revision 2a92852289b3d31493a8b789124f9826d3a28bf6)
+++ prview/perspectives/pr/pr_thread.py	(revision 357b79bbbeba38e9d823b795286617198f6617c3)
@@ -105,5 +105,14 @@
         self.error_func = error_func
         self.starttime = 0
-        
+        self._time_for_sleep = 0
+        self._sleep_delay = 1.0
+
+
+    def isquit(self):
+        CalcThread.isquit(self)
+        if time.time()>self._time_for_sleep+self._sleep_delay:
+            time.sleep(.2)
+            self._time_for_sleep = time.time()
+
     def compute(self):
         """
@@ -113,4 +122,5 @@
         try:            
             t_0 = time.time()
+            self._time_for_sleep = t_0
             nterms, alpha, message = self.pr.estimate_numterms(self.isquit)
             t_1 = time.time()-t_0
