|
|
|
@ -67,8 +67,6 @@ void on_config_custom_load(GtkWidget *self,main_window *widgets){
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_service_constant_update(){
|
|
|
|
void on_service_constant_update(){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -93,22 +91,78 @@ void on_config_custom_save(GtkWidget *self, main_window *widgets){
|
|
|
|
if (window){};
|
|
|
|
if (window){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum YON_UNIT_TYPE {
|
|
|
|
|
|
|
|
YON_UNIT_SERVICE=0,
|
|
|
|
|
|
|
|
YON_UNIT_SWAP,
|
|
|
|
|
|
|
|
YON_UNIT_SOCKET,
|
|
|
|
|
|
|
|
YON_UNIT_DEVICE,
|
|
|
|
|
|
|
|
YON_UNIT_TARGET,
|
|
|
|
|
|
|
|
YON_UNIT_MOUNT,
|
|
|
|
|
|
|
|
YON_UNIT_TIMER,
|
|
|
|
|
|
|
|
YON_UNIT_PATH,
|
|
|
|
|
|
|
|
YON_UNIT_SLICE,
|
|
|
|
|
|
|
|
YON_UNIT_SCOPE,
|
|
|
|
|
|
|
|
YON_UNIT_UNRECOGNISED
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
enum YON_UNIT_TYPE yon_get_unit_type(char *unit_name);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum YON_UNIT_TYPE yon_get_unit_type(char *unit_name){
|
|
|
|
|
|
|
|
enum YON_UNIT_TYPE final_type=0;
|
|
|
|
|
|
|
|
char *type = yon_char_new(unit_name);
|
|
|
|
|
|
|
|
int cut = yon_char_find_last(type,'.');
|
|
|
|
|
|
|
|
if (cut>-1){
|
|
|
|
|
|
|
|
free(yon_char_divide(type,cut));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!strcmp(type,"service")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_SERVICE;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"swap")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_SWAP;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"socket")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_SOCKET;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"device")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_DEVICE;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"target")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_TARGET;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"automount")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_MOUNT;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"timer")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_TIMER;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"path")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_PATH;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"slice")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_SLICE;
|
|
|
|
|
|
|
|
} else if (!strcmp(type,"scope")){
|
|
|
|
|
|
|
|
final_type = YON_UNIT_SCOPE;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
final_type = YON_UNIT_UNRECOGNISED;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
free(type);
|
|
|
|
|
|
|
|
return final_type;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_activate(GtkTreeView *self, main_window *widgets){
|
|
|
|
void on_activate(GtkTreeView *self, main_window *widgets){
|
|
|
|
if (self&&widgets){};
|
|
|
|
if (self&&widgets){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void on_config_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_config_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
gboolean status = 0;
|
|
|
|
gboolean status = 0;
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,0,&status,5,&name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,0,&status,5,&name,-1);
|
|
|
|
@ -140,17 +194,22 @@ void on_config_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_autostop_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_config_autostop_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
gboolean status = 0;
|
|
|
|
gboolean status = 0;
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,1,&status,5,&name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,1,&status,5,&name,-1);
|
|
|
|
@ -183,17 +242,22 @@ void on_config_autostop_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_block_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_config_block_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
gboolean status = 0;
|
|
|
|
gboolean status = 0;
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,2,&status,5,&name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,2,&status,5,&name,-1);
|
|
|
|
@ -226,17 +290,22 @@ void on_config_block_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
void on_system_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_system_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
gboolean status = 0;
|
|
|
|
gboolean status = 0;
|
|
|
|
char *service_name;
|
|
|
|
char *service_name;
|
|
|
|
gtk_tree_model_get(model,&iter,3,&status,5,&service_name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,3,&status,5,&service_name,-1);
|
|
|
|
@ -247,6 +316,70 @@ void on_system_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gboolean yon_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets){
|
|
|
|
|
|
|
|
gboolean autostart,autostop,masked,type,loaded,inactive;
|
|
|
|
|
|
|
|
gtk_tree_model_get(model,iter,0,&autostart,1,&autostop,2,&masked,7,&type,8,&loaded,9,&inactive,-1);
|
|
|
|
|
|
|
|
GtkWidget *combo=NULL;
|
|
|
|
|
|
|
|
GtkWidget *loaded_check=NULL;
|
|
|
|
|
|
|
|
GtkWidget *active_check=NULL;
|
|
|
|
|
|
|
|
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
|
|
|
|
|
|
|
if (page == 0){
|
|
|
|
|
|
|
|
combo = widgets->SystemFiltersCombo;
|
|
|
|
|
|
|
|
loaded_check = widgets->SystemUnloadedShowCheck;
|
|
|
|
|
|
|
|
active_check = widgets->SystemInactiveShowCheck;
|
|
|
|
|
|
|
|
} else if (page == 1){
|
|
|
|
|
|
|
|
combo = widgets->UserFiltersCombo;
|
|
|
|
|
|
|
|
loaded_check = widgets->UserUnloadedShowCheck;
|
|
|
|
|
|
|
|
active_check = widgets->UserInactiveShowCheck;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
int type_filter=1;
|
|
|
|
|
|
|
|
int active_filter=0;
|
|
|
|
|
|
|
|
int loaded_filter=0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int filter_active = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
|
|
|
|
|
|
|
|
if (filter_active>0){
|
|
|
|
|
|
|
|
if (filter_active>3){
|
|
|
|
|
|
|
|
char *text = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(combo));
|
|
|
|
|
|
|
|
if (yon_get_unit_type(text)!=(enum YON_UNIT_TYPE)type) type_filter = 0;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
switch (filter_active){
|
|
|
|
|
|
|
|
case 1: if (!autostart) type_filter=0;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2: if (!autostop) type_filter=0;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3: if (!masked) type_filter=0;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(active_check))){
|
|
|
|
|
|
|
|
active_filter=1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(loaded_check)))
|
|
|
|
|
|
|
|
loaded_filter=1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (type_filter&&(active_filter||inactive)&&(loaded_filter||loaded)){
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_filter_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){};
|
|
|
|
|
|
|
|
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
|
|
|
|
|
|
|
if (page == 0){
|
|
|
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemUnitsTree),NULL);
|
|
|
|
|
|
|
|
gtk_tree_model_filter_refilter(widgets->SystemFilter);
|
|
|
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_TREE_MODEL(widgets->SystemFilter));
|
|
|
|
|
|
|
|
} else if (page == 1){
|
|
|
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UserUnitsTree),NULL);
|
|
|
|
|
|
|
|
gtk_tree_model_filter_refilter(widgets->UserFilter);
|
|
|
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UserUnitsTree),GTK_TREE_MODEL(widgets->UserFilter));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_system_kill_confirmed(GtkWidget *self,char *service_name){
|
|
|
|
void on_system_kill_confirmed(GtkWidget *self,char *service_name){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
char *command = service_kill_command(service_name);
|
|
|
|
char *command = service_kill_command(service_name);
|
|
|
|
@ -300,14 +433,6 @@ void on_system_restart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self&&widgets){};
|
|
|
|
if (self&&widgets){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_source_show(){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_properties_show(){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_session_activate(){
|
|
|
|
void on_session_activate(){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -320,14 +445,6 @@ void on_session_block(){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_status_show(){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_log_show(){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log_window *yon_log_window_new(){
|
|
|
|
log_window *yon_log_window_new(){
|
|
|
|
log_window *window = malloc(sizeof(log_window));
|
|
|
|
log_window *window = malloc(sizeof(log_window));
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_log);
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_log);
|
|
|
|
@ -505,38 +622,6 @@ void on_system_status_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_system_filter_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_system_search(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_system_inactive_toggled(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_system_unloaded_toggled(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_update_hz_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_user_update_hz_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self){}
|
|
|
|
if (self){}
|
|
|
|
if (widgets){
|
|
|
|
if (widgets){
|
|
|
|
@ -639,38 +724,6 @@ void on_user_status_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_filter_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_search(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_inactive_toggled(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_unloaded_toggled(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
if (self){}
|
|
|
|
|
|
|
|
if (widgets){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_log_save(GtkWidget *self, log_window *window){
|
|
|
|
void on_config_log_save(GtkWidget *self, log_window *window){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
GtkTextIter start, end;
|
|
|
|
GtkTextIter start, end;
|
|
|
|
@ -836,8 +889,11 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
config_str parsed = yon_char_parse(system_services[i],&size,";");
|
|
|
|
config_str parsed = yon_char_parse(system_services[i],&size,";");
|
|
|
|
if (parsed){
|
|
|
|
if (parsed){
|
|
|
|
|
|
|
|
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_append(widgets->SystemList,&iter);
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],-1);
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],7,type,8,loaded,9,active,11,_(parsed[3]),-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -847,8 +903,11 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
config_str parsed = yon_char_parse(user_services[i],&size,";");
|
|
|
|
config_str parsed = yon_char_parse(user_services[i],&size,";");
|
|
|
|
if (parsed){
|
|
|
|
if (parsed){
|
|
|
|
|
|
|
|
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->UserList,&iter);
|
|
|
|
gtk_list_store_append(widgets->UserList,&iter);
|
|
|
|
gtk_list_store_set(widgets->UserList,&iter,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],-1);
|
|
|
|
gtk_list_store_set(widgets->UserList,&iter,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],5,parsed[0],6,parsed[4],7,type,8,loaded,9,active,11,_(parsed[3]),-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -956,12 +1015,12 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
char *enabled = yon_config_get_by_key(SERVICES_ENABLE_PARAMETER);
|
|
|
|
char *enabled = yon_config_get_by_key(SERVICES_ENABLE_PARAMETER);
|
|
|
|
config_str parsed = yon_char_parse(enabled,&parsed_size,",");
|
|
|
|
config_str parsed = yon_char_parse(enabled,&parsed_size,",");
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
|
|
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
int valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
gtk_list_store_set(widgets->UserList,&iter,0,0,-1);
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,0,0,-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
@ -969,7 +1028,13 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,5,&name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,5,&name,-1);
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
if (strstr(name,parsed[i])) gtk_list_store_set(widgets->UserList,&iter,0,1,-1);
|
|
|
|
if (yon_char_find_last(parsed[i],'.')==-1) {
|
|
|
|
|
|
|
|
char *temp = yon_char_append(parsed[i],".service");
|
|
|
|
|
|
|
|
free(parsed[i]);
|
|
|
|
|
|
|
|
parsed[i]=temp;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!strcmp(name,parsed[i]))
|
|
|
|
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,0,1,-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
@ -979,7 +1044,7 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
gtk_list_store_set(widgets->UserList,&iter,1,0,-1);
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,1,0,-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
@ -987,7 +1052,7 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,5,&name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,5,&name,-1);
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
if (strstr(name,parsed[i])) gtk_list_store_set(widgets->UserList,&iter,1,1,-1);
|
|
|
|
if (strstr(name,parsed[i])) gtk_list_store_set(widgets->SystemList,&iter,1,1,-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
@ -997,7 +1062,7 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
gtk_list_store_set(widgets->UserList,&iter,2,0,-1);
|
|
|
|
gtk_list_store_set(widgets->SystemList,&iter,2,0,-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
valid = gtk_tree_model_get_iter_first(model,&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(model,&iter))
|
|
|
|
@ -1005,7 +1070,7 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,5,&name,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,5,&name,-1);
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
for (int i=0;i<parsed_size;i++){
|
|
|
|
if (strstr(name,parsed[i])) gtk_list_store_set(widgets->UserList,&iter,2,1,-1);
|
|
|
|
if (strstr(name,parsed[i])) gtk_list_store_set(widgets->SystemList,&iter,2,1,-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1068,8 +1133,8 @@ gboolean yon_interface_update(main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_TREE_MODEL(widgets->SystemList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_TREE_MODEL(widgets->SystemFilter));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UserUnitsTree),GTK_TREE_MODEL(widgets->UserList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UserUnitsTree),GTK_TREE_MODEL(widgets->UserFilter));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ConfigMainTree),GTK_TREE_MODEL(widgets->ConfigList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ConfigMainTree),GTK_TREE_MODEL(widgets->ConfigList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SessionMainTree),GTK_TREE_MODEL(widgets->SessionsList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SessionMainTree),GTK_TREE_MODEL(widgets->SessionsList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->TimersMainTree),GTK_TREE_MODEL(widgets->TimersList));
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->TimersMainTree),GTK_TREE_MODEL(widgets->TimersList));
|
|
|
|
@ -1116,12 +1181,41 @@ void config_init(){
|
|
|
|
|
|
|
|
|
|
|
|
void on_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
void on_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
if (self){};
|
|
|
|
if (self){};
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
|
|
|
GtkWidget *Tree;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
// int switch_status=0;
|
|
|
|
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemUnitsTree)),&model,&iter)){
|
|
|
|
if (page==0){
|
|
|
|
// switch_status=1;
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&model,&iter)){
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemEditButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemLogButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemStatusButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemInfoButton,1);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemEditButton,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemLogButton,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemStatusButton,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SystemInfoButton,0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if (page==1){
|
|
|
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&model,&iter)){
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserEditButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserLogButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserStatusButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserInfoButton,1);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserEditButton,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserLogButton,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserStatusButton,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserInfoButton,0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// int switch_status=0;
|
|
|
|
if (getuid()==0){
|
|
|
|
if (getuid()==0){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1168,6 +1262,8 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
widgets->SystemLogButton=yon_gtk_builder_get_widget(builder,"SystemLogButton");
|
|
|
|
widgets->SystemLogButton=yon_gtk_builder_get_widget(builder,"SystemLogButton");
|
|
|
|
widgets->SystemEditButton=yon_gtk_builder_get_widget(builder,"SystemEditButton");
|
|
|
|
widgets->SystemEditButton=yon_gtk_builder_get_widget(builder,"SystemEditButton");
|
|
|
|
widgets->SystemPropertiesButton=yon_gtk_builder_get_widget(builder,"SystemPropertiesButton");
|
|
|
|
widgets->SystemPropertiesButton=yon_gtk_builder_get_widget(builder,"SystemPropertiesButton");
|
|
|
|
|
|
|
|
widgets->SystemFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"SystemFilter"));
|
|
|
|
|
|
|
|
widgets->UserFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"UserFilter"));
|
|
|
|
widgets->SystemStatusButton=yon_gtk_builder_get_widget(builder,"SystemStatusButton");
|
|
|
|
widgets->SystemStatusButton=yon_gtk_builder_get_widget(builder,"SystemStatusButton");
|
|
|
|
widgets->SystemMenu = yon_rmb_menu_setup(widgets->SystemUnitsTree,NULL,NULL,
|
|
|
|
widgets->SystemMenu = yon_rmb_menu_setup(widgets->SystemUnitsTree,NULL,NULL,
|
|
|
|
CONFIGURE_CONFIGURATION_LABEL,NULL,NULL,NULL,
|
|
|
|
CONFIGURE_CONFIGURATION_LABEL,NULL,NULL,NULL,
|
|
|
|
@ -1245,10 +1341,10 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemLogButton),"clicked",G_CALLBACK(on_system_log_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemLogButton),"clicked",G_CALLBACK(on_system_log_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemEditButton),"clicked",G_CALLBACK(on_system_edit_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemEditButton),"clicked",G_CALLBACK(on_system_edit_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemStatusButton),"clicked",G_CALLBACK(on_system_status_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemStatusButton),"clicked",G_CALLBACK(on_system_status_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemFiltersCombo),"changed",G_CALLBACK(on_system_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemFiltersCombo),"changed",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemSearchEntry),"changed",G_CALLBACK(on_system_search),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemSearchEntry),"changed",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemInactiveShowCheck),"toggled",G_CALLBACK(on_system_inactive_toggled),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemInactiveShowCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemUnloadedShowCheck),"toggled",G_CALLBACK(on_system_unloaded_toggled),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemUnloadedShowCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserPrevButton),"clicked",G_CALLBACK(on_user_update_hz_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserPrevButton),"clicked",G_CALLBACK(on_user_update_hz_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserUpdateButton),"clicked",G_CALLBACK(on_user_update_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserUpdateButton),"clicked",G_CALLBACK(on_user_update_clicked),widgets);
|
|
|
|
@ -1256,10 +1352,10 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserLogButton),"clicked",G_CALLBACK(on_user_log_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserLogButton),"clicked",G_CALLBACK(on_user_log_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserEditButton),"clicked",G_CALLBACK(on_user_edit_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserEditButton),"clicked",G_CALLBACK(on_user_edit_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserStatusButton),"clicked",G_CALLBACK(on_user_status_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserStatusButton),"clicked",G_CALLBACK(on_user_status_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserFiltersCombo),"changed",G_CALLBACK(on_user_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserFiltersCombo),"changed",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserSearchEntry),"changed",G_CALLBACK(on_user_search),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserSearchEntry),"changed",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserInactiveShowCheck),"toggled",G_CALLBACK(on_user_inactive_toggled),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserInactiveShowCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserUnloadedShowCheck),"toggled",G_CALLBACK(on_user_unloaded_toggled),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserUnloadedShowCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ConfigEditButton),"clicked",G_CALLBACK(on_config_edit_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ConfigEditButton),"clicked",G_CALLBACK(on_config_edit_clicked),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
@ -1274,6 +1370,8 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SocketsStatusListMenuItem),"activate",G_CALLBACK(on_sockets_list_status),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SocketsStatusListMenuItem),"activate",G_CALLBACK(on_sockets_list_status),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TimersStatusListMenuItem),"activate",G_CALLBACK(on_timers_list_status),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TimersStatusListMenuItem),"activate",G_CALLBACK(on_timers_list_status),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemInactiveShowCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->SystemUnloadedShowCheck);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserInactiveShowCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->UserUnloadedShowCheck);
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->SystemUnitsTree),"button-press-event",G_CALLBACK(on_context_menu_open),widgets);
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->SystemUnitsTree),"button-press-event",G_CALLBACK(on_context_menu_open),widgets);
|
|
|
|
for (unsigned int i=0;i<g_list_length(list);i++){
|
|
|
|
for (unsigned int i=0;i<g_list_length(list);i++){
|
|
|
|
g_signal_connect(G_OBJECT(g_list_nth_data(list,i)),"notify::width",G_CALLBACK(on_column_resize),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(g_list_nth_data(list,i)),"notify::width",G_CALLBACK(on_column_resize),widgets);
|
|
|
|
@ -1319,6 +1417,9 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemUnitsTree),"cursor-changed",G_CALLBACK(on_tree_selection_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemUnitsTree),"cursor-changed",G_CALLBACK(on_tree_selection_changed),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserUnitsTree),"cursor-changed",G_CALLBACK(on_tree_selection_changed),widgets);
|
|
|
|
|
|
|
|
gtk_tree_model_filter_set_visible_func(widgets->UserFilter,(GtkTreeModelFilterVisibleFunc)yon_filter,widgets,NULL);
|
|
|
|
|
|
|
|
gtk_tree_model_filter_set_visible_func(widgets->SystemFilter,(GtkTreeModelFilterVisibleFunc)yon_filter,widgets,NULL);
|
|
|
|
gtk_tree_view_set_search_entry(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_ENTRY(widgets->SystemSearchEntry));
|
|
|
|
gtk_tree_view_set_search_entry(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_ENTRY(widgets->SystemSearchEntry));
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
yon_ubl_status_box_render(LIST_LOAD_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
yon_ubl_status_box_render(LIST_LOAD_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|