From 9ce5c16423240d57004e5a8cafa31f23aa23c14c Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 24 Mar 2026 18:02:15 +0600 Subject: [PATCH] Fixed tooltip localisation --- source/ubinstall-gtk-ui-lang.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-ui-lang.c b/source/ubinstall-gtk-ui-lang.c index 57ffe2b..a123558 100644 --- a/source/ubinstall-gtk-ui-lang.c +++ b/source/ubinstall-gtk-ui-lang.c @@ -266,6 +266,12 @@ void yon_translation_init(GtkBuilder *builder){ GSList *list = gtk_builder_get_objects(builder); GSList *iter; for (iter = list; iter; iter = iter->next){ + if (GTK_IS_WIDGET(iter->data)){ + const char *tooltip = gtk_widget_get_tooltip_text(GTK_WIDGET(iter->data)); + if (!yon_char_is_empty(tooltip)){ + g_object_set_data(G_OBJECT(iter->data),"original_tooltip",(void*)tooltip); + } + } GObject *cur_widget = NULL; const char *widget_text = NULL; if (GTK_IS_BUTTON(iter->data)){ @@ -289,7 +295,7 @@ void yon_translation_init(GtkBuilder *builder){ } widget_text = yon_char_new(gtk_menu_item_get_label(GTK_MENU_ITEM(cur_widget))); } else continue; - g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text); + g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text); } } @@ -342,6 +348,12 @@ void yon_update_translation(main_window *widgets){ } else if (iter->data == widgets->LanguagesTree){ yon_set_locales_list(widgets); } + if (GTK_IS_WIDGET(iter->data)){ + const char *tooltip_text = g_object_get_data(G_OBJECT(iter->data),"original_tooltip"); + if (!yon_char_is_empty(tooltip_text)){ + gtk_widget_set_tooltip_text(GTK_WIDGET(iter->data),_(tooltip_text)); + } + } } { GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->DocumentationMenuItem));