From: Carlos Garnacho Date: Sun, 27 Nov 2022 12:02:55 +0000 (+0100) Subject: immulticontext: Implement activate_osk() vmethod X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~65^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6d0f7a2d31cf540faf1cbc912854996434f9f48d;p=gtk4.git immulticontext: Implement activate_osk() vmethod The multicontext lets this call go through to the active underlying GtkIMContext. --- diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c index 69ba6453a4..54b5eb6cb2 100644 --- a/gtk/gtkimmulticontext.c +++ b/gtk/gtkimmulticontext.c @@ -20,6 +20,7 @@ #include #include +#include "gtkimcontextprivate.h" #include "gtkimmulticontext.h" #include "gtkimmoduleprivate.h" #include "gtklabel.h" @@ -105,6 +106,7 @@ static gboolean gtk_im_multicontext_delete_surrounding_cb (GtkIMContext * int offset, int n_chars, GtkIMMulticontext *multicontext); +static void gtk_im_multicontext_activate_osk (GtkIMContext *context); static void propagate_purpose (GtkIMMulticontext *context); @@ -128,6 +130,7 @@ gtk_im_multicontext_class_init (GtkIMMulticontextClass *class) im_context_class->set_use_preedit = gtk_im_multicontext_set_use_preedit; im_context_class->set_surrounding_with_selection = gtk_im_multicontext_set_surrounding_with_selection; im_context_class->get_surrounding_with_selection = gtk_im_multicontext_get_surrounding_with_selection; + im_context_class->activate_osk = gtk_im_multicontext_activate_osk; gobject_class->finalize = gtk_im_multicontext_finalize; } @@ -513,6 +516,16 @@ gtk_im_multicontext_set_surrounding_with_selection (GtkIMContext *context, gtk_im_context_set_surrounding_with_selection (delegate, text, len, cursor_index, anchor_index); } +static void +gtk_im_multicontext_activate_osk (GtkIMContext *context) +{ + GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context); + GtkIMContext *delegate = gtk_im_multicontext_get_delegate (multicontext); + + if (delegate) + gtk_im_context_activate_osk (delegate); +} + static void gtk_im_multicontext_preedit_start_cb (GtkIMContext *delegate, GtkIMMulticontext *multicontext)