From b4acaaaf680ea821717ae27f2b70ffb4837eaca4 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 28 Apr 2023 16:40:29 +0600 Subject: [PATCH] library updates --- source/ubl-utils.c | 27 +++++++++++++++++---------- source/ubl-utils.h | 19 ++++++++++++++++--- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/source/ubl-utils.c b/source/ubl-utils.c index fd78093..fb74917 100644 --- a/source/ubl-utils.c +++ b/source/ubl-utils.c @@ -907,8 +907,9 @@ void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image gtk_image_set_from_file(GTK_IMAGE(Image), image_path); } -void _yon_ubl_status_box_render(GtkWidget *StatusBox, GtkWidget *StatusIcon, GtkWidget *StatusLabel, char *StatusText, BACKGROUND_IMAGE_TYPE BackgroundClass) +void _yon_ubl_status_box_render(render_data *datav) { + render_data data = *(render_data*)datav; GtkIconTheme *ictheme = gtk_icon_theme_get_default(); GError *err = NULL; if (err) @@ -916,18 +917,24 @@ void _yon_ubl_status_box_render(GtkWidget *StatusBox, GtkWidget *StatusIcon, Gtk printf("%s\n", err->message); g_error_free(err); } - gtk_label_set_text(GTK_LABEL(StatusLabel), StatusText); - if (BackgroundClass == BACKGROUND_IMAGE_SUCCESS_TYPE) + if (data.type == BACKGROUND_IMAGE_SUCCESS_TYPE||! data.type) { - gtk_style_context_remove_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessError"); - gtk_style_context_add_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessOK"); - gtk_image_set_from_pixbuf(GTK_IMAGE(StatusIcon), gtk_icon_theme_load_icon_for_scale(ictheme, "com.ublinux.ubl-settings-video.checked", 25, 1, GTK_ICON_LOOKUP_FORCE_SIZE, &err)); + gtk_style_context_remove_class(gtk_widget_get_style_context(data.box), "boxInfoMessError"); + gtk_style_context_add_class(gtk_widget_get_style_context(data.box), "boxInfoMessOK"); + gtk_image_set_from_pixbuf(GTK_IMAGE(data.icon), gtk_icon_theme_load_icon_for_scale(ictheme, "com.ublinux.ubl-settings-video.checked", 25, 1, GTK_ICON_LOOKUP_FORCE_SIZE, &err)); } - else if (BackgroundClass == BACKGROUND_IMAGE_FAIL_TYPE) + else if (data.type == BACKGROUND_IMAGE_FAIL_TYPE) { - gtk_style_context_remove_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessOK"); - gtk_style_context_add_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessError"); - gtk_image_set_from_pixbuf(GTK_IMAGE(StatusIcon), gtk_icon_theme_load_icon_for_scale(ictheme, "com.ublinux.ubl-settings-video.warning", 25, 1, GTK_ICON_LOOKUP_FORCE_SIZE, &err)); + gtk_style_context_remove_class(gtk_widget_get_style_context(data.box), "boxInfoMessOK"); + gtk_style_context_add_class(gtk_widget_get_style_context(data.box), "boxInfoMessError"); + gtk_image_set_from_pixbuf(GTK_IMAGE(data.icon), gtk_icon_theme_load_icon_for_scale(ictheme, "com.ublinux.ubl-settings-video.warning", 25, 1, GTK_ICON_LOOKUP_FORCE_SIZE, &err)); } + if (data.text_to_render) + gtk_label_set_text(GTK_LABEL(data.label), data.text_to_render); + else + for (int i=0;i