diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-11-07 17:08:26 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-11-07 19:43:39 +0100 |
commit | a53e7c12a1eec6ac7db75086c4bf81759b9e8848 (patch) | |
tree | 3eac403a088e6b599bee1beea1ee3dbe91dd4560 /src/virt-viewer-file.c | |
parent | 73a4e9993d383c0156d1ae7c40320ab9e954617b (diff) | |
download | virt-viewer-a53e7c12a1eec6ac7db75086c4bf81759b9e8848.tar.gz virt-viewer-a53e7c12a1eec6ac7db75086c4bf81759b9e8848.tar.xz virt-viewer-a53e7c12a1eec6ac7db75086c4bf81759b9e8848.zip |
file: factor a bit setting accelerators code
Diffstat (limited to 'src/virt-viewer-file.c')
-rw-r--r-- | src/virt-viewer-file.c | 42 |
1 files changed, 20 insertions, 22 deletions
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, "<virt-viewer>/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, "<virt-viewer>/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, "<virt-viewer>/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, "<virt-viewer>/view/smartcard-insert", val); - g_free(val); + { + gchar *val; + static const struct { + const char *prop; + const char *accel; + } accels[] = { + { "release-cursor", "<virt-viewer>/view/release-cursor" }, + { "toggle-fullscreen", "<virt-viewer>/view/fullscreen" }, + { "smartcard-insert", "<virt-viewer>/file/smartcard-insert" }, + { "smartcard-remove", "<virt-viewer>/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")) |