|
|
|
|
@ -731,7 +731,7 @@ void on_system_info_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),SERVICE_STATE_TITLE_LABEL(name));
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SERVICE_STATE_TITLE_LABEL(name));
|
|
|
|
|
window->target = service_info_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -750,7 +750,7 @@ void on_system_log_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),SERVICE_LOG_TITLE_LABEL(name));
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SERVICE_LOG_TITLE_LABEL(name));
|
|
|
|
|
window->target = get_log_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -761,7 +761,7 @@ void *on_terminal_relaunch(log_window *window){
|
|
|
|
|
gtk_widget_set_sensitive(window->SystemTerminal,0);
|
|
|
|
|
sleep(1);
|
|
|
|
|
gtk_widget_set_sensitive(window->SystemTerminal,1);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -775,7 +775,7 @@ void on_save_clicked(GtkWidget *self, log_window *window){
|
|
|
|
|
|
|
|
|
|
void on_update_clicked(GtkWidget *self, log_window *window){
|
|
|
|
|
if (self){};
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_system_edit_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
@ -791,7 +791,7 @@ void on_system_edit_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SERVICE_UNIT_EDIT_TITLE_LABEL);
|
|
|
|
|
gtk_widget_show(window->SaveButton);
|
|
|
|
|
window->target=show_source_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
GdkRGBA rgba;
|
|
|
|
|
rgba.blue=1;
|
|
|
|
|
rgba.green=1;
|
|
|
|
|
@ -817,7 +817,7 @@ void on_system_status_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),PROPERTIES_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),PROPERTIES_LABEL);
|
|
|
|
|
window->target = properties_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -862,7 +862,7 @@ void on_user_info_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),SERVICE_STATE_TITLE_LABEL(name));
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SERVICE_STATE_TITLE_LABEL(name));
|
|
|
|
|
window->target = user_service_info_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -881,7 +881,7 @@ void on_user_log_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),SERVICE_LOG_TITLE_LABEL(name));
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SERVICE_LOG_TITLE_LABEL(name));
|
|
|
|
|
window->target = user_get_log_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -901,7 +901,7 @@ void on_user_edit_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SERVICE_UNIT_EDIT_TITLE_LABEL);
|
|
|
|
|
gtk_widget_show(window->SaveButton);
|
|
|
|
|
window->target=user_show_source_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
GdkRGBA rgba;
|
|
|
|
|
rgba.blue=1;
|
|
|
|
|
rgba.green=1;
|
|
|
|
|
@ -927,7 +927,7 @@ void on_user_status_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),PROPERTIES_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),PROPERTIES_LABEL);
|
|
|
|
|
window->target = user_properties_command(name);
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -987,7 +987,7 @@ void on_system_services_status(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),SYSTEM_STATUS_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SYSTEM_STATUS_LABEL);
|
|
|
|
|
window->target = system_services_status_command;
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1001,7 +1001,7 @@ void on_user_services_status(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),USER_STATUS_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),USER_STATUS_LABEL);
|
|
|
|
|
window->target = user_services_status_command;
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1015,7 +1015,7 @@ void on_units_status(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),INSTALLED_UNIT_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),INSTALLED_UNIT_LABEL);
|
|
|
|
|
window->target = !gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))?installed_units_states_command:user_installed_units_states_command;
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1029,7 +1029,7 @@ void on_units_list_status(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),UNITS_LIST_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),UNITS_LIST_LABEL);
|
|
|
|
|
window->target = !gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))?list_of_units_states_command:user_list_of_units_states_command;
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1043,7 +1043,7 @@ void on_sockets_list_status(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),SOCKETS_LIST_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),SOCKETS_LIST_LABEL);
|
|
|
|
|
window->target = !gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))?list_of_sockets_states_command:user_list_of_sockets_states_command;
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1057,7 +1057,7 @@ void on_timers_list_status(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->webHeaderNameLabel),TIMERS_LIST_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),TIMERS_LIST_LABEL);
|
|
|
|
|
window->target = !gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))?list_of_timers_states_command:user_list_of_timers_states_command;
|
|
|
|
|
yon_terminal_integrated_start(window->SystemTerminal,window->target);
|
|
|
|
|
yon_terminal_integrated_start_shell(window->SystemTerminal,window->target,NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -1455,6 +1455,89 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gboolean on_tooltip_show(GtkWidget* self, gint x, gint y, gboolean keyboard_mode, GtkTooltip* tooltip, main_window *widgets) {
|
|
|
|
|
if (self || x || y || keyboard_mode) {};
|
|
|
|
|
|
|
|
|
|
gtk_tooltip_set_custom(tooltip,widgets->TooltipBox);
|
|
|
|
|
GtkWidget *tree = NULL;
|
|
|
|
|
GtkTreeModel *model = NULL;
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook)) == 0) {
|
|
|
|
|
tree = widgets->SystemUnitsTree;
|
|
|
|
|
model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->SystemUnitsTree));
|
|
|
|
|
} else {
|
|
|
|
|
tree = widgets->UserUnitsTree;
|
|
|
|
|
model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->UserUnitsTree));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gint tree_x, tree_y;
|
|
|
|
|
gtk_tree_view_convert_widget_to_bin_window_coords(GTK_TREE_VIEW(tree), x, y, &tree_x, &tree_y);
|
|
|
|
|
|
|
|
|
|
GtkTreePath *path;
|
|
|
|
|
if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tree), tree_x, tree_y, &path, NULL, NULL, NULL)) {
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (gtk_tree_model_get_iter(model, &iter, path)) {
|
|
|
|
|
gchar *name, *description, *state, *name_target;
|
|
|
|
|
gint64 activa, deactiva;
|
|
|
|
|
int size;
|
|
|
|
|
gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 11, &state, -1);
|
|
|
|
|
name_target = yon_char_new(name);
|
|
|
|
|
if (name[0]=='-'){
|
|
|
|
|
name_target = yon_char_append("-- ",name_target);
|
|
|
|
|
}
|
|
|
|
|
config_str target = yon_config_load(get_activate_deactivate_times(name_target), &size);
|
|
|
|
|
free(name_target);
|
|
|
|
|
if (target){
|
|
|
|
|
free(yon_char_divide_search(target[0], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[0], '\n');
|
|
|
|
|
free(yon_char_divide_search(target[1], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[1], '\n');
|
|
|
|
|
free(yon_char_divide_search(target[2], "=", -1));
|
|
|
|
|
yon_char_remove_last_symbol(target[2], '\n');
|
|
|
|
|
activa = g_ascii_strtoll(target[1], NULL, 10);
|
|
|
|
|
deactiva = g_ascii_strtoll(target[1], NULL, 10);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->UnitLabel), target[0]);
|
|
|
|
|
}
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->NameLabel), name);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->DescriptionLabel), description);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->StatusQueryLabel), state);
|
|
|
|
|
|
|
|
|
|
free(name);
|
|
|
|
|
free(description);
|
|
|
|
|
free(state);
|
|
|
|
|
|
|
|
|
|
if (target){
|
|
|
|
|
gchar *formatted_activa = NULL;
|
|
|
|
|
gchar *formatted_deactiva = NULL;
|
|
|
|
|
if (activa) {
|
|
|
|
|
GDateTime *datetime = g_date_time_new_from_unix_local(activa);
|
|
|
|
|
formatted_activa = g_date_time_format(datetime, "%d:%m:%Y %T");
|
|
|
|
|
g_date_time_unref(datetime);
|
|
|
|
|
} else {
|
|
|
|
|
formatted_activa = g_strdup(NULL_LABEL);
|
|
|
|
|
}
|
|
|
|
|
if (deactiva) {
|
|
|
|
|
GDateTime *datetime = g_date_time_new_from_unix_local(deactiva);
|
|
|
|
|
formatted_deactiva = g_date_time_format(datetime, "%d:%m:%Y %T");
|
|
|
|
|
g_date_time_unref(datetime);
|
|
|
|
|
} else {
|
|
|
|
|
formatted_deactiva = g_strdup(NULL_LABEL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->ActivateLabel), formatted_activa);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->DeactivateLabel), formatted_deactiva);
|
|
|
|
|
|
|
|
|
|
g_free(formatted_activa);
|
|
|
|
|
g_free(formatted_deactiva);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_path_free(path);
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_path_free(path);
|
|
|
|
|
}
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**yon_main_window_complete(main_window *widgets)
|
|
|
|
|
* [EN]
|
|
|
|
|
*
|
|
|
|
|
@ -1478,6 +1561,14 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->SystemUnitsTree=yon_gtk_builder_get_widget(builder,"SystemUnitsTree");
|
|
|
|
|
widgets->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook");
|
|
|
|
|
|
|
|
|
|
widgets->TooltipBox=yon_gtk_builder_get_widget(builder,"TooltipBox");
|
|
|
|
|
widgets->NameLabel=yon_gtk_builder_get_widget(builder,"NameLabel");
|
|
|
|
|
widgets->DescriptionLabel=yon_gtk_builder_get_widget(builder,"DescriptionLabel");
|
|
|
|
|
widgets->UnitLabel=yon_gtk_builder_get_widget(builder,"UnitLabel");
|
|
|
|
|
widgets->StatusQueryLabel=yon_gtk_builder_get_widget(builder,"StatusQueryLabel");
|
|
|
|
|
widgets->ActivateLabel=yon_gtk_builder_get_widget(builder,"ActivateLabel");
|
|
|
|
|
widgets->DeactivateLabel=yon_gtk_builder_get_widget(builder,"DeactivateLabel");
|
|
|
|
|
|
|
|
|
|
widgets->SystemServicesStatusMenuItem=yon_gtk_builder_get_widget(builder,"SystemServicesStatusMenuItem");
|
|
|
|
|
widgets->InstalledUnitsStatusMenuItem=yon_gtk_builder_get_widget(builder,"InstalledUnitsStatusMenuItem");
|
|
|
|
|
widgets->UnitsStatusListMenuItem=yon_gtk_builder_get_widget(builder,"UnitsStatusListMenuItem");
|
|
|
|
|
@ -1555,6 +1646,7 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->ConfigEditButton=yon_gtk_builder_get_widget(builder,"ConfigEditButton");
|
|
|
|
|
widgets->ConfigMainTree=yon_gtk_builder_get_widget(builder,"ConfigMainTree");
|
|
|
|
|
|
|
|
|
|
widgets->SessionRestartButton=yon_gtk_builder_get_widget(builder,"SessionRestartButton");
|
|
|
|
|
widgets->SessionMainTree=yon_gtk_builder_get_widget(builder,"SessionMainTree");
|
|
|
|
|
widgets->SessionStartButton=yon_gtk_builder_get_widget(builder,"SessionStartButton");
|
|
|
|
|
widgets->SessionStopButton=yon_gtk_builder_get_widget(builder,"SessionStopButton");
|
|
|
|
|
@ -1583,6 +1675,9 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->SystemUnitsTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->SystemUnitsTree));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserUnitsTree),"query-tooltip",G_CALLBACK(on_tooltip_show),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemUnitsTree),"query-tooltip",G_CALLBACK(on_tooltip_show),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemPrevButton),"clicked",G_CALLBACK(on_system_update_hz_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemUpdateButton),"clicked",G_CALLBACK(on_interface_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SystemServiceUpdateButton),"clicked",G_CALLBACK(on_system_update_clicked),widgets);
|
|
|
|
|
@ -1611,6 +1706,7 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ConfigEditButton),"clicked",G_CALLBACK(on_config_edit_clicked),widgets);
|
|
|
|
|
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->SessionRestartButton),"clicked",G_CALLBACK(on_interface_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SessionStartButton),"clicked",G_CALLBACK(on_session_activate),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SessionStopButton),"clicked",G_CALLBACK(on_session_end),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SessionBlockButton),"clicked",G_CALLBACK(on_session_block),widgets);
|
|
|
|
|
|