          logger.debug("Add Config Frame")
          self.add_scrollbar()
          self.canvas.bind("<Configure>", self.resize_frame)
  
          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)
              ctl = ControlBuilder(group_frame["frame"],
                                   key,
                                   val["type"],
                                   val["default"],
                                   label_width=self.label_width,
 
</s> remove                                  key,
                                 val["type"],
                                 val["default"],
 </s> add                                  option, </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             conf.setdefault(category, dict())[section] = options
            for key in options.keys():
 </s> add             section = section.split(".")[-1]
            conf.setdefault(category, dict())[section] = OrderedDict()
            for key, val in options.items(): </s> remove                     self.plugin_info[section] = options[key]
 </s> add                     self.plugin_info[section] = val </s> remove             val = _COMMANDS[val] if key == "command" and val != "" else val
 </s> add             val = _RECREATE_OBJECTS["commands"][val] if key == "command" and val != "" else val
        for option in self.options:
            group_frame = self.get_group_frame(option.group)
          logger.debug("Add Config Frame")
          self.add_scrollbar()
          self.canvas.bind("<Configure>", self.resize_frame)
  
        for option in self.options:
            group_frame = self.get_group_frame(option.group)
        for option in self.options:
            group_frame = self.get_group_frame(option.group)
        for option in self.options:
            group_frame = self.get_group_frame(option.group)
        for option in self.options:
            group_frame = self.get_group_frame(option.group)
        for option in self.options:
            group_frame = self.get_group_frame(option.group)
              ctl = ControlBuilder(group_frame["frame"],
                                   key,
                                   val["type"],
                                   val["default"],
                                   label_width=self.label_width,
keep keep keep keep replace replace 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