|
|
|
|
@ -166,20 +166,24 @@ void on_activate(GtkTreeView *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
void on_config_autostart_clicked(GtkCellRenderer *, char *path, main_window *widgets){
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeIter iter,itor;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
GtkTreeModel *sort;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->SystemSort);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->UserSort);
|
|
|
|
|
}
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
gtk_tree_model_get_iter(sort,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(sort),&itor,&filter_iter);
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&itor);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,0,&status,5,&name,-1);
|
|
|
|
|
@ -224,20 +228,24 @@ void on_config_autostart_clicked(GtkCellRenderer *, char *path, main_window *wid
|
|
|
|
|
|
|
|
|
|
void on_config_autostop_clicked(GtkCellRenderer *, char *path, main_window *widgets){
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeIter iter,itor;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
GtkTreeModel *sort;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->SystemSort);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->UserSort);
|
|
|
|
|
}
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
gtk_tree_model_get_iter(sort,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(sort),&itor,&filter_iter);
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&itor);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&status,5,&name,-1);
|
|
|
|
|
@ -283,20 +291,24 @@ void on_config_autostop_clicked(GtkCellRenderer *, char *path, main_window *widg
|
|
|
|
|
|
|
|
|
|
void on_config_block_clicked(GtkCellRenderer *, char *path, main_window *widgets){
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeIter iter,itor;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
GtkTreeModel *sort;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->SystemSort);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->UserSort);
|
|
|
|
|
}
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
gtk_tree_model_get_iter(sort,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(sort),&itor,&filter_iter);
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&itor);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,2,&status,5,&name,-1);
|
|
|
|
|
@ -346,20 +358,24 @@ void on_system_autostart_confirmed(GtkWidget *,char *service_command){
|
|
|
|
|
|
|
|
|
|
void on_system_autostart_clicked(GtkCellRenderer *, char *path, main_window *widgets){
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeIter iter,itor;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
GtkTreeModel *sort;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->SystemSort);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->UserSort);
|
|
|
|
|
}
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
gtk_tree_model_get_iter(sort,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(sort),&itor,&filter_iter);
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&itor);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *service_name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,3,&status,5,&service_name,-1);
|
|
|
|
|
@ -439,11 +455,11 @@ void on_filter_changed(GtkWidget *, main_window *widgets){
|
|
|
|
|
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));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_TREE_MODEL(widgets->SystemSort));
|
|
|
|
|
} 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));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UserUnitsTree),GTK_TREE_MODEL(widgets->UserSort));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -452,20 +468,24 @@ void on_system_kill_confirmed(GtkWidget *,char *service_name){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_system_launch_clicked(GtkWidget *, char *path, main_window *widgets){
|
|
|
|
|
GtkTreeIter iter, filter_iter;
|
|
|
|
|
GtkTreeIter iter, itor, filter_iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
GtkTreeModel *sort;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->SystemSort);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
sort = GTK_TREE_MODEL(widgets->UserSort);
|
|
|
|
|
}
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
gtk_tree_model_get_iter(sort,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(sort),&itor,&filter_iter);
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&itor);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *service_name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,4,&status,5,&service_name,-1);
|
|
|
|
|
@ -1094,9 +1114,17 @@ gboolean yon_interface_list_models_disconnect(main_window *widgets){
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_sort_activate(GtkTreeViewColumn *self, main_window *widgets){
|
|
|
|
|
if (self == gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->SystemUpperTree),2)){
|
|
|
|
|
gtk_tree_view_column_clicked(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->SystemUnitsTree),6));
|
|
|
|
|
} else {
|
|
|
|
|
gtk_tree_view_column_clicked(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->UserUnitsTree),6));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gboolean yon_interface_list_models_connect(main_window *widgets){
|
|
|
|
|
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->UserFilter));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemUnitsTree),GTK_TREE_MODEL(widgets->SystemSort));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UserUnitsTree),GTK_TREE_MODEL(widgets->UserSort));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ConfigMainTree),GTK_TREE_MODEL(widgets->ConfigList));
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->TimersMainTree),GTK_TREE_MODEL(widgets->TimersList));
|
|
|
|
|
|
|
|
|
|
@ -1786,7 +1814,9 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->SystemEditButton=yon_gtk_builder_get_widget(builder,"SystemEditButton");
|
|
|
|
|
widgets->SystemPropertiesButton=yon_gtk_builder_get_widget(builder,"SystemPropertiesButton");
|
|
|
|
|
widgets->SystemFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"SystemFilter"));
|
|
|
|
|
widgets->SystemSort = GTK_TREE_MODEL_SORT(gtk_builder_get_object(builder,"SystemSort"));
|
|
|
|
|
widgets->UserFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"UserFilter"));
|
|
|
|
|
widgets->UserSort = GTK_TREE_MODEL_SORT(gtk_builder_get_object(builder,"UserSort"));
|
|
|
|
|
widgets->SystemStatusButton=yon_gtk_builder_get_widget(builder,"SystemStatusButton");
|
|
|
|
|
widgets->ConfigAutostartCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ConfigAutostartCell"));
|
|
|
|
|
widgets->ConfigAutostopCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ConfigAutostopCell"));
|
|
|
|
|
@ -1929,6 +1959,9 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TimersUpdateButton),"clicked",G_CALLBACK(on_interface_update),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->SystemUpperTree),2)),"clicked",G_CALLBACK(on_sort_activate),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->UsersUpperTree),2)),"clicked",G_CALLBACK(on_sort_activate),widgets);
|
|
|
|
|
|
|
|
|
|
if (getuid()==0){
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserServiceUpdateButton,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UserPrevButton,0);
|
|
|
|
|
|