summaryrefslogtreecommitdiff
path: root/src/nautilus-view-icon-ui.c
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2019-07-06 14:30:52 -0700
committerCosimo Cecchi <cosimoc@gnome.org>2019-08-29 16:20:05 -0700
commit2d3dcbcfb78df09f8707a12b33468cd63da2b020 (patch)
treea591a3af31b8ce49b55126e1fdd07fc6027963db /src/nautilus-view-icon-ui.c
parent8d230eb54a589feb8b91d71828cbac9ba80cd8a6 (diff)
downloadnautilus-2d3dcbcfb78df09f8707a12b33468cd63da2b020.tar.gz
view-icon-ui: add support for file previews
Launch the previewer with spacebar like everywhere else.
Diffstat (limited to 'src/nautilus-view-icon-ui.c')
-rw-r--r--src/nautilus-view-icon-ui.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/nautilus-view-icon-ui.c b/src/nautilus-view-icon-ui.c
index 2ccdf8b95..04f7bd4e7 100644
--- a/src/nautilus-view-icon-ui.c
+++ b/src/nautilus-view-icon-ui.c
@@ -153,12 +153,33 @@ on_child_activated (GtkFlowBox *flow_box,
NautilusViewItemModel *item_model;
NautilusFile *file;
g_autoptr (GList) list = NULL;
+ GdkEvent *event;
+ guint keyval;
+ gboolean is_preview = FALSE;
item_model = nautilus_view_icon_item_ui_get_model (NAUTILUS_VIEW_ICON_ITEM_UI (child));
file = nautilus_view_item_model_get_file (item_model);
list = g_list_append (list, file);
- nautilus_files_view_activate_files (NAUTILUS_FILES_VIEW (self->controller), list, 0, TRUE);
+ event = gtk_get_current_event ();
+ if (event && gdk_event_get_keyval (event, &keyval))
+ {
+ if (keyval == GDK_KEY_space)
+ {
+ is_preview = TRUE;
+ }
+ }
+
+ if (is_preview)
+ {
+ nautilus_files_view_preview_files (NAUTILUS_FILES_VIEW (self->controller), list, NULL);
+ }
+ else
+ {
+ nautilus_files_view_activate_files (NAUTILUS_FILES_VIEW (self->controller), list, 0, TRUE);
+ }
+
+ g_clear_pointer (&event, gdk_event_free);
}
static void