This appears to be largely vestigial code from a time when a GtkTreeView was used here. It is very confusing, because someone reading the code expects this to be critical to what's displayed on the screen, but it isn't.
If I understand correctly, the only place this was still useful for
something was in
cc_keyboard_manager_remove_custom_shortcut(), to check
that the CcKeyboardItem is valid. If I understand, this is a sanity
check that should never fail, so this seems unnecessary, and I've
If that check is actually important, it would be better to have a
GHashTable of custom shortcuts, which should be simpler and clearer.
sections_store should similarly be removed/replaced. It seems to only
be needed in
add_shortcuts(). But that seems like it can't just be
removed, so I haven't changed that yet.