diff --git a/sohstationviewer/view/db_config/add_edit_single_channel_dialog.py b/sohstationviewer/view/db_config/add_edit_single_channel_dialog.py
index 385e0c0750d614803ce5a5ae9067d68aa3cc92ab..3885575def952cc432290b5853fb31bc5d2daa0a 100755
--- a/sohstationviewer/view/db_config/add_edit_single_channel_dialog.py
+++ b/sohstationviewer/view/db_config/add_edit_single_channel_dialog.py
@@ -13,7 +13,7 @@ from sohstationviewer.view.db_config.add_edit_single_channel_helper import (
 from sohstationviewer.database.process_db import execute_db
 
 
-def get_db_str_with_null(col, val):
+def create_assign_string_for_db_query(col, val):
     """
     Create assign db string that assign to NULL if val is empty str
     :param col: column in the db table
@@ -35,12 +35,12 @@ def add_separation_line(layout):
 
 
 class AddEditSingleChannelDialog(QDialog):
+    """
+    Dialog to add info for channel not in database or edit the existing channel
+    """
     def __init__(self, parent: Optional[QWidget],
                  chan_id: str, data_type: str):
         """
-        Dialog to add info for channel not in database or edit the existing
-            channel
-
         :param parent: the parent widget
         :param chan_id: name of channel to be added/edited
         :param data_type: type of the data being processed
@@ -51,7 +51,7 @@ class AddEditSingleChannelDialog(QDialog):
         # data_type of the channel
         self.data_type = data_type
         # True if this channel isn't in DB yet
-        self.new = False
+        self.is_new_db_channel = False
         # To skip on_param_chkbox_changed() when param is changed by the
         # program at the beginning
         self.param_changed_by_signal = False
@@ -70,14 +70,13 @@ class AddEditSingleChannelDialog(QDialog):
             "added to channel name to be displayed")
 
         # convert factor to change from count to actual value
-        self.convesion_lnedit = QtWidgets.QLineEdit(self)
-        self.convesion_lnedit.setPlaceholderText(
+        self.conversion_lnedit = QtWidgets.QSpinBox()
+        self.conversion_lnedit.setMinimum(0)
+        self.conversion_lnedit.setMaximum(5)
+        self.conversion_lnedit.setToolTip(
             "to convert from count to actual value"
         )
-        validator = QtGui.QDoubleValidator(0.0, 5.0, 6)
-        validator.setNotation(QtGui.QDoubleValidator.StandardNotation)
-        self.convesion_lnedit.setValidator(validator)
-        self.convesion_lnedit.setText('1')
+        self.conversion_lnedit.setValue(1)
 
         # channel's unit
         self.unit_lnedit = QtWidgets.QLineEdit(self)
@@ -150,7 +149,7 @@ class AddEditSingleChannelDialog(QDialog):
         channel_layout.addWidget(self.label_lnedit, 1, 1, 1, 1)
 
         channel_layout.addWidget(QtWidgets.QLabel('Conversion'), 2, 0, 1, 1)
-        channel_layout.addWidget(self.convesion_lnedit, 2, 1, 1, 1)
+        channel_layout.addWidget(self.conversion_lnedit, 2, 1, 1, 1)
 
         channel_layout.addWidget(QtWidgets.QLabel('Unit'), 3, 0, 1, 1)
         channel_layout.addWidget(self.unit_lnedit, 3, 1, 1, 1)
@@ -215,14 +214,14 @@ class AddEditSingleChannelDialog(QDialog):
         try:
             self.channel_info = get_channel_info(self.chan_id, self.data_type)
         except IndexError:
-            self.new = True
+            self.is_new_db_channel = True
             self.channel_info = get_channel_info('DEFAULT', 'Default')
 
         self.name_lnedit.setText(self.chan_id)
 
         self.label_lnedit.setText(self.channel_info['label'])
 
-        self.convesion_lnedit.setText(
+        self.conversion_lnedit.setText(
             str(float(self.channel_info['convertFactor'])))
 
         self.unit_lnedit.setText(self.channel_info['unit'])
@@ -247,7 +246,7 @@ class AddEditSingleChannelDialog(QDialog):
         if self.param_changed_by_signal:
             self.param_changed_by_signal = False
             return
-        if not self.new:
+        if not self.is_new_db_channel:
             msg = ("ARE YOU SURE YOU WANT TO CHANGE PARAMETER FOR CHANNEL "
                    f"'{self.chan_id}'?")
             result = QtWidgets.QMessageBox.question(
@@ -299,7 +298,7 @@ class AddEditSingleChannelDialog(QDialog):
             return
         param = f"param='{self.param_cbobox.currentText()}'"
         self.update_para_info(param)
-        if self.new:
+        if self.is_new_db_channel:
             self.insert_channel_info()
         else:
             self.update_channel_info()
@@ -310,11 +309,11 @@ class AddEditSingleChannelDialog(QDialog):
         Save parameter related info to Parameters table
         :param param: param condition string
         """
-        plot_type = get_db_str_with_null(
+        plot_type = create_assign_string_for_db_query(
             'plotType', self.plot_type_cbo_box.currentText())
-        value_colorb = get_db_str_with_null(
+        value_colorb = create_assign_string_for_db_query(
             'valueColorsB', self.value_colorb_widget.text())
-        value_colorw = get_db_str_with_null(
+        value_colorw = create_assign_string_for_db_query(
             'valueColorsW', self.value_colorw_widget.text())
         height = f"height={self.height_spnbox.value()}"
         sql = (f"UPDATE Parameters SET {plot_type}, {value_colorb}, "
@@ -327,7 +326,7 @@ class AddEditSingleChannelDialog(QDialog):
                f"'{self.label_lnedit.text()}', "
                f"'{self.param_cbobox.currentText()}', "
                f"NULL, "       # linkedChan for RT130 only and won't be changed
-               f"{self.convesion_lnedit.text()}, "
+               f"{self.conversion_lnedit.text()}, "
                f"'{self.unit_lnedit.text()}', "
                f"{self.fix_point_spnbox.value()}, "
                f"'{self.data_type_lnedit.text()}')")
@@ -338,7 +337,7 @@ class AddEditSingleChannelDialog(QDialog):
         label = f"label='{self.label_lnedit.text()}'"
         param = f"param='{self.param_cbobox.currentText()}'"
         linked_chan = "linkedChan=NULL"
-        convert_factor = f"convertFactor={self.convesion_lnedit.text()}"
+        convert_factor = f"convertFactor={self.conversion_lnedit.text()}"
         unit = f"unit='{self.unit_lnedit.text()}'"
         fix_point = f"fixPoint={self.fix_point_spnbox.value()}"
         data_type = f"dataType='{self.data_type_lnedit.text()}'"