@ -339,21 +339,26 @@ void on_system_unloaded_toggled(GtkWidget *self, main_window *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 ) {
// log_window *window = yon_log_window_new();
dialog_confirmation_data * data = malloc ( sizeof ( dialog_confirmation_data ) ) ;
data - > action_text = " Are you sure? " ;
// gtk_widget_show(window->Window);
data - > data = widgets ;
}
data - > function = ( data_function ) yon_system_systemd_restart ;
yon_confirmation_dialog_call ( self , data ) ;
}
}
}
void on_user_update_clicked ( GtkWidget * self , main_window * widgets ) {
void on_user_update_clicked ( GtkWidget * self , main_window * widgets ) {
if ( self ) { }
if ( self ) { }
if ( widgets ) {
if ( widgets ) {
log_window * window = yon_log_window_new ( ) ;
dialog_confirmation_data * data = malloc ( sizeof ( dialog_confirmation_data ) ) ;
data - > action_text = " Are you sure? " ;
gtk_widget_show ( window - > Window ) ;
data - > data = widgets ;
data - > function = ( data_function ) yon_system_systemd_reexec ;
yon_confirmation_dialog_call ( self , data ) ;
}
}
}
}
@ -361,9 +366,16 @@ void on_user_update_clicked(GtkWidget *self, main_window *widgets){
void on_user_info_clicked ( GtkWidget * self , main_window * widgets ) {
void on_user_info_clicked ( GtkWidget * self , main_window * widgets ) {
if ( self ) { }
if ( self ) { }
if ( widgets ) {
if ( widgets ) {
log_window * window = yon_log_window_new ( ) ;
GtkTreeIter iter ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > UserList ) ;
gtk_widget_show ( window - > Window ) ;
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > UserUnitsTree ) ) , & model , & iter ) ) {
char * name ;
gtk_tree_model_get ( model , & iter , 5 , & name , - 1 ) ;
log_window * window = yon_log_window_new ( ) ;
window - > target = user_service_info_command ( name ) ;
yon_terminal_integrated_start ( window - > SystemTerminal , window - > target , NULL , NULL ) ;
gtk_widget_show ( window - > Window ) ;
}
}
}
}
}
@ -371,9 +383,16 @@ void on_user_info_clicked(GtkWidget *self, main_window *widgets){
void on_user_log_clicked ( GtkWidget * self , main_window * widgets ) {
void on_user_log_clicked ( GtkWidget * self , main_window * widgets ) {
if ( self ) { }
if ( self ) { }
if ( widgets ) {
if ( widgets ) {
log_window * window = yon_log_window_new ( ) ;
GtkTreeIter iter ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > UserList ) ;
gtk_widget_show ( window - > Window ) ;
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > UserUnitsTree ) ) , & model , & iter ) ) {
char * name ;
gtk_tree_model_get ( model , & iter , 5 , & name , - 1 ) ;
log_window * window = yon_log_window_new ( ) ;
window - > target = user_get_log_command ( name ) ;
yon_terminal_integrated_start ( window - > SystemTerminal , window - > target , NULL , NULL ) ;
gtk_widget_show ( window - > Window ) ;
}
}
}
}
}
@ -381,9 +400,24 @@ void on_user_log_clicked(GtkWidget *self, main_window *widgets){
void on_user_edit_clicked ( GtkWidget * self , main_window * widgets ) {
void on_user_edit_clicked ( GtkWidget * self , main_window * widgets ) {
if ( self ) { }
if ( self ) { }
if ( widgets ) {
if ( widgets ) {
log_window * window = yon_log_window_new ( ) ;
GtkTreeIter iter ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > UserList ) ;
gtk_widget_show ( window - > Window ) ;
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > UserUnitsTree ) ) , & model , & iter ) ) {
char * name ;
gtk_tree_model_get ( model , & iter , 5 , & name , - 1 ) ;
log_window * window = yon_log_window_new ( ) ;
gtk_widget_show ( window - > SaveButton ) ;
window - > target = user_show_source_command ( name ) ;
yon_terminal_integrated_start ( window - > SystemTerminal , window - > target , NULL , NULL ) ;
GdkRGBA rgba ;
rgba . blue = 1 ;
rgba . green = 1 ;
rgba . red = 1 ;
vte_terminal_set_color_cursor ( VTE_TERMINAL ( window - > SystemTerminal ) , & rgba ) ;
gtk_widget_set_sensitive ( window - > SystemTerminal , 1 ) ;
g_signal_connect ( G_OBJECT ( window - > SaveButton ) , " clicked " , G_CALLBACK ( on_save_clicked ) , window ) ;
gtk_widget_show ( window - > Window ) ;
}
}
}
}
}
@ -391,9 +425,17 @@ void on_user_edit_clicked(GtkWidget *self, main_window *widgets){
void on_user_status_clicked ( GtkWidget * self , main_window * widgets ) {
void on_user_status_clicked ( GtkWidget * self , main_window * widgets ) {
if ( self ) { }
if ( self ) { }
if ( widgets ) {
if ( widgets ) {
log_window * window = yon_log_window_new ( ) ;
GtkTreeIter iter ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > UserList ) ;
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > UserUnitsTree ) ) , & model , & iter ) ) {
char * name ;
gtk_tree_model_get ( model , & iter , 5 , & name , - 1 ) ;
log_window * window = yon_log_window_new ( ) ;
window - > target = user_properties_command ( name ) ;
yon_terminal_integrated_start ( window - > SystemTerminal , window - > target , NULL , NULL ) ;
gtk_widget_show ( window - > Window ) ;
}
gtk_widget_show ( window - > Window ) ;
}
}
}
}
@ -438,24 +480,43 @@ void on_user_unloaded_toggled(GtkWidget *self, main_window *widgets){
}
}
void on_config_log_save ( GtkWidget * self , log_window * window ) {
if ( self ) { } ;
GtkTextIter start , end ;
GtkTextBuffer * buffer = gtk_text_view_get_buffer ( GTK_TEXT_VIEW ( window - > TextEditor ) ) ;
gtk_text_buffer_get_end_iter ( buffer , & end ) ;
gtk_text_buffer_get_start_iter ( buffer , & start ) ;
char * text = gtk_text_buffer_get_text ( buffer , & start , & end , 1 ) ;
if ( text ) {
if ( yon_file_save ( window - > target , text ) ) {
yon_ubl_status_box_render ( SAVED_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
} else {
yon_ubl_status_box_render ( ERROR_LABEL , BACKGROUND_IMAGE_FAIL_TYPE ) ;
}
}
}
void on_config_edit_clicked ( GtkWidget * self , main_window * widgets ) {
void on_config_edit_clicked ( GtkWidget * self , main_window * widgets ) {
if ( self ) { }
if ( self ) { }
if ( widgets ) {
if ( widgets ) {
log_window * window = yon_log_window_new ( ) ;
gtk_widget_hide ( gtk_widget_get_parent ( window - > SystemTerminal ) ) ;
gtk_widget_show ( gtk_widget_get_parent ( window - > TextEditor ) ) ;
GtkTreeIter iter ;
GtkTreeIter iter ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > ConfigList ) ;
GtkTreeModel * model = GTK_TREE_MODEL ( widgets - > ConfigList ) ;
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > ConfigMainTree ) ) , & model , & iter ) ) {
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > ConfigMainTree ) ) , & model , & iter ) ) {
log_window * window = yon_log_window_new ( ) ;
gtk_widget_hide ( gtk_widget_get_parent ( window - > SystemTerminal ) ) ;
gtk_widget_show ( gtk_widget_get_parent ( window - > TextEditor ) ) ;
gtk_widget_show ( window - > SaveButton ) ;
char * name ;
char * name ;
gtk_tree_model_get ( model , & iter , 0 , & name , - 1 ) ;
gtk_tree_model_get ( model , & iter , 0 , & name , - 1 ) ;
int size ;
int size ;
window - > target = name ;
config_str parsed = yon_config_load ( config_get_command ( name ) , & size ) ;
config_str parsed = yon_config_load ( config_get_command ( name ) , & size ) ;
char * text = yon_char_parsed_to_string ( parsed , size , " " ) ;
char * text = yon_char_parsed_to_string ( parsed , size , " " ) ;
gtk_text_buffer_set_text ( gtk_text_view_get_buffer ( GTK_TEXT_VIEW ( window - > TextEditor ) ) , text , - 1 ) ;
gtk_text_buffer_set_text ( gtk_text_view_get_buffer ( GTK_TEXT_VIEW ( window - > TextEditor ) ) , text , - 1 ) ;
g_signal_connect ( G_OBJECT ( window - > SaveButton ) , " clicked " , G_CALLBACK ( on_config_log_save ) , window ) ;
gtk_widget_show ( window - > Window ) ;
}
}
gtk_widget_show ( window - > Window ) ;
}
}
}
}
@ -573,9 +634,9 @@ gboolean yon_interface_update(main_window *widgets){
config_str config_files = yon_config_load ( get_config_files_command , & config_size ) ;
config_str config_files = yon_config_load ( get_config_files_command , & config_size ) ;
int sessions_size ;
int sessions_size ;
config_str sessions = yon_config_load ( list_of_session_command , & sessions_size ) ;
config_str sessions = yon_config_load ( list_of_session_command , & sessions_size ) ;
// int timers_size;
int timers_size ;
// config_str timers = yon_config_load(list_of_timers_command,&timers_size);
config_str timers = yon_config_load ( get_timers_command , & timers_size ) ;
struct json_object * jsobject = json_tokener_parse ( timers [ 0 ] ) ;
for ( int i = 0 ; i < system_size ; i + + ) {
for ( int i = 0 ; i < system_size ; i + + ) {
GtkTreeIter iter ;
GtkTreeIter iter ;
if ( system_services [ i ] [ strlen ( system_services [ i ] ) - 1 ] = = ' \n ' ) system_services [ i ] [ strlen ( system_services [ i ] ) - 1 ] = ' \0 ' ;
if ( system_services [ i ] [ strlen ( system_services [ i ] ) - 1 ] = = ' \n ' ) system_services [ i ] [ strlen ( system_services [ i ] ) - 1 ] = ' \0 ' ;
@ -619,6 +680,52 @@ gboolean yon_interface_update(main_window *widgets){
gtk_list_store_set ( widgets - > SessionsList , & iter , 0 , atoi ( parsed [ 0 ] ) , 1 , atoi ( parsed [ 1 ] ) , 2 , parsed [ 2 ] , 3 , parsed [ 3 ] , 4 , parsed [ 4 ] , - 1 ) ;
gtk_list_store_set ( widgets - > SessionsList , & iter , 0 , atoi ( parsed [ 0 ] ) , 1 , atoi ( parsed [ 1 ] ) , 2 , parsed [ 2 ] , 3 , parsed [ 3 ] , 4 , parsed [ 4 ] , - 1 ) ;
}
}
}
}
for ( size_t i = 0 ; i < json_object_array_length ( jsobject ) ; i + + ) {
struct json_object * item_obj = json_object_array_get_idx ( jsobject , i ) ;
const char * unit = " " , * next = " " , * left = " " , * last = " ' " , * passed = " " , * activates = " " ;
// Получение значений по ключам
struct json_object * unit_obj ;
if ( json_object_object_get_ex ( item_obj , " unit " , & unit_obj ) ) {
unit = json_object_get_string ( unit_obj ) ;
}
struct json_object * next_obj ;
if ( json_object_object_get_ex ( item_obj , " next " , & next_obj ) ) {
next = json_object_get_string ( next_obj ) ;
}
struct json_object * left_obj ;
if ( json_object_object_get_ex ( item_obj , " left " , & left_obj ) ) {
left = json_object_get_string ( left_obj ) ;
}
struct json_object * last_obj ;
if ( json_object_object_get_ex ( item_obj , " last " , & last_obj ) ) {
last = json_object_get_string ( last_obj ) ;
}
struct json_object * passed_obj ;
if ( json_object_object_get_ex ( item_obj , " passed " , & passed_obj ) ) {
passed = json_object_get_string ( passed_obj ) ;
}
struct json_object * activates_obj ;
if ( json_object_object_get_ex ( item_obj , " activates " , & activates_obj ) ) {
activates = json_object_get_string ( activates_obj ) ;
}
GtkTreeIter iter ;
gtk_list_store_append ( widgets - > TimersList , & iter ) ;
GDateTime * datetime = g_date_time_new_from_unix_local ( atoi ( next ) ) ;
next = g_date_time_format ( datetime , " %Y.%m.%d H:M:s " ) ;
g_date_time_unref ( datetime ) ;
datetime = g_date_time_new_from_unix_local ( atoi ( left ) ) ;
left = g_date_time_format ( datetime , " %Y.%m.%d H:M:s " ) ;
g_date_time_unref ( datetime ) ;
datetime = g_date_time_new_from_unix_local ( atoi ( last ) ) ;
last = g_date_time_format ( datetime , " %Y.%m.%d H:M:s " ) ;
g_date_time_unref ( datetime ) ;
gtk_list_store_set ( widgets - > TimersList , & iter , 0 , unit , 1 , next , 2 , left , 3 , last , 4 , passed , 5 , activates , - 1 ) ;
}
}
}
return 0 ;
return 0 ;
}
}