|
|
|
|
@ -148,23 +148,22 @@ enum YON_UNIT_TYPE yon_get_unit_type(char *unit_name){
|
|
|
|
|
void on_activate(GtkTreeView *self, main_window *widgets){
|
|
|
|
|
if (self&&widgets){};
|
|
|
|
|
}
|
|
|
|
|
void on_config_autostart_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
void on_config_autostart_clicked(GtkCellRenderer *self, char *path, main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
}
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *name;
|
|
|
|
|
@ -203,23 +202,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(GtkCellRenderer *self, char *path, main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
}
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *name;
|
|
|
|
|
@ -259,23 +257,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(GtkCellRenderer *self, char *path, main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
}
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *name;
|
|
|
|
|
@ -315,23 +312,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(GtkCellRenderer *self, char *path, main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
Tree = widgets->UserUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->UserFilter);
|
|
|
|
|
}
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(Tree)),&filter,&filter_iter)){
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *service_name;
|
|
|
|
|
@ -413,24 +409,25 @@ void on_system_kill_confirmed(GtkWidget *self,char *service_name){
|
|
|
|
|
yon_launch(command);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_system_launch_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
void on_system_launch_clicked(GtkWidget *self, char *path, main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeIter iter, filter_iter;
|
|
|
|
|
GtkTreeModel *model;
|
|
|
|
|
GtkWidget *Tree;
|
|
|
|
|
GtkTreeModel *filter;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->SystemList);
|
|
|
|
|
Tree = widgets->SystemUnitsTree;
|
|
|
|
|
filter = GTK_TREE_MODEL(widgets->SystemFilter);
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UserList);
|
|
|
|
|
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)){
|
|
|
|
|
GtkTreePath *path_converted = gtk_tree_path_new_from_string(path);
|
|
|
|
|
gtk_tree_model_get_iter(filter,&filter_iter,path_converted);
|
|
|
|
|
{
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(filter),&iter,&filter_iter);
|
|
|
|
|
gboolean status = 0;
|
|
|
|
|
char *service_name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,4,&status,5,&service_name,-1);
|
|
|
|
|
yon_launch((!status)==1 ? service_start_command(service_name) : \
|
|
|
|
|
service_stop_command(service_name));
|
|
|
|
|
int size;
|
|
|
|
|
config_str result = yon_config_load(service_check_active_command(service_name),&size);
|
|
|
|
|
yon_char_remove_last_symbol(result[0],'\n');
|
|
|
|
|
@ -444,12 +441,15 @@ void on_system_launch_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
int answer = yon_confirmation_dialog_call(self,&data);
|
|
|
|
|
if (answer)
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,0,-1);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,0,-1);
|
|
|
|
|
}
|
|
|
|
|
yon_launch((!status)==1 ? service_start_command(service_name) : \
|
|
|
|
|
service_stop_command(service_name));
|
|
|
|
|
if (!status) {
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(result,size);
|
|
|
|
|
}
|
|
|
|
|
@ -1315,15 +1315,19 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
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->ConfigAutostartCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ConfigAutostartCell"));
|
|
|
|
|
widgets->ConfigAutostopCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ConfigAutostopCell"));
|
|
|
|
|
widgets->ConfigBlockCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ConfigBlockCell"));
|
|
|
|
|
widgets->SystemAutostartCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SystemAutostartCell"));
|
|
|
|
|
widgets->SystemLaunchedCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SystemLaunchedCell"));
|
|
|
|
|
|
|
|
|
|
widgets->UserConfigAutostartCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"UserConfigAutostartCell"));
|
|
|
|
|
widgets->UserConfigAutostopCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"UserConfigAutostopCell"));
|
|
|
|
|
widgets->UserConfigBlockCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"UserConfigBlockCell"));
|
|
|
|
|
widgets->UserSystemAutostartCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"UserSystemAutostartCell"));
|
|
|
|
|
widgets->UserSystemLaunchedCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"UserSystemLaunchedCell"));
|
|
|
|
|
widgets->SystemMenu = yon_rmb_menu_setup(widgets->SystemUnitsTree,NULL,NULL,
|
|
|
|
|
CONFIGURE_CONFIGURATION_LABEL,NULL,NULL,NULL,
|
|
|
|
|
AUTOSTART_LABEL,play_icon_path,on_config_autostart_clicked,widgets,
|
|
|
|
|
AUTOSTOP_LABEL,stop_icon_path,on_config_autostop_clicked,widgets,
|
|
|
|
|
BLOCK_LABEL,block_icon_path,on_config_block_clicked,widgets,
|
|
|
|
|
SYSTEM_CONFIGURATION_LABEL,NULL,NULL,NULL,
|
|
|
|
|
AUTOSTART_LABEL,start_icon_path,on_system_autostart_clicked,widgets,
|
|
|
|
|
LAUNCHED_LABEL,launch_icon_path,on_system_launch_clicked,widgets,
|
|
|
|
|
RESTART_LABEL,update_icon_path,on_system_restart_clicked,widgets,
|
|
|
|
|
RESTART_LABEL,update_icon_path,G_CALLBACK(on_system_restart_clicked),widgets,
|
|
|
|
|
STATUS_LABEL,status_icon_path,on_system_info_clicked,widgets,
|
|
|
|
|
SHOW_LOG_LABEL,log_icon_path,on_system_log_clicked,widgets,
|
|
|
|
|
SHOW_SOURCE_LABEL,source_icon_path,on_system_edit_clicked,widgets,
|
|
|
|
|
@ -1345,14 +1349,7 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->UserServiceLabel=yon_gtk_builder_get_widget(builder,"UserServiceLabel");
|
|
|
|
|
widgets->UserDescriptionLabel=yon_gtk_builder_get_widget(builder,"UserDescriptionLabel");
|
|
|
|
|
widgets->UserMenu = yon_rmb_menu_setup(widgets->UserUnitsTree,NULL,NULL,
|
|
|
|
|
CONFIGURE_CONFIGURATION_LABEL,NULL,NULL,NULL,
|
|
|
|
|
AUTOSTART_LABEL,play_icon_path,on_config_autostart_clicked,widgets,
|
|
|
|
|
AUTOSTOP_LABEL,stop_icon_path,on_config_autostop_clicked,widgets,
|
|
|
|
|
BLOCK_LABEL,block_icon_path,on_config_block_clicked,widgets,
|
|
|
|
|
SYSTEM_CONFIGURATION_LABEL,NULL,NULL,NULL,
|
|
|
|
|
AUTOSTART_LABEL,start_icon_path,on_system_autostart_clicked,widgets,
|
|
|
|
|
LAUNCHED_LABEL,launch_icon_path,on_system_launch_clicked,widgets,
|
|
|
|
|
RESTART_LABEL,update_icon_path,on_system_restart_clicked,widgets,
|
|
|
|
|
RESTART_LABEL,update_icon_path,G_CALLBACK(on_system_restart_clicked),widgets,
|
|
|
|
|
STATUS_LABEL,status_icon_path,on_user_info_clicked,widgets,
|
|
|
|
|
SHOW_LOG_LABEL,log_icon_path,on_user_log_clicked,widgets,
|
|
|
|
|
SHOW_SOURCE_LABEL,source_icon_path,on_user_edit_clicked,widgets,
|
|
|
|
|
@ -1373,9 +1370,12 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
NULL);
|
|
|
|
|
{
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->SystemMenu->menu));
|
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,3)),"separatorBottom");
|
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,8)),"separatorTop");
|
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,6)),"separatorBottom");
|
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,1)),"separatorTop");
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->UserMenu->menu));
|
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(g_list_nth_data(list,1)),"separatorTop");
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
}
|
|
|
|
|
widgets->SystemServiceLabel=yon_gtk_builder_get_widget(builder,"SystemServiceLabel");
|
|
|
|
|
@ -1419,6 +1419,18 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UnitsStatusListMenuItem),"activate",G_CALLBACK(on_units_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->ConfigAutostartCell),"toggled",G_CALLBACK(on_config_autostart_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ConfigAutostopCell),"toggled",G_CALLBACK(on_config_autostop_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ConfigBlockCell),"toggled",G_CALLBACK(on_config_block_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemAutostartCell),"toggled",G_CALLBACK(on_system_autostart_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemLaunchedCell),"toggled",G_CALLBACK(on_system_launch_clicked),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserConfigAutostartCell),"toggled",G_CALLBACK(on_config_autostart_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserConfigAutostopCell),"toggled",G_CALLBACK(on_config_autostop_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserConfigBlockCell),"toggled",G_CALLBACK(on_config_block_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserSystemAutostartCell),"toggled",G_CALLBACK(on_system_autostart_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserSystemLaunchedCell),"toggled",G_CALLBACK(on_system_launch_clicked),widgets);
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UserUnitsTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->SystemUnitsTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->ConfigMainTree));
|
|
|
|
|
|