|
|
|
|
@ -209,7 +209,7 @@ void on_config_autostart_clicked(GtkCellRenderer *, char *path, main_window *wid
|
|
|
|
|
if (status==0){
|
|
|
|
|
if (place ==-1){
|
|
|
|
|
if (yon_char_parsed_check_exist(parsed,size,unit)==-1){
|
|
|
|
|
if (!yon_config_append("SERVICES_ENABLE",name,",")){
|
|
|
|
|
if (!yon_config_append_element("SERVICES_ENABLE",name,",")){
|
|
|
|
|
yon_config_register("SERVICES_ENABLE",SERVICES_ENABLE_get_command,name);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
@ -274,7 +274,7 @@ void on_config_autostop_clicked(GtkCellRenderer *, char *path, main_window *widg
|
|
|
|
|
if (status==0){
|
|
|
|
|
if (place ==-1){
|
|
|
|
|
if (yon_char_parsed_check_exist(parsed,size,unit)==-1){
|
|
|
|
|
if (!yon_config_append("SERVICES_DISABLE",name,",")){
|
|
|
|
|
if (!yon_config_append_element("SERVICES_DISABLE",name,",")){
|
|
|
|
|
yon_config_register("SERVICES_DISABLE",SERVICES_DISABLE_get_command,name);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
@ -325,7 +325,7 @@ void on_config_block_clicked(GtkCellRenderer *, char *path, main_window *widgets
|
|
|
|
|
free(unit);
|
|
|
|
|
unit=parsed_name;
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,2,!status,-1);
|
|
|
|
|
char *config_sting = yon_config_get_by_key("SERVICES_MASK");
|
|
|
|
|
char *config_sting = yon_config_get_by_key(SERVICES_MASK_parameter);
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_char_parse(config_sting,&size,",");
|
|
|
|
|
if (strstr(name,".service")){
|
|
|
|
|
@ -337,22 +337,22 @@ void on_config_block_clicked(GtkCellRenderer *, char *path, main_window *widgets
|
|
|
|
|
if (status==0){
|
|
|
|
|
if (place ==-1){
|
|
|
|
|
if (yon_char_parsed_check_exist(parsed,size,unit)==-1){
|
|
|
|
|
if (!yon_config_append("SERVICES_MASK",name,",")){
|
|
|
|
|
yon_config_register("SERVICES_MASK",SERVICES_MASK_get_command,name);
|
|
|
|
|
if (!yon_config_append_element(SERVICES_MASK_parameter,name,",")){
|
|
|
|
|
yon_config_register(SERVICES_MASK_parameter,SERVICES_MASK_parameter_command,name);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
parsed = yon_char_parsed_rip(parsed,&size,place);
|
|
|
|
|
if (parsed)
|
|
|
|
|
yon_config_set("SERVICES_MASK",yon_char_parsed_to_string(parsed,size,","));
|
|
|
|
|
else yon_config_remove_by_key("SERVICES_MASK");
|
|
|
|
|
yon_config_set(SERVICES_MASK_parameter,yon_char_parsed_to_string(parsed,size,","));
|
|
|
|
|
else yon_config_remove_by_key(SERVICES_MASK_parameter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (place !=-1){
|
|
|
|
|
parsed = yon_char_parsed_rip(parsed,&size,place);
|
|
|
|
|
if (parsed)
|
|
|
|
|
yon_config_set("SERVICES_MASK",yon_char_parsed_to_string(parsed,size,","));
|
|
|
|
|
else yon_config_remove_by_key("SERVICES_MASK");
|
|
|
|
|
yon_config_set(SERVICES_MASK_parameter,yon_char_parsed_to_string(parsed,size,","));
|
|
|
|
|
else yon_config_remove_by_key(SERVICES_MASK_parameter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
@ -1308,7 +1308,7 @@ gboolean yon_interface_update_finish(main_window *widgets){
|
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
|
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
char *masked = yon_config_get_by_key(SERVICES_MASK_PARAMETER);
|
|
|
|
|
char *masked = yon_config_get_by_key(SERVICES_MASK_parameter);
|
|
|
|
|
parsed = yon_char_parse(masked,&parsed_size,",");
|
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
|
@ -1370,7 +1370,7 @@ gboolean yon_interface_update_finish(main_window *widgets){
|
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
|
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
char *masked = yon_config_get_by_key(SERVICES_MASK_PARAMETER);
|
|
|
|
|
char *masked = yon_config_get_by_key(SERVICES_MASK_parameter);
|
|
|
|
|
parsed = yon_char_parse(masked,&parsed_size,",");
|
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
|
@ -1796,76 +1796,89 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt
|
|
|
|
|
if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tree), tree_x, tree_y, &path, NULL, NULL, NULL)) {
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (gtk_tree_model_get_iter(model, &iter, path)) {
|
|
|
|
|
gchar *name, *description, *state, *name_target, *load_status, *active_status,*unit_path;
|
|
|
|
|
gchar *name, *description, *state, *name_target, *load_status, *active_status,*unit_path,*activate_time,*deactivate_time;
|
|
|
|
|
int size;
|
|
|
|
|
gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 13, &state, 14,&load_status,15,&active_status,16,&unit_path, -1);
|
|
|
|
|
gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 13, &state, 14,&load_status,15,&active_status,16,&unit_path,17,&activate_time,18,&deactivate_time, -1);
|
|
|
|
|
name_target = yon_char_new(name);
|
|
|
|
|
if (name[0]=='-'){
|
|
|
|
|
name_target = yon_char_append("-- ",name_target);
|
|
|
|
|
}
|
|
|
|
|
config_str target = yon_config_load(yon_debug_output("%s\n",get_activate_deactivate_times(name_target)), &size);
|
|
|
|
|
free(name_target);
|
|
|
|
|
if (target){
|
|
|
|
|
free(yon_char_divide_search(target[0], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[0], '\n');
|
|
|
|
|
free(yon_char_divide_search(target[1], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[1], '\n');
|
|
|
|
|
free(yon_char_divide_search(target[2], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[2], '\n');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
state[0]=g_ascii_toupper(state[0]);
|
|
|
|
|
load_status[0]=g_ascii_toupper(load_status[0]);
|
|
|
|
|
active_status[0]=g_ascii_toupper(active_status[0]);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->UnitLabel), unit_path);
|
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->NameLabel), yon_char_unite("<b>",name,"</b>",NULL));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->DescriptionLabel), description);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->StatusQueryLabel), _(state));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AutostartLabel), _(load_status));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->TooltipStatusLabel), _(active_status));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
free(name);
|
|
|
|
|
free(description);
|
|
|
|
|
free(state);
|
|
|
|
|
|
|
|
|
|
if (target){
|
|
|
|
|
gchar *formatted_activa = g_strdup(NULL_LABEL);//!yon_char_is_empty(target[1])&&strcmp(target[1],"0")?target[1]:g_strdup(NULL_LABEL);
|
|
|
|
|
gchar *formatted_deactiva = g_strdup(NULL_LABEL);//!yon_char_is_empty(target[2])&&strcmp(target[2],"0")?target[2]:g_strdup(NULL_LABEL);
|
|
|
|
|
if (!yon_char_is_empty(target[1])&&strcmp(target[1],"0")){
|
|
|
|
|
int activated_size;
|
|
|
|
|
config_str activated_parsed = yon_char_parse(target[1],&activated_size," ");
|
|
|
|
|
int date_size;
|
|
|
|
|
config_str date_parsed = yon_char_parse(activated_parsed[1],&date_size,"-");
|
|
|
|
|
if (date_size>2){
|
|
|
|
|
char *temp = date_parsed[0];
|
|
|
|
|
date_parsed[0]=date_parsed[2];
|
|
|
|
|
date_parsed[2]=temp;
|
|
|
|
|
formatted_activa = yon_char_unite(date_parsed?yon_char_parsed_to_string(date_parsed,date_size,"."):""," ",activated_parsed[2],NULL);
|
|
|
|
|
if (date_size) yon_char_parsed_free(date_parsed,date_size);
|
|
|
|
|
}
|
|
|
|
|
if (activated_size) yon_char_parsed_free(activated_parsed,activated_size);
|
|
|
|
|
|
|
|
|
|
state[0]=g_ascii_toupper(state[0]);
|
|
|
|
|
load_status[0]=g_ascii_toupper(load_status[0]);
|
|
|
|
|
active_status[0]=g_ascii_toupper(active_status[0]);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->UnitLabel), unit_path);
|
|
|
|
|
gtk_label_set_markup(GTK_LABEL(widgets->NameLabel), yon_char_unite("<b>",name,"</b>",NULL));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->DescriptionLabel), description);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->StatusQueryLabel), _(state));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AutostartLabel), _(load_status));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->TooltipStatusLabel), _(active_status));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
free(name);
|
|
|
|
|
free(description);
|
|
|
|
|
free(state);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (yon_char_is_empty(activate_time)||yon_char_is_empty(deactivate_time)){
|
|
|
|
|
config_str target = yon_config_load(yon_debug_output("%s\n",get_activate_deactivate_times(name_target)), &size);
|
|
|
|
|
free(name_target);
|
|
|
|
|
if (target){
|
|
|
|
|
free(yon_char_divide_search(target[0], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[0], '\n');
|
|
|
|
|
free(yon_char_divide_search(target[1], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[1], '\n');
|
|
|
|
|
free(yon_char_divide_search(target[2], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[2], '\n');
|
|
|
|
|
}
|
|
|
|
|
if (!yon_char_is_empty(target[2])&&strcmp(target[2],"0")){
|
|
|
|
|
int deactivated_size;
|
|
|
|
|
config_str deactivated_parsed = yon_char_parse(target[2],&deactivated_size," ");
|
|
|
|
|
int date_size;
|
|
|
|
|
config_str date_parsed = yon_char_parse(deactivated_parsed[1],&date_size,"-");
|
|
|
|
|
if (date_size>=2){
|
|
|
|
|
char *temp = date_parsed[0];
|
|
|
|
|
date_parsed[0]=date_parsed[2];
|
|
|
|
|
date_parsed[2]=temp;
|
|
|
|
|
formatted_deactiva = yon_char_unite(date_parsed?yon_char_parsed_to_string(date_parsed,date_size,"."):""," ",deactivated_parsed[2],NULL);
|
|
|
|
|
if (date_size) yon_char_parsed_free(date_parsed,date_size);
|
|
|
|
|
if (target){
|
|
|
|
|
gchar *formatted_activa = g_strdup(NULL_LABEL);//!yon_char_is_empty(target[1])&&strcmp(target[1],"0")?target[1]:g_strdup(NULL_LABEL);
|
|
|
|
|
gchar *formatted_deactiva = g_strdup(NULL_LABEL);//!yon_char_is_empty(target[2])&&strcmp(target[2],"0")?target[2]:g_strdup(NULL_LABEL);
|
|
|
|
|
if (!yon_char_is_empty(target[1])&&strcmp(target[1],"0")){
|
|
|
|
|
int activated_size;
|
|
|
|
|
config_str activated_parsed = yon_char_parse(target[1],&activated_size," ");
|
|
|
|
|
int date_size;
|
|
|
|
|
config_str date_parsed = yon_char_parse(activated_parsed[1],&date_size,"-");
|
|
|
|
|
if (date_size>2){
|
|
|
|
|
char *temp = date_parsed[0];
|
|
|
|
|
date_parsed[0]=date_parsed[2];
|
|
|
|
|
date_parsed[2]=temp;
|
|
|
|
|
formatted_activa = yon_char_unite(date_parsed?yon_char_parsed_to_string(date_parsed,date_size,"."):""," ",activated_parsed[2],NULL);
|
|
|
|
|
if (date_size) yon_char_parsed_free(date_parsed,date_size);
|
|
|
|
|
}
|
|
|
|
|
if (activated_size) yon_char_parsed_free(activated_parsed,activated_size);
|
|
|
|
|
}
|
|
|
|
|
if (deactivated_size) yon_char_parsed_free(deactivated_parsed,deactivated_size);
|
|
|
|
|
}
|
|
|
|
|
if (!yon_char_is_empty(target[2])&&strcmp(target[2],"0")){
|
|
|
|
|
int deactivated_size;
|
|
|
|
|
config_str deactivated_parsed = yon_char_parse(target[2],&deactivated_size," ");
|
|
|
|
|
int date_size;
|
|
|
|
|
config_str date_parsed = yon_char_parse(deactivated_parsed[1],&date_size,"-");
|
|
|
|
|
if (date_size>=2){
|
|
|
|
|
char *temp = date_parsed[0];
|
|
|
|
|
date_parsed[0]=date_parsed[2];
|
|
|
|
|
date_parsed[2]=temp;
|
|
|
|
|
formatted_deactiva = yon_char_unite(date_parsed?yon_char_parsed_to_string(date_parsed,date_size,"."):""," ",deactivated_parsed[2],NULL);
|
|
|
|
|
if (date_size) yon_char_parsed_free(date_parsed,date_size);
|
|
|
|
|
}
|
|
|
|
|
if (deactivated_size) yon_char_parsed_free(deactivated_parsed,deactivated_size);
|
|
|
|
|
}
|
|
|
|
|
GtkTreeIter itar;
|
|
|
|
|
yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&itar);
|
|
|
|
|
GtkTreeModel *filter_model = gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT(model));
|
|
|
|
|
GtkTreeModel *list = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(filter_model));
|
|
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->ActivateLabel), formatted_activa);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->DeactivateLabel), formatted_deactiva);
|
|
|
|
|
|
|
|
|
|
g_free(formatted_activa);
|
|
|
|
|
g_free(formatted_deactiva);
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(list),&itar,17,formatted_activa,18,formatted_deactiva,-1);
|
|
|
|
|
|
|
|
|
|
activate_time = yon_char_new(formatted_activa);
|
|
|
|
|
deactivate_time = yon_char_new(formatted_deactiva);
|
|
|
|
|
|
|
|
|
|
g_free(formatted_activa);
|
|
|
|
|
g_free(formatted_deactiva);
|
|
|
|
|
}
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->ActivateLabel), activate_time);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->DeactivateLabel), deactivate_time);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_path_free(path);
|
|
|
|
|
return TRUE;
|
|
|
|
|
|