Index: src/sas/sasgui/perspectives/fitting/basepage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/basepage.py	(revision 7a5aedda76976d4f6d7b04abfca1d59d2455dd6d)
+++ src/sas/sasgui/perspectives/fitting/basepage.py	(revision 7e98655d15af7975df43028861c85420dadc5a47)
@@ -120,6 +120,5 @@
         self.dxw = None
         # pinhole smear
-        self.dx_min = None
-        self.dx_max = None
+        self.dx_percent = None
         # smear attrbs
         self.enable_smearer = None
@@ -849,6 +848,5 @@
         self.state.pinhole_smearer = \
                                 copy.deepcopy(self.pinhole_smearer.GetValue())
-        self.state.dx_max = copy.deepcopy(self.dx_max)
-        self.state.dx_min = copy.deepcopy(self.dx_min)
+        self.state.dx_percent = copy.deepcopy(self.dx_percent)
         self.state.dxl = copy.deepcopy(self.dxl)
         self.state.dxw = copy.deepcopy(self.dxw)
@@ -1247,10 +1245,7 @@
         # we have two more options for smearing
         if self.pinhole_smearer.GetValue():
-            self.dx_min = state.dx_min
-            self.dx_max = state.dx_max
-            if self.dx_min is not None:
-                self.smear_pinhole_min.SetValue(str(self.dx_min))
-            if self.dx_max is not None:
-                self.smear_pinhole_max.SetValue(str(self.dx_max))
+            self.dx_percent = state.dx_max
+            if self.dx_percent is not None:
+                self.smear_pinhole_max.SetValue(str(self.dx_percent))
             self.onPinholeSmear(event=None)
         elif self.slit_smearer.GetValue():
Index: src/sas/sasgui/perspectives/fitting/fitpage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitpage.py	(revision 2d568f649389db3d59ceb4e0e7c433010da67d64)
+++ src/sas/sasgui/perspectives/fitting/fitpage.py	(revision 7e98655d15af7975df43028861c85420dadc5a47)
@@ -29,5 +29,4 @@
 _BOX_WIDTH = 76
 _DATA_BOX_WIDTH = 300
-SMEAR_SIZE_L = 0.00
 SMEAR_SIZE_H = 0.00
 CUSTOM_MODEL = 'Plugin Models'
@@ -210,9 +209,8 @@
               "Please enter only the value of interest to customize smearing..."
         smear_message_new_psmear = \
-              "Please enter both; the dQ will be generated by interpolation..."
+              "Please enter a fixed percentage to be applied to all Q values..."
         smear_message_2d_x_title = "<dQp>[1/A]:"
         smear_message_2d_y_title = "<dQs>[1/A]:"
-        smear_message_pinhole_min_title = "dQ_low[1/A]:"
-        smear_message_pinhole_max_title = "dQ_high[1/A]:"
+        smear_message_pinhole_percent_title = "dQ[%]:"
         smear_message_slit_height_title = "Slit height[1/A]:"
         smear_message_slit_width_title = "Slit width[1/A]:"
@@ -307,12 +305,9 @@
         
         # textcntrl for custom resolution
-        self.smear_pinhole_max = ModelTextCtrl(self, wx.ID_ANY,
-                            size=(_BOX_WIDTH - 25, 20),
-                            style=wx.TE_PROCESS_ENTER,
-                            text_enter_callback=self.onPinholeSmear)
-        self.smear_pinhole_min = ModelTextCtrl(self, wx.ID_ANY,
-                            size=(_BOX_WIDTH - 25, 20),
-                            style=wx.TE_PROCESS_ENTER,
-                            text_enter_callback=self.onPinholeSmear)
+        self.smear_pinhole_percent = ModelTextCtrl(self, wx.ID_ANY,
+                                                   size=(_BOX_WIDTH - 25, 20),
+                                                   style=wx.TE_PROCESS_ENTER,
+                                                   text_enter_callback=
+                                                   self.onPinholeSmear)
         self.smear_slit_height = ModelTextCtrl(self, wx.ID_ANY,
                             size=(_BOX_WIDTH - 25, 20),
@@ -333,6 +328,5 @@
 
         # set default values for smear
-        self.smear_pinhole_max.SetValue(str(self.dx_max))
-        self.smear_pinhole_min.SetValue(str(self.dx_min))
+        self.smear_pinhole_percent.SetValue(str(self.dx_percent))
         self.smear_slit_height.SetValue(str(self.dxl))
         self.smear_slit_width.SetValue(str(self.dxw))
@@ -426,8 +420,7 @@
         self.smear_description_2d_y.SetToolTipString(
                                     " dQs(perpendicular) in q_phi direction.")
-        self.smear_description_pin_min = wx.StaticText(self, wx.ID_ANY,
-                        smear_message_pinhole_min_title, style=wx.ALIGN_LEFT)
-        self.smear_description_pin_max = wx.StaticText(self, wx.ID_ANY,
-                        smear_message_pinhole_max_title, style=wx.ALIGN_LEFT)
+        self.smear_description_pin_percent = wx.StaticText(self, wx.ID_ANY,
+                                            smear_message_pinhole_percent_title,
+                                            style=wx.ALIGN_LEFT)
         self.smear_description_slit_height = wx.StaticText(self, wx.ID_ANY,
                         smear_message_slit_height_title, style=wx.ALIGN_LEFT)
@@ -453,10 +446,7 @@
         self.sizer_new_smear.Add((15, -1))
         self.sizer_new_smear.Add(self.smear_description_2d_x, 0, wx.CENTER, 10)
-        self.sizer_new_smear.Add(self.smear_description_pin_min,
-                                 0, wx.CENTER, 10)
         self.sizer_new_smear.Add(self.smear_description_slit_height,
                                  0, wx.CENTER, 10)
 
-        self.sizer_new_smear.Add(self.smear_pinhole_min, 0, wx.CENTER, 10)
         self.sizer_new_smear.Add(self.smear_slit_height, 0, wx.CENTER, 10)
         self.sizer_new_smear.Add(self.smear_data_left, 0, wx.CENTER, 10)
@@ -464,10 +454,10 @@
         self.sizer_new_smear.Add(self.smear_description_2d_y,
                                  0, wx.CENTER, 10)
-        self.sizer_new_smear.Add(self.smear_description_pin_max,
+        self.sizer_new_smear.Add(self.smear_description_pin_percent,
                                  0, wx.CENTER, 10)
         self.sizer_new_smear.Add(self.smear_description_slit_width,
                                  0, wx.CENTER, 10)
 
-        self.sizer_new_smear.Add(self.smear_pinhole_max, 0, wx.CENTER, 10)
+        self.sizer_new_smear.Add(self.smear_pinhole_percent, 0, wx.CENTER, 10)
         self.sizer_new_smear.Add(self.smear_slit_width, 0, wx.CENTER, 10)
         self.sizer_new_smear.Add(self.smear_data_right, 0, wx.CENTER, 10)
@@ -1581,8 +1571,6 @@
         if self.dxw is None:
             self.dxw = ""
-        if self.dx_min is None:
-            self.dx_min = SMEAR_SIZE_L
-        if self.dx_max is None:
-            self.dx_max = SMEAR_SIZE_H
+        if self.dx_percent is None:
+            self.dx_percent = SMEAR_SIZE_H
 
     def _get_smear_info(self):
@@ -1646,6 +1634,5 @@
             self.smear_description_2d_y.Show(True)
             if self.pinhole_smearer.GetValue():
-                self.smear_pinhole_min.Show(True)
-                self.smear_pinhole_max.Show(True)
+                self.smear_pinhole_percent.Show(True)
         # smear from data
         elif self.enable_smearer.GetValue():
@@ -1658,6 +1645,5 @@
                     self.smear_description_slit_width.Show(True)
                 elif self.smear_type == 'Pinhole':
-                    self.smear_description_pin_min.Show(True)
-                    self.smear_description_pin_max.Show(True)
+                    self.smear_description_pin_percent.Show(True)
                 self.smear_description_smear_type.Show(True)
                 self.smear_description_type.Show(True)
@@ -1668,9 +1654,7 @@
             if self.smear_type == 'Pinhole':
                 self.smear_message_new_p.Show(True)
-                self.smear_description_pin_min.Show(True)
-                self.smear_description_pin_max.Show(True)
-
-            self.smear_pinhole_min.Show(True)
-            self.smear_pinhole_max.Show(True)
+                self.smear_description_pin_percent.Show(True)
+
+            self.smear_pinhole_percent.Show(True)
         # custom slit smear
         elif self.slit_smearer.GetValue():
@@ -1697,8 +1681,6 @@
         self.smear_data_left.Hide()
         self.smear_data_right.Hide()
-        self.smear_description_pin_min.Hide()
-        self.smear_pinhole_min.Hide()
-        self.smear_description_pin_max.Hide()
-        self.smear_pinhole_max.Hide()
+        self.smear_description_pin_percent.Hide()
+        self.smear_pinhole_percent.Hide()
         self.smear_description_slit_height.Hide()
         self.smear_slit_height.Hide()
@@ -2249,6 +2231,5 @@
             # event case of radio button
             if tcrtl.GetValue():
-                self.dx_min = 0.0
-                self.dx_max = 0.0
+                self.dx_percent = 0.0
                 is_new_pinhole = True
             else:
@@ -2287,21 +2268,12 @@
         """
         # get the values
-        pin_min = self.smear_pinhole_min.GetValue()
-        pin_max = self.smear_pinhole_max.GetValue()
-
-        # Check changes in slit width
+        pin_percent = self.smear_pinhole_percent.GetValue()
+
+        # Check changes in slit heigth
         try:
-            dx_min = float(pin_min)
+            dx_percent = float(pin_percent)
         except:
             return True
-        if self.dx_min != dx_min:
-            return True
-
-        # Check changes in slit heigth
-        try:
-            dx_max = float(pin_max)
-        except:
-            return True
-        if self.dx_max != dx_max:
+        if self.dx_percent != dx_percent:
             return True
         return False
@@ -2329,45 +2301,24 @@
         msg = None
 
-        get_pin_min = self.smear_pinhole_min
-        get_pin_max = self.smear_pinhole_max
-
-        if not check_float(get_pin_min):
-            get_pin_min.SetBackgroundColour("pink")
-            msg = "Model Error:wrong value entered!!!"
-        elif not check_float(get_pin_max):
-            get_pin_max.SetBackgroundColour("pink")
+        get_pin_percent = self.smear_pinhole_percent
+
+        if not check_float(get_pin_percent):
+            get_pin_percent.SetBackgroundColour("pink")
             msg = "Model Error:wrong value entered!!!"
         else:
             if len_data < 2:
                 len_data = 2
-            self.dx_min = float(get_pin_min.GetValue())
-            self.dx_max = float(get_pin_max.GetValue())
-            if self.dx_min < 0:
-                get_pin_min.SetBackgroundColour("pink")
+            self.dx_percent = float(get_pin_percent.GetValue()) / 100
+            if self.dx_percent < 0:
+                get_pin_percent.SetBackgroundColour("pink")
                 msg = "Model Error:This value can not be negative!!!"
-            elif self.dx_max < 0:
-                get_pin_max.SetBackgroundColour("pink")
-                msg = "Model Error:This value can not be negative!!!"
-            elif self.dx_min is not None and self.dx_max is not None:
+            elif self.dx_percent is not None:
                 if self._is_2D():
-                    data.dqx_data[data.dqx_data == 0] = self.dx_min
-                    data.dqy_data[data.dqy_data == 0] = self.dx_max
-                elif self.dx_min == self.dx_max:
-                    data.dx[data.dx == 0] = self.dx_min
+                    data.dqx_data[data.dqx_data == 0] = \
+                        self.dx_percent * data.qx_data
+                    data.dqy_data[data.dqy_data == 0] = \
+                        self.dx_percent * data.qy_data
                 else:
-                    step = (self.dx_max - self.dx_min) / (len_data - 1)
-                    data.dx = numpy.arange(self.dx_min,
-                                           self.dx_max + step / 1.1,
-                                           step)
-            elif self.dx_min is not None:
-                if self._is_2D():
-                    data.dqx_data[data.dqx_data == 0] = self.dx_min
-                else:
-                    data.dx[data.dx == 0] = self.dx_min
-            elif self.dx_max is not None:
-                if self._is_2D():
-                    data.dqy_data[data.dqy_data == 0] = self.dx_max
-                else:
-                    data.dx[data.dx == 0] = self.dx_max
+                    data.dx = self.dx_percent * data.x
             self.current_smearer = smear_selection(data, self.model)
             # 2D need to set accuracy
@@ -2379,6 +2330,5 @@
             wx.PostEvent(self._manager.parent, StatusEvent(status=msg))
         else:
-            get_pin_min.SetBackgroundColour("white")
-            get_pin_max.SetBackgroundColour("white")
+            get_pin_percent.SetBackgroundColour("white")
         # set smearing value whether or not the data contain the smearing info
 
