                  continue
              group = "_master" if val["group"] is None else val["group"]
              group_frame = self.get_group_frame(group)
              ctl = ControlBuilder(group_frame["frame"],
                                   key,
                                   val["type"],
                                   val["default"],
                                   label_width=self.label_width,
                                   selected_value=val["value"],
                                   choices=val["choices"],
                                   is_radio=val["gui_radio"],
                                   rounding=val["rounding"],
 
</s> remove         for key, val in self.options.items():
            if key == "helptext":
                continue
            group = "_master" if val["group"] is None else val["group"]
            group_frame = self.get_group_frame(group)
 </s> add         for option in self.options:
            group_frame = self.get_group_frame(option.group) </s> remove                                  selected_value=val["value"],
                                 choices=val["choices"],
                                 is_radio=val["gui_radio"],
                                 rounding=val["rounding"],
                                 min_max=val["min_max"],
                                 helptext=val["helptext"],
                                 sysbrowser=val.get("sysbrowser", None),
 </s> add  </s> remove                 options[key]["value"] = self.config.config_dict.get(key, options[key]["default"])
 </s> add                 conf[category][section][key] = ControlPanelOption(
                    title=key,
                    dtype=val["type"],
                    group=val["group"],
                    default=val["default"],
                    initial_value=self.config.config_dict.get(key, val["default"]),
                    choices=val["choices"],
                    is_radio=val["gui_radio"],
                    rounding=val["rounding"],
                    min_max=val["min_max"],
                    helptext=val["helptext"]) </s> remove             val["selected"] = ctl.tk_var
            self.options[key]["_gui_option"] = ctl
        for key, val in self.options.items():
            if key == "helptext":
                continue
            filebrowser = val["_gui_option"].filebrowser
 </s> add             self.controls.append(ctl)
        for control in self.controls:
            filebrowser = control.filebrowser </s> remove             default = option.get("default", "")
            default = "" if default is None else default
 </s> add             cp_opt = option["cpanel_option"]
            default = "" if cp_opt.default is None else cp_opt.default
                                 option,
                  continue
              group = "_master" if val["group"] is None else val["group"]
              group_frame = self.get_group_frame(group)
              ctl = ControlBuilder(group_frame["frame"],
                                 option,
                                 option,
                                 option,
                                   label_width=self.label_width,
                                   selected_value=val["value"],
                                   choices=val["choices"],
                                   is_radio=val["gui_radio"],
                                   rounding=val["rounding"],
keep keep keep keep replace replace replace keep keep keep keep keep
 GUI Fixups

- GUI Bugfix: Startup options - fix min/max thresholds
- GUI Bugfix: Make console read-only
- GUI Bugfix: Rightclick menu for recreated widgets
- Enhancement: Create ControlPanelOptions Class + migrate options 
lib/gui/control_helper.py