From a53e7c12a1eec6ac7db75086c4bf81759b9e8848 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Thu, 7 Nov 2013 17:08:26 +0100 Subject: file: factor a bit setting accelerators code --- src/virt-viewer-file.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'src/virt-viewer-file.c') diff --git a/src/virt-viewer-file.c b/src/virt-viewer-file.c index 51dc3f0..36c77ca 100644 --- a/src/virt-viewer-file.c +++ b/src/virt-viewer-file.c @@ -621,28 +621,26 @@ virt_viewer_file_fill_app(VirtViewerFile* self, VirtViewerApp *app, GError **err if (virt_viewer_file_is_set(self, "title")) virt_viewer_app_set_title(app, virt_viewer_file_get_title(self)); - if (virt_viewer_file_is_set(self, "release-cursor")) { - gchar *val = virt_viewer_file_get_release_cursor(self); - spice_hotkey_set_accel(app, "/view/release-cursor", val); - g_free(val); - } - - if (virt_viewer_file_is_set(self, "toggle-fullscreen")) { - gchar *val = virt_viewer_file_get_toggle_fullscreen(self); - spice_hotkey_set_accel(app, "/view/fullscreen", val); - g_free(val); - } - - if (virt_viewer_file_is_set(self, "smartcard-remove")) { - gchar *val = virt_viewer_file_get_smartcard_remove(self); - spice_hotkey_set_accel(app, "/view/smartcard-remove", val); - g_free(val); - } - - if (virt_viewer_file_is_set(self, "smartcard-insert")) { - gchar *val = virt_viewer_file_get_smartcard_insert(self); - spice_hotkey_set_accel(app, "/view/smartcard-insert", val); - g_free(val); + { + gchar *val; + static const struct { + const char *prop; + const char *accel; + } accels[] = { + { "release-cursor", "/view/release-cursor" }, + { "toggle-fullscreen", "/view/fullscreen" }, + { "smartcard-insert", "/file/smartcard-insert" }, + { "smartcard-remove", "/file/smartcard-remove" }, + }; + int i; + + for (i = 0; i < G_N_ELEMENTS(accels); i++) { + if (!virt_viewer_file_is_set(self, accels[i].prop)) + continue; + g_object_get(self, accels[i].prop, &val, NULL); + spice_hotkey_set_accel(app, accels[i].accel, val); + g_free(val); + } } if (virt_viewer_file_is_set(self, "fullscreen")) -- cgit