This is mostly just code de-duplication and cleanup. The only
functional change is that the case-sensitive accel support from the
command-line hotkey handling now also applies to the config file.
Signed-off-by: Paul Donohue <git@PaulSD.com>
The next commit fixes a bug which was causing
gtk_application_get_accels_for_action() in
virt_viewer_update_smartcard_accels() to incorrectly return nothing.
Now that it is correctly working,
gtk_application_get_accels_for_action() is internally trying to call
gdk_keymap_get_for_display(), which fails if there is no available X11
display. This causes the CI pipeline to fail since the CI pipeline
doesn't have an X11 display.
To work around this, disable the smartcard hotkey test.
Signed-off-by: Paul Donohue <git@PaulSD.com>
The hotkey is valid if it has a valid value. The value is valid if it is
not empty and is successfully parsed by gtk_accelerator_parse().
These hotkeys formats are considered invalid:
"key" - missing value
"key=" - missing value
"key=abcd" - value cannot be parsed by gtk_accelerator_parse()
Resolves: rhbz#1339572
Acked-by: Fabiano Fidêncio <fidencio@redhat.com>