|
|
|
|
@ -1342,6 +1342,62 @@ gboolean yon_interface_update_finish(main_window *widgets){
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_service_update(main_window *widgets){
|
|
|
|
|
int active_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
|
|
|
|
switch (active_page)
|
|
|
|
|
{
|
|
|
|
|
case 0:{
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemUnitsTree)),&model,&iter);
|
|
|
|
|
char *target;
|
|
|
|
|
gtk_tree_model_get(model,&iter,5,&target,-1);
|
|
|
|
|
int size;
|
|
|
|
|
config_str new_info = yon_config_load(load_system_service_single(target),&size);
|
|
|
|
|
int parsed_size;
|
|
|
|
|
config_str parsed = yon_char_parse(new_info[0],&parsed_size,";");
|
|
|
|
|
char *name_temp = yon_char_replace(parsed[0],"\\","\18");
|
|
|
|
|
if (name_temp!=parsed[0]) free(parsed[0]);
|
|
|
|
|
parsed[0]=yon_char_replace(name_temp,"\18","\\\\");
|
|
|
|
|
if (name_temp!=parsed[0]) free(name_temp);
|
|
|
|
|
if (parsed){
|
|
|
|
|
int enabled = !strcmp(parsed[5],"enabled");
|
|
|
|
|
int loaded = !strcmp(parsed[1],"loaded");
|
|
|
|
|
int active = !strcmp(parsed[2],"active");
|
|
|
|
|
enum YON_UNIT_TYPE type = yon_get_unit_type(parsed[0]);
|
|
|
|
|
gtk_list_store_append(widgets->SystemList,&iter);
|
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,parsed[0],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
case 1:{
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UserUnitsTree)),&model,&iter);
|
|
|
|
|
char *target;
|
|
|
|
|
gtk_tree_model_get(model,&iter,5,&target,-1);
|
|
|
|
|
int size;
|
|
|
|
|
config_str new_info = yon_config_load(load_user_service_single(target),&size);
|
|
|
|
|
int parsed_size;
|
|
|
|
|
config_str parsed = yon_char_parse(new_info[0],&parsed_size,";");
|
|
|
|
|
char *name_temp = yon_char_replace(parsed[0],"\\","\18");
|
|
|
|
|
if (name_temp!=parsed[0]) free(parsed[0]);
|
|
|
|
|
parsed[0]=yon_char_replace(name_temp,"\18","\\\\");
|
|
|
|
|
if (name_temp!=parsed[0]) free(name_temp);
|
|
|
|
|
if (parsed){
|
|
|
|
|
int enabled = !strcmp(parsed[5],"enabled");
|
|
|
|
|
int loaded = !strcmp(parsed[1],"loaded");
|
|
|
|
|
int active = !strcmp(parsed[2],"active");
|
|
|
|
|
enum YON_UNIT_TYPE type = yon_get_unit_type(parsed[0]);
|
|
|
|
|
gtk_list_store_append(widgets->SystemList,&iter);
|
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,parsed[0],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1);
|
|
|
|
|
}
|
|
|
|
|
} break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void* yon_interface_update(main_window *widgets){
|
|
|
|
|
// dictionary *dict = yon_systemd_get_list();
|
|
|
|
|
// if (dict){}
|
|
|
|
|
@ -1360,11 +1416,11 @@ void* yon_interface_update(main_window *widgets){
|
|
|
|
|
int timers_size;
|
|
|
|
|
config_str timers = yon_config_load(get_timers_command,&timers_size);
|
|
|
|
|
struct json_object *jsobject = json_tokener_parse(timers[0]);
|
|
|
|
|
int launched_size;
|
|
|
|
|
config_str launched = yon_config_load(load_launched_command,&launched_size);
|
|
|
|
|
for (int i=0;i<launched_size;i++){
|
|
|
|
|
yon_char_remove_last_symbol(launched[i],'\n');
|
|
|
|
|
}
|
|
|
|
|
// int launched_size;
|
|
|
|
|
// config_str launched = yon_config_load(load_launched_command,&launched_size);
|
|
|
|
|
// for (int i=0;i<launched_size;i++){
|
|
|
|
|
// yon_char_remove_last_symbol(launched[i],'\n');
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// dictionary *dact = NULL;
|
|
|
|
|
// for_dictionaries(dact,dict){
|
|
|
|
|
@ -1403,6 +1459,7 @@ void* yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(system_services,system_size);
|
|
|
|
|
// for (int i=0;i<system_units_size;i++){
|
|
|
|
|
// yon_char_remove_last_symbol(system_units[i],'\n');
|
|
|
|
|
// if (!yon_char_parsed_check_exist_begins_with(system_services,system_size,system_units[i])){
|
|
|
|
|
@ -1454,6 +1511,7 @@ void* yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(user_services,user_size);
|
|
|
|
|
// for (int i=0;i<user_units_size;i++){
|
|
|
|
|
// yon_char_remove_last_symbol(user_units[i],'\n');
|
|
|
|
|
// if (!yon_char_parsed_check_exist_begins_with(user_services,user_size,user_units[i])){
|
|
|
|
|
@ -1506,6 +1564,7 @@ void* yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
g_idle_add((GSourceFunc)yon_sessions_update,widgets);
|
|
|
|
|
yon_char_parsed_free(config_files,config_size);
|
|
|
|
|
|
|
|
|
|
for (size_t i=0;i<json_object_array_length(jsobject);i++){
|
|
|
|
|
struct json_object *item_obj = json_object_array_get_idx(jsobject, i);
|
|
|
|
|
@ -1601,6 +1660,7 @@ void on_interface_update(GtkWidget *, main_window *widgets){
|
|
|
|
|
if (!main_config.update_thread_active){
|
|
|
|
|
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemUnitsTree)));
|
|
|
|
|
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UserUnitsTree)));
|
|
|
|
|
yon_ubl_status_box_render(LIST_LOAD_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
|
|
|
|
|
main_config.update_thread_active=1;
|
|
|
|
|
g_thread_new("update",(GThreadFunc)yon_interface_update,widgets);
|
|
|
|
|
}
|
|
|
|
|
|