colorbutton, fontbutton: Propagate focus-on-click to inner buttons

These widgets wrap a GtkButton internally. Make it possible to prevent
the inner button from grabbing focus on click by propagating the value
of the focus-on-click property from the widget to the inner button.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
This commit is contained in:
Sergey Bugaev 2023-08-25 19:13:43 +03:00
parent d7cf5c2b1b
commit a8613377a5
2 changed files with 6 additions and 0 deletions

View File

@ -290,6 +290,9 @@ gtk_color_button_init (GtkColorButton *button)
button->button = gtk_button_new ();
g_signal_connect (button->button, "clicked", G_CALLBACK (gtk_color_button_clicked), button);
g_object_bind_property (button, "focus-on-click",
button->button, "focus-on-click",
0);
gtk_widget_set_parent (button->button, GTK_WIDGET (button));
button->swatch = g_object_new (GTK_TYPE_COLOR_SWATCH,

View File

@ -594,6 +594,9 @@ gtk_font_button_init (GtkFontButton *font_button)
font_button->button = gtk_button_new ();
g_signal_connect (font_button->button, "clicked", G_CALLBACK (gtk_font_button_clicked), font_button);
g_object_bind_property (font_button, "focus-on-click",
font_button->button, "focus-on-click",
0);
font_button->font_label = gtk_label_new (_("Font"));
gtk_widget_set_hexpand (font_button->font_label, TRUE);
font_button->size_label = gtk_label_new ("14");