From a962740daee4637b8ada8c76833dc995a92d661b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 10 Oct 2025 16:37:05 +0600 Subject: [PATCH] Added administrator highlighting --- source/ubl-settings-usergroups.c | 26 +++++++++++++++++++++++++- ubl-settings-usergroups.css | 2 +- ubl-settings-usergroups.glade | 26 ++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 300265e..73c1be3 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -156,6 +156,17 @@ void yon_interface_update(main_window *widgets){ pars = DEFAULT_USER_LABEL; } + GdkRGBA rgba = {0}; + char *wheel = yon_char_parsed_check_exist_begins_with(main_config.shadow,main_config.shadow_size,"wheel"); + int wheel_size; + config_str wheel_parsed = yon_char_parse(wheel,&wheel_size,":"); + char *param = config(ADDADM_parameter); + if ((atoi(parameters[1])==1000&&!yon_char_is_empty(param)&&!strcmp(param,"yes"))||yon_char_parsed_check_exist(wheel_parsed,wheel_size,login)>-1){ + rgba.red=253.0/255.0; + rgba.green=251.0/255.0; + rgba.blue=216.0/255.0; + rgba.alpha=1; + } gtk_list_store_set(widgets->UsersList,&iter, 0,parameters_size>5?(parameters[5][0]=='!'&¶meters[5][1]=='*')?check_checked_icon_name:(parameters[5][0]=='!'||parameters[5][0]=='*')?check_attention_icon_name:NULL:NULL, 2,login, @@ -166,6 +177,7 @@ void yon_interface_update(main_window *widgets){ 6,parameters_size>4?!strcmp(parameters[4],"x")?"":parameters[4]:"", 7,!yon_char_is_empty(pars)?pars:"", 8,!yon_char_is_empty(tooltip)?tooltip:"", + 9,rgba.alpha==1?&rgba:NULL, -1); if(parameters) free(parameters); @@ -1372,8 +1384,20 @@ void yon_system_load(main_window *window){ } yon_char_parsed_free(parsed_group,parsed_gr_size); } + GdkRGBA rgba = {0}; + char *wheel = yon_char_parsed_check_exist_begins_with(main_config.shadow,main_config.shadow_size,"wheel"); + int wheel_size; + config_str wheel_parsed = yon_char_parse(wheel,&wheel_size,":"); + char *param = config(ADDADM_parameter); + if ((atoi(parsed[2])==1000&&!yon_char_is_empty(param)&&!strcmp(param,"yes"))||yon_char_parsed_check_exist(wheel_parsed,wheel_size,parsed[0])>-1){ + rgba.red=253.0/255.0; + rgba.green=251.0/255.0; + rgba.blue=216.0/255.0; + rgba.alpha=1; + } gtk_list_store_append(window->liststore1,&iter); - gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[4],4,main_group_name,5,groups_string,6,parsed[5],-1); + gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[4],4,main_group_name,5,groups_string,6,parsed[5],14,&rgba,-1); + yon_char_parsed_free(wheel_parsed,wheel_size); yon_char_parsed_free(parsed,parsed_size); } int shadow_size; diff --git a/ubl-settings-usergroups.css b/ubl-settings-usergroups.css index 65cc985..47d2ef3 100644 --- a/ubl-settings-usergroups.css +++ b/ubl-settings-usergroups.css @@ -111,7 +111,7 @@ background:transparent; } .boxInfoMessOK{ - background-color: #f3f0ac; + background-color: #f3f0ac; } .errorBox { border-width: 2px; diff --git a/ubl-settings-usergroups.glade b/ubl-settings-usergroups.glade index 0aa8ba5..057f477 100644 --- a/ubl-settings-usergroups.glade +++ b/ubl-settings-usergroups.glade @@ -73,6 +73,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + @@ -156,6 +158,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + @@ -472,6 +476,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + 9 0 @@ -489,6 +494,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + 9 1 @@ -505,6 +511,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + 9 2 @@ -522,6 +529,7 @@ name + 9 3 @@ -539,6 +547,7 @@ group + 9 4 @@ -559,6 +568,7 @@ groups 150 + 9 5 @@ -579,6 +589,7 @@ parameters 150 + 9 6 @@ -595,6 +606,7 @@ status + 9 7 @@ -869,6 +881,7 @@ status + 14 0 @@ -886,6 +899,7 @@ status + 14 1 @@ -902,6 +916,7 @@ status + 14 2 @@ -918,6 +933,7 @@ status + 14 3 @@ -935,6 +951,7 @@ group + 14 4 @@ -954,6 +971,7 @@ groups 150 + 14 5 @@ -969,6 +987,7 @@ directory + 14 6 @@ -983,6 +1002,7 @@ path + 14 7 @@ -997,6 +1017,7 @@ been changed + 14 8 @@ -1011,6 +1032,7 @@ date + 14 9 @@ -1025,6 +1047,7 @@ interval (min) + 14 10 @@ -1039,6 +1062,7 @@ interval (max) + 14 11 @@ -1053,6 +1077,7 @@ warning + 14 12 @@ -1067,6 +1092,7 @@ without activity + 14 13