|
|
|
|
@ -11,14 +11,22 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_local_load(main_window *widgets){
|
|
|
|
|
void on_config_local_load(GtkWidget *self,main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_global_load(main_window *widgets){
|
|
|
|
|
void on_config_global_load(GtkWidget *self,main_window *widgets){
|
|
|
|
|
if (self){};
|
|
|
|
|
yon_load_proceed(YON_CONFIG_GLOBAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -320,17 +328,15 @@ void on_service_update(GtkWidget *self, terminal_window* window){
|
|
|
|
|
vte_terminal_set_color_cursor(VTE_TERMINAL(window->SystemTerminal),&rgba);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_search(){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
terminal_window *yon_terminal_window_new(){
|
|
|
|
|
terminal_window *window = malloc(sizeof(terminal_window));
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_terminal);
|
|
|
|
|
window->Window = yon_gtk_builder_get_widget(builder,"MonitorWindow");
|
|
|
|
|
window->SystemTerminal = yon_gtk_builder_get_widget(builder,"SystemTerminal");
|
|
|
|
|
window->UpdateButton = yon_gtk_builder_get_widget(builder,"UpdateButton");
|
|
|
|
|
window->webHeaderNameLabel = yon_gtk_builder_get_widget(builder,"webHeaderNameLabel");
|
|
|
|
|
window->target=NULL;
|
|
|
|
|
yon_window_config_custom_window_setup(GTK_WINDOW(window->Window),"terminal_window");
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->UpdateButton),"clicked",G_CALLBACK(on_service_update),window);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
@ -348,22 +354,34 @@ void on_info_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
if (!yon_char_is_empty(service_name)){
|
|
|
|
|
terminal_window *window = yon_terminal_window_new();
|
|
|
|
|
window->target=service_name;
|
|
|
|
|
char *header = yon_char_unite(STATUS_LABEL," ",service_name,NULL);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),header);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),header);
|
|
|
|
|
free(header);
|
|
|
|
|
on_service_update(NULL,window);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_update(){
|
|
|
|
|
|
|
|
|
|
void *yon_unthreaded_config_load(void *widgets){
|
|
|
|
|
if (main_config.load_mode==1){
|
|
|
|
|
on_config_local_load(NULL,(main_window*)widgets);
|
|
|
|
|
} else if (main_config.load_mode==0){
|
|
|
|
|
on_config_global_load(NULL,(main_window*)widgets);
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_status_show(){
|
|
|
|
|
|
|
|
|
|
void on_update(GtkWidget *self,main_window *widgets){
|
|
|
|
|
if (self){}
|
|
|
|
|
yon_ubl_status_box_render(LIST_LOAD_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
g_thread_new("",(GThreadFunc)yon_unthreaded_config_load,widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_interface_update(main_window *widgets){
|
|
|
|
|
int size;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->MainTree),NULL);
|
|
|
|
|
config_str services = yon_config_load(load_services_command,&size);
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
int parsed_size;
|
|
|
|
|
@ -431,6 +449,7 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
free(name_parsed);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->MainTree),GTK_TREE_MODEL(widgets->liststore2));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_column_resize(GtkTreeViewColumn *self,GParamSpec *pspec,main_window *widgets){
|
|
|
|
|
@ -507,7 +526,7 @@ gboolean on_context_menu_open(GtkWidget *self,GdkEventButton *event, main_window
|
|
|
|
|
g_signal_connect(G_OBJECT(menu_item_autostart_system),"activate",G_CALLBACK(on_system_autostart_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(menu_item_launched),"activate",G_CALLBACK(on_system_launch_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(menu_item_reload),"activate",G_CALLBACK(on_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(menu_item_status),"activate",G_CALLBACK(on_status_show),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(menu_item_status),"activate",G_CALLBACK(on_info_clicked),widgets);
|
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item_configuration_in_config);
|
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item_autostart_config);
|
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item_autostop);
|
|
|
|
|
@ -523,7 +542,7 @@ gboolean on_context_menu_open(GtkWidget *self,GdkEventButton *event, main_window
|
|
|
|
|
widgets->menu=menu_object;
|
|
|
|
|
// gtk_widget_show_all(widgets->RMBMenu);
|
|
|
|
|
// gtk_widget_show_all(widgets->menu->Menu);
|
|
|
|
|
gtk_menu_popup_at_pointer(GTK_MENU(menu),NULL);
|
|
|
|
|
gtk_menu_popup_at_pointer(GTK_MENU(menu),NULL);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
@ -612,7 +631,7 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemLaunchButton),"clicked",G_CALLBACK(on_system_launch_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InfoButton),"clicked",G_CALLBACK(on_info_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->LogButton),"clicked",G_CALLBACK(on_status_show),widgets);
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->LogButton),"clicked",G_CALLBACK(on_status_show),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(g_list_nth_data(list,0)),"notify::width",G_CALLBACK(on_column_resize),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(g_list_nth_data(list,1)),"notify::width",G_CALLBACK(on_column_resize),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(g_list_nth_data(list,2)),"notify::width",G_CALLBACK(on_column_resize),widgets);
|
|
|
|
|
|