• Masahiro Yamada's avatar
    kconfig: qconf: allow to edit "int", "hex", "string" menus in-place · 37162a68
    Masahiro Yamada authored
    Previously, when you double-clicked the "int", "hex", or "string" menus,
    a line-edit gadget showed up to allow you to input the value, which
    looked clumsy.
    
    Also, it was buggy; the editor opened even if the config option was not
    editable. For example, just try to double-click CC_VERSION_TEXT, which
    has no prompt.
    
    This commit sub-classes QStyleItemDelegate to allow users to edit
    "int", "hex", "string" menus in-place. Just double-click (or press
    the F2 key) in the data column. Then, an editor widget is placed on
    top of the item view.
    
    The two methods are overridden:
    
     createEditor - process only when the data column is being accessed
     and the menu is visible. Otherwise, return nullptr to disallow editing.
    
     setModelData - take the new data from the editor, and set it to the
     addressed symbol. If it was successful, update all the list windows.
     Otherwise, (the reason for the failure is possibly the input data was
     out of range), set the old value back to the editor.
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    37162a68
qconf.h 7.27 KB