library updates

pull/9/head
parent d8383c3197
commit b4acaaaf68

@ -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); 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(); GtkIconTheme *ictheme = gtk_icon_theme_get_default();
GError *err = NULL; GError *err = NULL;
if (err) if (err)
@ -916,18 +917,24 @@ void _yon_ubl_status_box_render(GtkWidget *StatusBox, GtkWidget *StatusIcon, Gtk
printf("%s\n", err->message); printf("%s\n", err->message);
g_error_free(err); g_error_free(err);
} }
gtk_label_set_text(GTK_LABEL(StatusLabel), StatusText); if (data.type == BACKGROUND_IMAGE_SUCCESS_TYPE||! data.type)
if (BackgroundClass == BACKGROUND_IMAGE_SUCCESS_TYPE)
{ {
gtk_style_context_remove_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessError"); gtk_style_context_remove_class(gtk_widget_get_style_context(data.box), "boxInfoMessError");
gtk_style_context_add_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessOK"); gtk_style_context_add_class(gtk_widget_get_style_context(data.box), "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_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_remove_class(gtk_widget_get_style_context(data.box), "boxInfoMessOK");
gtk_style_context_add_class(gtk_widget_get_style_context(StatusBox), "boxInfoMessError"); gtk_style_context_add_class(gtk_widget_get_style_context(data.box), "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_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<data.strings_size;i++){
gtk_label_set_text(GTK_LABEL(data.label),data.text_strings_to_render[i]);
sleep(2);
}
} }
#endif #endif

@ -40,6 +40,7 @@ typedef struct
int *exitcode; int *exitcode;
} thread_output; } thread_output;
typedef struct dictionary typedef struct dictionary
{ {
char *key; char *key;
@ -183,15 +184,27 @@ typedef enum
BACKGROUND_IMAGE_SUCCESS_TYPE, BACKGROUND_IMAGE_SUCCESS_TYPE,
BACKGROUND_IMAGE_FAIL_TYPE BACKGROUND_IMAGE_FAIL_TYPE
} BACKGROUND_IMAGE_TYPE; } BACKGROUND_IMAGE_TYPE;
typedef struct {
BACKGROUND_IMAGE_TYPE type;
GtkWidget *icon;
GtkWidget *box;
GtkWidget *label;
char* text_to_render;
char** text_strings_to_render;
int strings_size;
} render_data;
#define yon_ubl_status_box_render(render) {pthread_attr_t attr; pthread_attr_init(&attr); pthread_t tid; pthread_create(&tid,&attr,(void*)_yon_ubl_status_box_render,((void*)render)); }
#ifdef __cplusplus #ifdef __cplusplus
#define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay.gobj()), GTK_WIDGET(head.gobj()), GTK_WIDGET(image.gobj()), (char *)imag_path) #define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay.gobj()), GTK_WIDGET(head.gobj()), GTK_WIDGET(image.gobj()), (char *)imag_path)
#define yon_ubl_status_box_render(statusbox, statusicon, statuslabel, iconname, statustext, backgroundclass) _yon_ubl_status_box_render(GTK_WIDGET(statusbox.gobj()), GTK_WIDGET(statusicon.gobj()), GTK_WIDGET(statuslabel.gobj()), (char *)iconname, (char *)statustext, backgroundclass)
#else #else
#define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay), GTK_WIDGET(head), GTK_WIDGET(image), (char *)imag_path) #define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay), GTK_WIDGET(head), GTK_WIDGET(image), (char *)imag_path)
#define yon_ubl_status_box_render(statusbox, statusicon, statuslabel, statustext, backgroundclass) _yon_ubl_status_box_render(statusbox, statusicon, statuslabel, statustext, backgroundclass)
#endif #endif
void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path); void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *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);
#endif #endif
#endif #endif
Loading…
Cancel
Save