summaryrefslogtreecommitdiff
path: root/gtk/gtkemojichooser.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-04-14 15:03:57 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-04-14 15:07:47 -0400
commit8f75df1cb38fa2f59104a7280f3846873bd7fd4c (patch)
tree4552666d8c19a124bc2a7c6dd551d5659b1c6975 /gtk/gtkemojichooser.c
parent037b0259d8425a8d320e327ef8d5ea7959981832 (diff)
downloadgtk+-8f75df1cb38fa2f59104a7280f3846873bd7fd4c.tar.gz
flowbox: Add a private api to disable move-cursor
Without this, it seems impossible to make cross-section keynav in the Emoji chooser work. I've tried, but got lost between the focus, grab_focus, move_cursor and keynav-failed vfuncs and signals, and their competing implementations GtkFlowBox and GtkEmojiChooser.
Diffstat (limited to 'gtk/gtkemojichooser.c')
-rw-r--r--gtk/gtkemojichooser.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gtk/gtkemojichooser.c b/gtk/gtkemojichooser.c
index 57c92cb735..e17cabeca2 100644
--- a/gtk/gtkemojichooser.c
+++ b/gtk/gtkemojichooser.c
@@ -766,6 +766,8 @@ stop_search (GtkEntry *entry,
gtk_popover_popdown (GTK_POPOVER (data));
}
+extern void gtk_flow_box_disable_move_cursor (GtkFlowBox *box);
+
static void
setup_section (GtkEmojiChooser *chooser,
EmojiSection *section,
@@ -781,6 +783,7 @@ setup_section (GtkEmojiChooser *chooser,
adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (chooser->scrolled_window));
gtk_container_set_focus_vadjustment (GTK_CONTAINER (section->box), adj);
+ gtk_flow_box_disable_move_cursor (GTK_FLOW_BOX (section->box));
gtk_flow_box_set_filter_func (GTK_FLOW_BOX (section->box), filter_func, section, NULL);
g_signal_connect_swapped (section->button, "clicked", G_CALLBACK (scroll_to_section), section);
}