You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.3 KiB
32 lines
1.3 KiB
#include "ubl-settings-manager.h"
|
|
|
|
theme_struct *yon_theme_update(main_window *widgets){
|
|
char *theme_id;
|
|
if (!yon_window_config_get_parameter(settings_section,theme_parameter,&theme_id,YON_TYPE_STRING)){
|
|
theme_id = yon_char_new(MAIN_THEME_LABEL);
|
|
}
|
|
|
|
theme_struct *theme = ((theme_struct*(*)())g_hash_table_lookup(main_config.themes,theme_id))();
|
|
if (theme){
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->ThemeBox));
|
|
GList *iter;
|
|
for (iter = list;iter;iter=iter->next){
|
|
theme_struct *cur_theme = g_object_get_data(G_OBJECT(iter->data),"theme_struct");
|
|
if (cur_theme) free(cur_theme);
|
|
gtk_widget_destroy(GTK_WIDGET(iter->data));
|
|
}
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->ThemeBox),theme->MainBox,1,1,0);
|
|
return theme;
|
|
} else {
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),THEME_ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
void yon_theme_init(){
|
|
// theme_struct *gnome_struct = (theme_struct*)yon_gnome_theme_new();
|
|
// theme_struct *main_struct = (theme_struct*)yon_main_theme_new();
|
|
g_hash_table_insert(main_config.themes,yon_char_new(GNOME_THEME_LABEL),yon_gnome_theme_new);
|
|
g_hash_table_insert(main_config.themes,yon_char_new(MAIN_THEME_LABEL),yon_main_theme_new);
|
|
} |