diff options
author | António Fernandes <antoniof@gnome.org> | 2023-01-15 17:18:36 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2023-01-15 17:41:51 +0000 |
commit | bcbfcbf70838fb25d7e9bbb887b7131ef9b67cdd (patch) | |
tree | e5c8266496b739122fa86dc9ce8463962db64c85 | |
parent | e9cfb16d15a6d98829667107b7dda8a17da95382 (diff) | |
download | nautilus-bcbfcbf70838fb25d7e9bbb887b7131ef9b67cdd.tar.gz |
list-base: Setup cell hover controller separately
No functional change in this commit, but this is going to make it
possible for each view to pick the areas which trigger the hover
timeout, to be done in the next commit.
-rw-r--r-- | src/nautilus-grid-view.c | 1 | ||||
-rw-r--r-- | src/nautilus-list-base-private.h | 2 | ||||
-rw-r--r-- | src/nautilus-list-base.c | 7 | ||||
-rw-r--r-- | src/nautilus-list-view.c | 3 |
4 files changed, 12 insertions, 1 deletions
diff --git a/src/nautilus-grid-view.c b/src/nautilus-grid-view.c index 016f741ba..7a2e2f90c 100644 --- a/src/nautilus-grid-view.c +++ b/src/nautilus-grid-view.c @@ -496,6 +496,7 @@ setup_cell (GtkSignalListItemFactory *factory, cell = nautilus_grid_cell_new (NAUTILUS_LIST_BASE (self)); setup_cell_common (listitem, NAUTILUS_VIEW_CELL (cell)); + setup_cell_hover (NAUTILUS_VIEW_CELL (cell)); nautilus_grid_cell_set_caption_attributes (cell, self->caption_attributes); } diff --git a/src/nautilus-list-base-private.h b/src/nautilus-list-base-private.h index fd8b525d5..1a92360f6 100644 --- a/src/nautilus-list-base-private.h +++ b/src/nautilus-list-base-private.h @@ -28,6 +28,8 @@ void set_directory_sort_metadata (NautilusFile *f gboolean reversed); void setup_cell_common (GtkListItem *listitem, NautilusViewCell *cell); +void setup_cell_hover (NautilusViewCell *cell); + void set_focus_item (NautilusListBase *self, NautilusViewItem *item); diff --git a/src/nautilus-list-base.c b/src/nautilus-list-base.c index bf217aeaf..03bc6d9b0 100644 --- a/src/nautilus-list-base.c +++ b/src/nautilus-list-base.c @@ -929,8 +929,13 @@ setup_cell_common (GtkListItem *listitem, g_signal_connect (drop_target, "motion", G_CALLBACK (on_item_drag_motion), cell); g_signal_connect (drop_target, "drop", G_CALLBACK (on_item_drop), cell); gtk_widget_add_controller (GTK_WIDGET (cell), GTK_EVENT_CONTROLLER (drop_target)); +} + - controller = gtk_drop_controller_motion_new (); +void +setup_cell_hover (NautilusViewCell *cell) +{ + GtkEventController *controller = gtk_drop_controller_motion_new (); gtk_widget_add_controller (GTK_WIDGET (cell), controller); g_signal_connect (controller, "enter", G_CALLBACK (on_item_drag_hover_enter), cell); g_signal_connect (controller, "leave", G_CALLBACK (on_item_drag_hover_leave), cell); diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c index 2cdc6f7ef..32ab01b7a 100644 --- a/src/nautilus-list-view.c +++ b/src/nautilus-list-view.c @@ -1128,6 +1128,7 @@ setup_name_cell (GtkSignalListItemFactory *factory, cell = nautilus_name_cell_new (NAUTILUS_LIST_BASE (self)); setup_cell_common (listitem, cell); + setup_cell_hover (cell); nautilus_name_cell_set_path (NAUTILUS_NAME_CELL (cell), self->path_attribute_q, @@ -1263,6 +1264,7 @@ setup_star_cell (GtkSignalListItemFactory *factory, cell = nautilus_star_cell_new (NAUTILUS_LIST_BASE (user_data)); setup_cell_common (listitem, cell); + setup_cell_hover (cell); setup_selection_click_workaround (cell); } @@ -1279,6 +1281,7 @@ setup_label_cell (GtkSignalListItemFactory *factory, cell = nautilus_label_cell_new (NAUTILUS_LIST_BASE (user_data), nautilus_column); setup_cell_common (listitem, cell); + setup_cell_hover (cell); setup_selection_click_workaround (cell); } |