Merge pull request 'master' (#115) from YanTheKaller/ubl-settings-services:master into master

Reviewed-on: #115
pull/128/head^2 v2.23
Dmitry Razumov 2 months ago
commit 455f2a2178

@ -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,23 +1796,14 @@ 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]);
@ -1829,6 +1820,18 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt
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 (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);
@ -1860,12 +1863,22 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt
}
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);
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;

@ -131,7 +131,6 @@
#define SERVICES_ENABLE_get_command "ubconfig --source global get [system] SERVICES_ENABLE"
#define SERVICES_DISABLE_get_command "ubconfig --source global get [system] SERVICES_DISABLE"
#define SERVICES_MASK_get_command "ubconfig --source global get [system] SERVICES_MASK"
#define CONSOLE_FONT_get_command "ubconfig --source global get [locale] CONSOLE_FONT"
#define play_icon_path "com.ublinux.ubl-settings-services.play-symbolic"
@ -154,8 +153,8 @@
#define reload_systemd_root_command "systemctl daemon-reload"
#define reexec_systemd_root_command "systemctl daemon-reexec"
#define reload_systemd_user_command "systemctl --user daemon-reload"
#define reexec_systemd_user_command "systemctl --user daemon-reexec"
#define reload_systemd_user_command yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ daemon-reload",NULL)
#define reexec_systemd_user_command yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ daemon-reexec",NULL)
#define session_activate_session(target) yon_char_append("loginctl activate ",target)
#define session_terminate_session(target) yon_char_append("loginctl terminate-session ",target)
@ -164,7 +163,8 @@
#define SERVICES_ENABLE_PARAMETER "SERVICES_ENABLE"
#define SERVICES_DISABLE_PARAMETER "SERVICES_DISABLE"
#define SERVICES_MASK_PARAMETER "SERVICES_MASK"
#define SERVICES_MASK_parameter "SERVICES_MASK"
#define SERVICES_MASK_parameter_command "ubconfig --source global get [system] SERVICES_MASK"
typedef char* string;

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-services">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-services.css -->
@ -75,6 +75,10 @@
<column type="gchararray"/>
<!-- column-name FilePath -->
<column type="gchararray"/>
<!-- column-name ActivatedTime -->
<column type="gchararray"/>
<!-- column-name DeactivatedTime -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkTreeModelFilter" id="SystemFilter">
@ -456,6 +460,10 @@
<column type="gchararray"/>
<!-- column-name FilePath -->
<column type="gchararray"/>
<!-- column-name ActivatedTime -->
<column type="gchararray"/>
<!-- column-name DeactivatedTime -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkTreeModelFilter" id="UserFilter">

Loading…
Cancel
Save