@ -24,6 +24,7 @@ void on_save_done(main_window *, config_str output, int size){
break ;
}
textdomain ( LocaleName ) ;
yon_config_set_ignore ( REPOSITORY_parameter ) ;
}
@ -33,7 +34,7 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( widgets - > AutoUpdateCheck ) ) ) {
yon_config_register ( AUTOUPDATE , AUTOUPDATE_command , " enable " ) ;
} else {
yon_config_re gister( AUTOUPDATE , AUTOUPDATE_command , " disable " ) ;
yon_config_re move_by_key( AUTOUPDATE ) ;
}
} else if ( self = = widgets - > UpdateModeCombo ) {
@ -63,11 +64,11 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){
switch ( gtk_combo_box_get_active ( GTK_COMBO_BOX ( widgets - > UpdateIntervalCombo ) ) ) {
case 0 : interval = yon_char_unite ( ! yon_char_is_empty ( interval ) ? interval : " " , ! yon_char_is_empty ( interval ) ? " , " : " " , int_str , " min " , NULL ) ;
break ;
case 1 : interval = yon_char_unite ( int_str , " h " , NULL ) ;
case 1 : interval = yon_char_unite ( ! yon_char_is_empty ( interval ) ? interval : " " , ! yon_char_is_empty ( interval ) ? " , " : " " , int_str , " h " , NULL ) ;
break ;
case 2 : interval = yon_char_unite ( int_str , " d " , NULL ) ;
case 2 : interval = yon_char_unite ( ! yon_char_is_empty ( interval ) ? interval : " " , ! yon_char_is_empty ( interval ) ? " , " : " " , int_str , " d " , NULL ) ;
break ;
case 3 : interval = yon_char_unite ( int_str , " M " , NULL ) ;
case 3 : interval = yon_char_unite ( ! yon_char_is_empty ( interval ) ? interval : " " , ! yon_char_is_empty ( interval ) ? " , " : " " , int_str , " M " , NULL ) ;
break ;
}
yon_config_register ( AUTOUPDATE_interval , AUTOUPDATE_interval_command , interval ) ;
@ -159,7 +160,8 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){
void yon_load_proceed ( YON_CONFIG_TYPE type ) {
yon_config_clean ( ) ;
if ( ! yon_char_is_empty ( config_get_default_command ) )
char * default_command = yon_char_unite ( config_get_default_command , NULL ) ;
if ( ! yon_char_is_empty ( default_command ) )
yon_config_load_config ( YON_CONFIG_DEFAULT , config_get_default_command , NULL ) ;
if ( type = = YON_CONFIG_GLOBAL ) {
yon_config_load_config ( type , config_get_global_command , NULL ) ;
@ -246,7 +248,7 @@ void yon_interface_update(main_window *widgets){
gtk_list_store_append ( widgets - > ReposList , & iter ) ;
char * temp = strstr ( parsed [ 0 ] , " , " ) ? yon_char_replace ( parsed [ 0 ] , " , " , " \n " ) : parsed [ 0 ] ;
parsed [ 0 ] = temp ;
gtk_list_store_set ( widgets - > ReposList , & iter , 0 , cur_size > 3 & & ! strcmp ( parsed [ 3 ] , " " ) ? 1 : 0 , 1 , key , 2 , parsed [ 0 ] , 3 , cur_size > 1 ? parsed [ 1 ] : " " , 4 , cur_size > 2 ? parsed [ 2 ] : " " , - 1 ) ;
gtk_list_store_set ( widgets - > ReposList , & iter , 0 , ( cur_size > 3 & & ! strcmp ( parsed [ 3 ] , " " ) ) | | cur_size < 3 ? 1 : 0 , 1 , key , 2 , parsed [ 0 ] , 3 , cur_size > 1 ? parsed [ 1 ] : " " , 4 , cur_size > 2 ? parsed [ 2 ] : " " , - 1 ) ;
}
free ( key ) ;
@ -289,7 +291,12 @@ void yon_interface_update(main_window *widgets){
yon_char_parsed_free ( parsed , cur_size ) ;
}
} else {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widgets - > PublicationCheck ) , 1 ) ;
for ( int i = 0 ; i < repos_size ; i + + ) {
yon_char_remove_last_symbol ( publish_repos [ i ] , ' \n ' ) ;
gtk_list_store_append ( widgets - > PublicationList , & iter ) ;
gtk_list_store_set ( widgets - > PublicationList , & iter , 1 , publish_repos [ i ] , 0 , 1 , - 1 ) ;
}
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widgets - > PublicationCheck ) , 0 ) ;
}
}
{
@ -305,6 +312,15 @@ void yon_interface_update(main_window *widgets){
config_str mirror_list = yon_config_get_all_by_key ( REPOPUBLIC_CACHE_search , & size ) ;
if ( size ) {
for ( int i = 0 ; i < size ; i + + ) {
if ( yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_port ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_cache_dir ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_purge_files_after ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_download_timeout ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_http_proxy ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_user_agent ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_cron ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_ttl_unaccessed_in_days ) | |
yon_char_check_begins_with ( mirror_list [ i ] , REPOPUBLIC_CACHE_ttl_unupdated_in_days ) ) continue ;
char * cur = yon_char_new ( mirror_list [ i ] ) ;
char * key = yon_char_divide_search ( cur , " = " , - 1 ) ;
if ( yon_char_is_empty ( key ) ) continue ;
@ -363,18 +379,27 @@ void yon_interface_update(main_window *widgets){
autoupdate_config = config ( AUTOUPDATE_interval ) ;
if ( ! yon_char_is_empty ( autoupdate_config ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widgets - > UpdateIntervalDefaultCheck ) , 0 ) ;
if ( strstr ( autoupdate_config , " min " ) ) {
int parsed_size ;
config_str parsed = yon_char_parse ( autoupdate_config , & parsed_size , " , " ) ;
if ( yon_char_parsed_check_exist ( parsed , parsed_size , " boot " ) ! = - 1 ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widgets - > BootCheck ) , 1 ) ;
}
if ( strstr ( parsed [ parsed_size - 1 ] , " min " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > UpdateIntervalCombo ) , 0 ) ;
} else if ( autoupdate_config [ strlen ( autoupdate_config ) - 1 ] = = ' h ' ) {
} else if ( parsed[ parsed_size - 1 ] [ strlen ( parsed [ parsed_size - 1 ] ) - 1 ] = = ' h ' ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > UpdateIntervalCombo ) , 1 ) ;
} else if ( autoupdate_config [ strlen ( autoupdate_config ) - 1 ] = = ' d ' ) {
} else if ( parsed[ parsed_size - 1 ] [ strlen ( parsed [ parsed_size - 1 ] ) - 1 ] = = ' d ' ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > UpdateIntervalCombo ) , 2 ) ;
} else if ( autoupdate_config[ strlen ( autoupdate_config ) - 1 ] = = ' M ' ) {
} else if ( parsed[ parsed_size - 1 ] [ strlen ( parsed [ parsed_size - 1 ] ) - 1 ] = = ' M ' ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > UpdateIntervalCombo ) , 3 ) ;
}
gtk_spin_button_set_value ( GTK_SPIN_BUTTON ( widgets - > UpdateIntervalSpin ) , atol ( autoupdate_config ) ) ;
gtk_spin_button_set_value ( GTK_SPIN_BUTTON ( widgets - > UpdateIntervalSpin ) , atol ( parsed[ parsed_size - 1 ] ) ) ;
} else {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widgets - > UpdateIntervalDefaultCheck ) , 1 ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( widgets - > BootCheck ) , 0 ) ;
gtk_spin_button_set_value ( GTK_SPIN_BUTTON ( widgets - > UpdateIntervalSpin ) , 0 ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > UpdateIntervalCombo ) , 0 ) ;
}
}
@ -396,7 +421,27 @@ void yon_interface_update(main_window *widgets){
int repos_size ;
config_str repos = yon_char_parse ( key , & repos_size , " , " ) ;
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 1 , path , 2 , yon_char_parsed_to_string ( repos , repos_size , " \n " ) , - 1 ) ;
char * repos_paths = yon_char_parsed_to_string ( repos , repos_size , " , " ) ;
char * full_path = yon_char_unite ( path , ! yon_char_is_empty ( repos_paths ) ? " : " : " " , ! yon_char_is_empty ( repos_paths ) ? repos_paths : " " , NULL ) ;
if ( ! yon_char_is_empty ( repos_paths ) ) free ( repos_paths ) ;
if ( ! repos_size ) {
int temp_size ;
config_str contents = yon_dir_get_contents ( path , & temp_size ) ;
for ( int k = 0 ; k < temp_size ; k + + ) {
char * full_content_path = yon_char_unite ( path , " / " , contents [ k ] , NULL ) ;
if ( yon_file_is_directory ( full_content_path ) & & strcmp ( contents [ k ] , " pool " ) & & strcmp ( contents [ k ] , " . " ) & & strcmp ( contents [ k ] , " .. " ) ) {
yon_char_parsed_add_or_create_if_exists ( repos , & repos_size , contents [ k ] ) ;
}
free ( full_content_path ) ;
}
yon_char_parsed_free ( contents , temp_size ) ;
}
repos_paths = yon_char_parsed_to_string ( repos , repos_size , " \n " ) ;
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 1 , path , 2 , repos_paths , 8 , full_path , - 1 ) ;
free ( repos_paths ) ;
free ( full_path ) ;
int cur_size ;
config_str parsed = yon_char_parse ( cur , & cur_size , " : " ) ;
if ( cur_size ) {
@ -415,11 +460,12 @@ void yon_interface_update(main_window *widgets){
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 5 , parsed [ 3 ] , - 1 ) ;
}
if ( cur_size > 4 & & ! yon_char_is_empty ( parsed [ 4 ] ) ) {
if ( ! strcmp ( parsed [ 4 ] , " sha256 " ) | | ! strcmp ( parsed [ 4 ] , " sha512 " ) ) {
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 7 , parsed [ 5 ] , - 1 ) ;
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 6 , parsed [ 4 ] , - 1 ) ;
char * hash = yon_char_divide_search ( parsed [ 4 ] , " | " , - 1 ) ;
if ( ! strcmp ( hash , " sha256 " ) | | ! strcmp ( hash , " sha512 " ) ) {
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 7 , " ****** " , - 1 ) ;
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 6 , hash , - 1 ) ;
} else {
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 6 , parsed [ 4 ] , - 1 ) ;
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 6 , " ****** " , - 1 ) ;
if ( cur_size > 5 & & ! yon_char_is_empty ( parsed [ 5 ] ) ) {
gtk_list_store_set ( widgets - > WebPublicationList , & iter , 7 , parsed [ 5 ] , - 1 ) ;
}
@ -629,7 +675,6 @@ void on_scrolled_window_size_allocate(GtkWidget *, GdkRectangle *allocation, rep
void on_repo_add ( GtkWidget * , main_window * widgets ) {
gtk_tree_selection_unselect_all ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > MirrorTree ) ) ) ;
repo_add_window * window = yon_repo_add_window_new ( ) ;
g_signal_connect ( G_OBJECT ( window - > RepoSourceCombo ) , " changed " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_combo_box ) , window - > RepoSourceButton ) ;
yon_gtk_window_setup ( GTK_WINDOW ( window - > Window ) , GTK_WINDOW ( widgets - > Window ) , ADD_REPO_LABEL , icon_path , " add_repo_window " ) ;
dictionary * dict = NULL ;
@ -651,6 +696,13 @@ void on_mirror_add(GtkWidget *,main_window *widgets){
}
void on_password_encryption_changed ( GtkComboBox * self , password_window * dialog ) {
int active = gtk_combo_box_get_active ( self ) ;
gtk_widget_set_sensitive ( dialog - > NoEncriptionCheck , ! ! active ) ;
if ( ! active )
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( dialog - > NoEncriptionCheck ) , 0 ) ;
}
void on_password_open ( GtkWidget * , web_publication_add_window * window ) {
password_window * dialog = yon_password_window_new ( ) ;
yon_gtk_entry_set_password_visibility_icon ( GTK_ENTRY ( dialog - > PasswordEntry ) ) ;
@ -660,6 +712,8 @@ void on_password_open(GtkWidget *, web_publication_add_window *window){
yon_dictionary_add_or_create_if_exists_with_data ( dict , " window " , dialog ) ;
yon_dictionary_add_or_create_if_exists_with_data ( dict , " target " , window - > UserPasswordEntry ) ;
g_signal_connect ( G_OBJECT ( dialog - > AcceptButton ) , " clicked " , G_CALLBACK ( on_password_accept ) , dict ) ;
g_signal_connect ( G_OBJECT ( dialog - > NoEncriptionCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button ) , dialog - > PasswordHashEntry ) ;
g_signal_connect ( G_OBJECT ( dialog - > EncryptionCombo ) , " changed " , G_CALLBACK ( on_password_encryption_changed ) , dialog ) ;
}
void on_web_publish_remove ( GtkWidget * self , main_window * widgets ) {
@ -693,19 +747,9 @@ void on_web_publish_remove_accept(GtkWidget *, main_window *widgets){
if ( ! gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > WebPublicationTree ) ) , & model , & iter ) ) {
return ;
}
char * storage ;
char * repositories ;
gtk_tree_model_get ( model , & iter , 1 , & storage , 2 , & repositories , - 1 ) ;
char * full_name = NULL ;
if ( ! yon_char_is_empty ( repositories ) ) {
int size ;
config_str parsed = yon_char_parse ( repositories , & size , " \n " ) ;
char * temp = yon_char_parsed_to_string ( parsed , size , " , " ) ;
full_name = yon_char_unite ( storage , " : " , temp ) ;
free ( temp ) ;
yon_char_parsed_free ( parsed , size ) ;
} else full_name = storage ;
yon_config_remove_by_key ( full_name ) ;
gtk_tree_model_get ( model , & iter , 8 , & full_name , - 1 ) ;
yon_config_remove_by_key ( REPOPUBLIC_WEB_full ( full_name ) ) ;
yon_interface_update ( widgets ) ;
}
@ -717,7 +761,7 @@ void on_mirror_remove_accept(GtkWidget *, main_window *widgets){
}
char * repo ;
gtk_tree_model_get ( model , & iter , 0 , & repo , - 1 ) ;
yon_config_remove_by_key ( repo ) ;
yon_config_remove_by_key ( REPOPUBLIC_CACHE_full ( repo ) ) ;
yon_interface_update ( widgets ) ;
}
@ -764,66 +808,65 @@ void on_repo_edit(GtkWidget *,main_window *widgets){
section - > TypeCombo = yon_gtk_builder_get_widget ( builder , " TypeCombo " ) ;
section - > edits = 0 ;
if ( strstr ( repos [ i ] , " @ " ) ) {
char * type = yon_char_divide_search ( repos [ i ] , " @ " , - 1 ) ;
gtk_combo_box_set_active_id ( GTK_COMBO_BOX ( section - > TypeCombo ) , type ) ;
free ( type ) ;
char * path = yon_char_new ( repos [ i ] ) ;
if ( strstr ( repos [ i ] , " file:// " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( section - > TypeCombo ) , 0 ) ;
free ( yon_char_divide ( path , 6 ) ) ;
} else if ( strstr ( repos [ i ] , " ftp:// " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( section - > TypeCombo ) , 1 ) ;
free ( yon_char_divide ( path , 5 ) ) ;
} else if ( strstr ( repos [ i ] , " http:// " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( section - > TypeCombo ) , 2 ) ;
free ( yon_char_divide ( path , 6 ) ) ;
} else if ( strstr ( repos [ i ] , " https:// " ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( section - > TypeCombo ) , 3 ) ;
free ( yon_char_divide ( path , 7 ) ) ;
} else
} else {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( section - > TypeCombo ) , 4 ) ;
}
gtk_entry_set_text ( GTK_ENTRY ( section - > PathEntry ) , path ) ;
free ( path ) ;
yon_dictionary_add_or_create_if_exists_with_data ( window - > sections , ( char * ) target , section ) ;
gtk_entry_set_text ( GTK_ENTRY ( section - > PathEntry ) , repos [ i ] ) ;
gtk_box_pack_start ( GTK_BOX ( window - > SourceBox ) , section - > PathRemovalBox , 0 , 0 , 2 ) ;
gtk_box_pack_start ( GTK_BOX ( window - > SourceBox ) , section - > PathRemovalBox , 0 , 0 , 0 ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathEditButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_edit ) , window ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathRemoveButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_removed ) , window ) ;
}
gtk_widget_show ( window - > SourceListBox ) ;
yon_char_parsed_free ( repos , cur_size ) ;
}
if ( size > 1 & & ! yon_char_is_empty ( parsed [ 1 ] ) ) { //siglevel
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > SignDefaultCheck ) , 0 ) ;
int cur_size ;
config_str siglevel = yon_char_parse ( parsed [ 1 ] , & cur_size , " , " ) ;
if ( ! strcmp ( siglevel [ 0 ] , " Never " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > NeverRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 0 ] , " Optional " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > OptionalRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 0 ] , " Required " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > RequiredRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 0 ] , " TrustedOnly " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > TrustedOnlyRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 0 ] , " TrustAll " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > TrustAllRadio ) , 1 ) ;
}
if ( ! strcmp ( siglevel [ 1 ] , " PackageNever " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > PackageNeverRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " DatabaseNever " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseNeverRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " PackageOptional " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > PackageOptionalRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " DatabaseOptional " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseOptionalRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " PackageRequired " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > PackageRequiredRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " DatabaseRequired " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseRequiredRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " PackageTrustedOnly " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > PackageTrustedOnlyRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " DatabaseTrustedOnly " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseTrustedOnlyRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " PackageTrustAll " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > PackageTrustAllRadio ) , 1 ) ;
} else if ( ! strcmp ( siglevel [ 1 ] , " DatabaseTrustAll " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseTrustAllRadio ) , 1 ) ;
GtkTreeModel * model = GTK_TREE_MODEL ( window - > SignList ) ;
GtkTreeIter iter ;
for_iter ( model , & iter ) {
char * target ;
gtk_tree_model_get ( model , & iter , 1 , & target , - 1 ) ;
if ( yon_char_parsed_check_exist ( siglevel , cur_size , target ) > - 1 ) {
gtk_list_store_set ( window - > SignList , & iter , 0 , 1 , - 1 ) ;
} else {
gtk_list_store_set ( window - > SignList , & iter , 0 , 0 , - 1 ) ;
}
}
gtk_entry_set_text ( GTK_ENTRY ( window - > SignLevelCheckEntry ) , parsed [ 1 ] ) ;
}
if ( size > 2 & & ! yon_char_is_empty ( parsed [ 2 ] ) ) {
if ( size > 2 & & ! yon_char_is_empty ( parsed [ 2 ] ) ) { //usage
int usage_size ;
config_str usage = yon_char_parse ( parsed [ 2 ] , & usage_size , " , " ) ;
for ( int i = 0 ; i < usage_size ; i + + ) {
if ( ! strcmp ( usage [ i ] , " All " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > UsageDefaultCheck ) , 1 ) ;
} else {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > UsageDefaultCheck ) , 0 ) ;
if ( ! strcmp ( usage [ i ] , " Sync " ) ) {
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > UsageEnableUpdateCheck ) , 1 ) ;
}
@ -839,7 +882,7 @@ void on_repo_edit(GtkWidget *,main_window *widgets){
}
}
if ( usage_size ) yon_char_parsed_free ( usage , usage_size ) ;
} //usage
}
if ( size < 3 | | yon_char_is_empty ( parsed [ 3 ] ) | | strcmp ( parsed [ 3 ] , " disable " ) ) { //disable
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > EnabledCheck ) , 1 ) ;
}
@ -860,14 +903,13 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > WebPublicationTree ) ) , NULL , & iter ) ) {
char * storage ;
char * repos ;
gtk_tree_model_get ( GTK_TREE_MODEL ( widgets - > WebPublicationList ) , & iter , 1 , & storage , 2 , & repos , - 1 ) ;
char * full ;
gtk_tree_model_get ( GTK_TREE_MODEL ( widgets - > WebPublicationList ) , & iter , 1 , & storage , 2 , & repos , 8 , & full , - 1 ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > PathEntry ) , storage ) ;
while ( gtk_events_pending ( ) ) gtk_main_iteration ( ) ;
char * full_name = storage ;
if ( ! yon_char_is_empty ( repos ) ) {
int size ;
config_str parsed = yon_char_parse ( repos , & size , " \n " ) ;
full_name = yon_char_unite ( storage , " : " , yon_char_replace ( repos , " \n " , " , " ) , NULL ) ;
if ( size ) {
GtkTreeIter itar ;
for_iter ( GTK_TREE_MODEL ( window - > list ) , & itar ) {
@ -879,8 +921,8 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
}
}
}
window - > name = full _name ;
char * parameter = config ( REPOPUBLIC_WEB_full ( full _name ) ) ;
window - > name = full ;
char * parameter = config ( REPOPUBLIC_WEB_full ( full ) ) ;
int size ;
config_str parsed = yon_char_parse ( parameter , & size , " : " ) ;
if ( size ) {
@ -891,7 +933,7 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > EnableWebFileBrowserCheck ) , 1 ) ;
}
if ( size > 2 & & ! yon_char_is_empty ( parsed [ 2 ] ) ) {
gtk_ entry_set_text( GTK_ENTRY ( window - > PortEntry ) , parsed [ 2 ] ) ;
gtk_ spin_button_set_value( GTK_SPIN_BUTTON ( window - > PortEntry ) , atol ( parsed [ 2 ] ) ) ;
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > PortCheck ) , 1 ) ;
}
if ( size > 3 & & ! yon_char_is_empty ( parsed [ 3 ] ) ) {
@ -899,6 +941,7 @@ void on_web_publish_edit(GtkWidget *,main_window *widgets){
gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( window - > UsernameCheck ) , 1 ) ;
}
if ( size > 4 & & ! yon_char_is_empty ( parsed [ 4 ] ) ) {
gtk_combo_box_set_active ( GTK_COMBO_BOX ( window - > UserPasswordCombo ) , 1 ) ;
if ( ! strcmp ( parsed [ 4 ] , " sha256 " ) | | ! strcmp ( parsed [ 4 ] , " sha512 " ) ) {
gtk_combo_box_set_active_id ( GTK_COMBO_BOX ( window - > UserPasswordCombo ) , parsed [ 4 ] ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > UserPasswordEntry ) , parsed [ 5 ] ) ;
@ -952,7 +995,7 @@ void on_mirror_edit(GtkWidget *,main_window *widgets){
yon_dictionary_add_or_create_if_exists_with_data ( window - > sections , ( char * ) target , section ) ;
gtk_entry_set_text ( GTK_ENTRY ( section - > PathEntry ) , parsed [ i ] ) ;
gtk_box_pack_start ( GTK_BOX ( window - > PathBox ) , section - > PathRemovalBox , 0 , 0 , 2 ) ;
gtk_box_pack_start ( GTK_BOX ( window - > PathBox ) , section - > PathRemovalBox , 0 , 0 , 0 ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathEditButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_edit ) , window ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathRemoveButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_removed ) , window ) ;
@ -1024,6 +1067,11 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
main_window * widgets = yon_dictionary_get_data ( dict - > first , main_window * ) ;
repo_add_window * window = yon_dictionary_get_data ( dict - > first - > next , repo_add_window * ) ;
if ( ! window - > sections & & yon_char_is_empty ( gtk_entry_get_text ( GTK_ENTRY ( window - > RepoSourceEntry ) ) ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , EMPTY_IMPORTANT_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > RepoSourceEntry ) ;
return ;
}
const char * repo_name = gtk_entry_get_text ( GTK_ENTRY ( window - > RepoNameEntry ) ) ;
if ( yon_char_is_empty ( repo_name ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , EMPTY_IMPORTANT_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
@ -1033,10 +1081,20 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
int enabled = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > EnabledCheck ) ) ;
char * sources = " " ;
dictionary * dact = NULL ;
for_dictionaries ( dact , window - > sections ) {
char * type = ( char * ) gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( ( ( path_section * ) dact - > data ) - > TypeCombo ) ) ;
char * cur = yon_char_unite ( type ? type : " " , type ? " @ " : " " , ( char * ) gtk_entry_get_text ( GTK_ENTRY ( ( ( path_section * ) dact - > data ) - > PathEntry ) ) , NULL ) ;
char * temp = yon_char_unite ( sources , ! yon_char_is_empty ( sources ) ? " , " : " " , cur , NULL ) ;
if ( window - > sections ) {
for_dictionaries ( dact , window - > sections ) {
char * type = ( char * ) gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( ( ( path_section * ) dact - > data ) - > TypeCombo ) ) ;
char * cur = yon_char_unite ( type ? type : " " , ( char * ) gtk_entry_get_text ( GTK_ENTRY ( ( ( path_section * ) dact - > data ) - > PathEntry ) ) , NULL ) ;
char * temp = yon_char_unite ( sources , ! yon_char_is_empty ( sources ) ? " , " : " " , cur , NULL ) ;
if ( ! yon_char_is_empty ( sources ) ) free ( sources ) ;
sources = temp ;
}
}
char * source_main = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > RepoSourceEntry ) ) ;
if ( ! yon_char_is_empty ( source_main ) ) {
char * type = ( char * ) gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( window - > RepoSourceCombo ) ) ;
source_main = yon_char_unite ( type ? type : " " , source_main , NULL ) ;
char * temp = yon_char_unite ( sources , ! yon_char_is_empty ( sources ) ? " , " : " " , source_main , NULL ) ;
if ( ! yon_char_is_empty ( sources ) ) free ( sources ) ;
sources = temp ;
}
@ -1046,40 +1104,9 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
return ;
}
char * sign_level_package = " " ;
char * sign_level_condiition = " " ;
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > NeverRadio ) ) ) {
sign_level_package = " Never " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > OptionalRadio ) ) ) {
sign_level_package = " Optional " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > RequiredRadio ) ) ) {
sign_level_package = " Required " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > TrustedOnlyRadio ) ) ) {
sign_level_package = " TrustedOnly " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > TrustAllRadio ) ) ) {
sign_level_package = " TrustAll " ;
}
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > PackageNeverRadio ) ) ) {
sign_level_condiition = " PackageNever " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseNeverRadio ) ) ) {
sign_level_condiition = " DatabaseNever " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > PackageOptionalRadio ) ) ) {
sign_level_condiition = " PackageOptional " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseOptionalRadio ) ) ) {
sign_level_condiition = " DatabaseOptional " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > PackageRequiredRadio ) ) ) {
sign_level_condiition = " PackageRequired " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseRequiredRadio ) ) ) {
sign_level_condiition = " DatabaseRequired " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > PackageTrustedOnlyRadio ) ) ) {
sign_level_condiition = " PackageTrustedOnly " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseTrustedOnlyRadio ) ) ) {
sign_level_condiition = " DatabaseTrustedOnly " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > PackageTrustAllRadio ) ) ) {
sign_level_condiition = " PackageTrustAll " ;
} else if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > DatabaseTrustAllRadio ) ) ) {
sign_level_condiition = " DatabaseTrustAll " ;
char * sign_level = " " ;
if ( ! gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > SignDefaultCheck ) ) ) {
sign_level = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > SignLevelCheckEntry ) ) ;
}
char * usage = " " ;
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > UsageDefaultCheck ) ) ) {
@ -1105,10 +1132,10 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
}
}
char * final = yon_char_unite ( sources , " ; " , sign_level _package, " , " , sign_level_condiition , " ; " , usage , " ; " , enabled ? " " : " disable " , NULL ) ;
char * final = yon_char_unite ( sources , " ; " , sign_level , " ; " , usage , " ; " , enabled ? " " : " disable " , NULL ) ;
if ( ! yon_char_is_empty ( window - > name ) & & strcmp ( repo_name , window - > name ) ) {
yon_config_remove_by_key ( RE OSITORY_command ( window - > name ) ) ;
yon_config_remove_by_key ( RE P OSITORY( window - > name ) ) ;
}
yon_config_register ( REPOSITORY ( repo_name ) , REOSITORY_command ( repo_name ) , final ) ;
yon_interface_update ( widgets ) ;
@ -1123,13 +1150,24 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
int enabled = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > EnablePublishCheck ) ) ;
int port_enabled = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > PortCheck ) ) ;
char * port = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > PortEntry ) ) ;
char * port = yon_char_from_long ( gtk_spin_button_get_value ( GTK_SPIN_BUTTON ( window - > PortEntry ) ) ) ;
int enable_browser = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > EnableWebFileBrowserCheck ) ) ;
int username_check = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > UsernameCheck ) ) ;
char * username = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > UsernameEntry ) ) ;
char * user_password = yon_char_new ( ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > UserPasswordEntry ) ) ) ;
char * encryption = user_password [ 5 ] = = ' | ' ? yon_char_divide ( user_password , 6 ) : NULL ;
char * encryption = user_password [ 6 ] = = ' | ' ? yon_char_divide ( user_password , 6 ) : NULL ;
if ( strpbrk ( username , " !@#%^&* \' " ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , ENTRY_RESTRICTED_SYMBOL_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > UsernameEntry ) ;
return ;
}
if ( strpbrk ( user_password , " !@#%^&* \' " ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , PASSWORD_RESTRICTED_SYMBOL_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > UserPasswordEntry ) ;
return ;
}
if ( username_check & & yon_char_is_empty ( username ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , EMPTY_IMPORTANT_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > UsernameEntry ) ;
@ -1165,12 +1203,17 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
return ;
}
char * final_name = yon_char_is_empty ( full_name ) | | ! disabled ? name : yon_char_unite ( name , " : " , full_name , NULL ) ;
char * final = yon_char_unite ( enabled ? " enable " : " disable " , " : " , enable_browser ? " listing " : " " , " : " , port_enabled ? port : " " , " : " , username_check ? username : " " , " : " , username_check ? yon_char_is_empty ( encryption ) ? user_password : encryption : " " , " : " , username_check ? ! yon_char_is_empty ( encryption ) ? user_password : " " : " " , NULL ) ;
char * final = yon_char_unite ( enabled ? " enable " : " disable " , " : " ,
enable_browser ? " listing " : " " , " : " ,
port_enabled ? port : " " , " : " ,
username_check ? username : " " , " : " ,
username_check ? yon_char_is_empty ( encryption ) ? user_password : encryption : " " , " : " ,
username_check ? ! yon_char_is_empty ( encryption ) ? user_password : " " : " " ,
NULL ) ;
if ( ! yon_char_is_empty ( window - > name ) & & strcmp ( final_name , window - > name ) ) {
yon_config_remove_by_key ( REPOPUBLIC_WEB_command ( window - > name ) ) ;
} else {
yon_config_register ( REPOPUBLIC_WEB_full ( final_name ) , REPOPUBLIC_WEB_command ( final_name ) , final ) ;
yon_config_remove_by_key ( REPOPUBLIC_WEB_full ( window - > name ) ) ;
}
yon_config_register ( REPOPUBLIC_WEB_full ( final_name ) , REPOPUBLIC_WEB_command ( final_name ) , final ) ;
yon_interface_update ( widgets ) ;
gtk_widget_destroy ( window - > Window ) ;
}
@ -1178,13 +1221,32 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
void on_mirror_accept ( GtkWidget * , dictionary * dict ) {
main_window * widgets = yon_dictionary_get_data ( dict - > first , main_window * ) ;
mirror_add_window * window = yon_dictionary_get_data ( dict - > first - > next , mirror_add_window * ) ;
if ( yon_char_is_empty ( gtk_entry_get_text ( GTK_ENTRY ( window - > NameEntry ) ) ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , EMPTY_IMPORTANT_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > NameEntry ) ;
return ;
}
if ( ! window - > sections & & yon_char_is_empty ( gtk_entry_get_text ( GTK_ENTRY ( window - > TypeEntry ) ) ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , EMPTY_IMPORTANT_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > TypeEntry ) ;
return ;
}
char * name = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > NameEntry ) ) ;
char * paths = " " ;
dictionary * dact = NULL ;
for_dictionaries ( dact , window - > sections ) {
char * cur = yon_char_unite ( gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( ( ( path_section * ) dact - > data ) - > TypeCombo ) ) , " @ " , ( char * ) gtk_entry_get_text ( GTK_ENTRY ( ( ( path_section * ) dact - > data ) - > PathEntry ) ) , NULL ) ;
char * temp = yon_char_unite ( paths , ! yon_char_is_empty ( paths ) ? " , " : " " , cur , NULL ) ;
if ( window - > sections ) {
dictionary * dact = NULL ;
for_dictionaries ( dact , window - > sections ) {
char * cur = yon_char_unite ( gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( ( ( path_section * ) dact - > data ) - > TypeCombo ) ) , " @ " , ( char * ) gtk_entry_get_text ( GTK_ENTRY ( ( ( path_section * ) dact - > data ) - > PathEntry ) ) , NULL ) ;
char * temp = yon_char_unite ( paths , ! yon_char_is_empty ( paths ) ? " , " : " " , cur , NULL ) ;
if ( ! yon_char_is_empty ( paths ) ) free ( paths ) ;
paths = temp ;
}
}
char * source_main = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > TypeEntry ) ) ;
if ( ! yon_char_is_empty ( source_main ) ) {
char * type = ( char * ) gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( window - > TypeCombo ) ) ;
source_main = yon_char_unite ( type ? type : " " , type ? " @ " : " " , source_main , NULL ) ;
char * temp = yon_char_unite ( paths , ! yon_char_is_empty ( paths ) ? " , " : " " , source_main , NULL ) ;
if ( ! yon_char_is_empty ( paths ) ) free ( paths ) ;
paths = temp ;
}
@ -1280,6 +1342,11 @@ void on_password_accept(GtkWidget *,dictionary *dict){
} else {
char * password = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > PasswordEntry ) ) ;
char * password_check = ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > RepeatPasswordEntry ) ) ;
if ( strpbrk ( password , " !@#%^&* \' " ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , PASSWORD_RESTRICTED_SYMBOL_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > PasswordEntry ) ;
return ;
}
if ( strcmp ( password , password_check ) ) {
yon_ubl_status_box_spawn ( GTK_CONTAINER ( window - > StatusBox ) , PASSWORD_MISMATCH_LABEL , 5 , BACKGROUND_IMAGE_FAIL_TYPE ) ;
yon_ubl_status_highlight_incorrect ( window - > PasswordEntry ) ;
@ -1287,8 +1354,15 @@ void on_password_accept(GtkWidget *,dictionary *dict){
return ;
}
char * encryption = ( char * ) gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( window - > EncryptionCombo ) ) ;
char * final_text = yon_char_unite ( encryption , " | " , password , NULL ) ;
gtk_entry_set_text ( GTK_ENTRY ( target ) , final_text ) ;
if ( yon_char_is_empty ( encryption ) ) {
gtk_entry_set_text ( GTK_ENTRY ( target ) , password ) ;
} else {
int size ;
config_str hash = yon_config_load ( yon_debug_output ( " %s \n " , ! strcmp ( encryption , " sha512 " ) ? sha512_encrypt_command ( password ) : sha256_encrypt_command ( password ) ) , & size ) ;
yon_char_remove_last_symbol ( hash [ 0 ] , ' \n ' ) ;
gtk_entry_set_text ( GTK_ENTRY ( target ) , hash [ 0 ] ) ;
}
}
gtk_widget_destroy ( window - > Window ) ;
@ -1364,7 +1438,7 @@ void on_mirror_path_add(GtkWidget *, mirror_add_window *window){
gtk_entry_set_text ( GTK_ENTRY ( section - > PathEntry ) , target ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > TypeEntry ) , " " ) ;
gtk_box_pack_start ( GTK_BOX ( window - > PathBox ) , section - > PathRemovalBox , 0 , 0 , 2 ) ;
gtk_box_pack_start ( GTK_BOX ( window - > PathBox ) , section - > PathRemovalBox , 0 , 0 , 0 ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathEditButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_edit ) , window ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathRemoveButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_removed ) , window ) ;
@ -1389,12 +1463,17 @@ void on_repo_source_add(GtkWidget *, repo_add_window *window){
section - > TypeCombo = yon_gtk_builder_get_widget ( builder , " TypeCombo " ) ;
section - > edits = 0 ;
gtk_combo_box_set_active_id ( GTK_COMBO_BOX ( section - > TypeCombo ) , gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( window - > RepoSourceCombo ) ) ) ;
const char * id = gtk_combo_box_get_active_id ( GTK_COMBO_BOX ( window - > RepoSourceCombo ) ) ;
if ( ! yon_char_is_empty ( id ) )
gtk_combo_box_set_active_id ( GTK_COMBO_BOX ( section - > TypeCombo ) , id ) ;
else
gtk_combo_box_set_active ( GTK_COMBO_BOX ( section - > TypeCombo ) , 4 ) ;
yon_dictionary_add_or_create_if_exists_with_data ( window - > sections , ( char * ) target , section ) ;
gtk_entry_set_text ( GTK_ENTRY ( section - > PathEntry ) , target ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > RepoSourceEntry ) , " " ) ;
gtk_box_pack_start ( GTK_BOX ( window - > SourceBox ) , section - > PathRemovalBox , 0 , 0 , 2 ) ;
gtk_box_pack_start ( GTK_BOX ( window - > SourceBox ) , section - > PathRemovalBox , 0 , 0 , 0 ) ;
gtk_widget_show ( window - > SourceListBox ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathEditButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_edit ) , window ) ;
g_signal_connect ( gtk_builder_get_object ( builder , " PathRemoveButton " ) , " clicked " , G_CALLBACK ( on_mirror_path_removed ) , window ) ;
}
@ -1430,23 +1509,46 @@ password_window *yon_password_window_new(){
return window ;
}
void on_sign_cell_toggled ( GtkWidget * , char * path , repo_add_window * window ) {
GtkTreeModel * model = GTK_TREE_MODEL ( window - > SignList ) ;
GtkTreeIter check_iter ;
if ( gtk_tree_model_get_iter_from_string ( model , & check_iter , path ) ) {
int check_status ;
char * target ;
gtk_tree_model_get ( model , & check_iter , 0 , & check_status , 1 , & target , - 1 ) ;
gtk_list_store_set ( window - > SignList , & check_iter , 0 , ! check_status , - 1 ) ;
char * active_signs = yon_char_new ( ( char * ) gtk_entry_get_text ( GTK_ENTRY ( window - > SignLevelCheckEntry ) ) ) ;
if ( ! check_status ) {
char * temp = yon_char_unite ( active_signs , ! yon_char_is_empty ( active_signs ) ? " , " : " " , target , NULL ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > SignLevelCheckEntry ) , temp ) ;
} else {
int parsed_size ;
config_str parsed = yon_char_parse ( active_signs , & parsed_size , " , " ) ;
if ( parsed_size ) {
int found = yon_char_parsed_check_exist ( parsed , parsed_size , target ) ;
if ( found > - 1 ) {
parsed = yon_char_parsed_rip ( parsed , & parsed_size , found ) ;
}
char * temp = yon_char_parsed_to_string ( parsed , parsed_size , " , " ) ;
gtk_entry_set_text ( GTK_ENTRY ( window - > SignLevelCheckEntry ) , temp ) ;
}
}
}
}
void on_sign_check_toggled ( GtkToggleButton * self , repo_add_window * window ) {
int status = gtk_toggle_button_get_active ( self ) ;
gtk_widget_set_sensitive ( window - > NeverRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > OptionalRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > RequiredRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > TrustedOnlyRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > TrustAllRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > PackageNeverRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > DatabaseNeverRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > PackageOptionalRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > DatabaseOptionalRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > PackageRequiredRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > DatabaseRequiredRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > PackageTrustedOnlyRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > DatabaseTrustedOnlyRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > PackageTrustAllRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > DatabaseTrustAllRadio , ! status ) ;
gtk_widget_set_sensitive ( window - > SignTree , ! status ) ;
}
void on_repo_source_changed ( GtkComboBox * self , repo_add_window * window ) {
int active = gtk_combo_box_get_active ( self ) ;
if ( active = = 0 | | active = = 4 ) {
gtk_widget_set_sensitive ( window - > RepoSourceButton , 1 ) ;
} else {
gtk_widget_set_sensitive ( window - > RepoSourceButton , 0 ) ;
}
}
repo_add_window * yon_repo_add_window_new ( ) {
@ -1474,21 +1576,10 @@ repo_add_window *yon_repo_add_window_new(){
window - > SourceListBox = yon_gtk_builder_get_widget ( builder , " SourceListBox " ) ;
window - > RepoSourceAddButton = yon_gtk_builder_get_widget ( builder , " RepoSourceAddButton " ) ;
window - > SignDefaultCheck = yon_gtk_builder_get_widget ( builder , " SignDefaultCheck " ) ;
window - > NeverRadio = yon_gtk_builder_get_widget ( builder , " NeverRadio " ) ;
window - > OptionalRadio = yon_gtk_builder_get_widget ( builder , " OptionalRadio " ) ;
window - > RequiredRadio = yon_gtk_builder_get_widget ( builder , " RequiredRadio " ) ;
window - > TrustedOnlyRadio = yon_gtk_builder_get_widget ( builder , " TrustedOnlyRadio " ) ;
window - > TrustAllRadio = yon_gtk_builder_get_widget ( builder , " TrustAllRadio " ) ;
window - > PackageNeverRadio = yon_gtk_builder_get_widget ( builder , " PackageNeverRadio " ) ;
window - > DatabaseNeverRadio = yon_gtk_builder_get_widget ( builder , " DatabaseNeverRadio " ) ;
window - > PackageOptionalRadio = yon_gtk_builder_get_widget ( builder , " PackageOptionalRadio " ) ;
window - > DatabaseOptionalRadio = yon_gtk_builder_get_widget ( builder , " DatabaseOptionalRadio " ) ;
window - > PackageRequiredRadio = yon_gtk_builder_get_widget ( builder , " PackageRequiredRadio " ) ;
window - > DatabaseRequiredRadio = yon_gtk_builder_get_widget ( builder , " DatabaseRequiredRadio " ) ;
window - > PackageTrustedOnlyRadio = yon_gtk_builder_get_widget ( builder , " PackageTrustedOnlyRadio " ) ;
window - > DatabaseTrustedOnlyRadio = yon_gtk_builder_get_widget ( builder , " DatabaseTrustedOnlyRadio " ) ;
window - > PackageTrustAllRadio = yon_gtk_builder_get_widget ( builder , " PackageTrustAllRadio " ) ;
window - > DatabaseTrustAllRadio = yon_gtk_builder_get_widget ( builder , " DatabaseTrustAllRadio " ) ;
window - > SignTree = yon_gtk_builder_get_widget ( builder , " SignTree " ) ;
window - > SignLevelCheckEntry = yon_gtk_builder_get_widget ( builder , " SignLevelCheckEntry " ) ;
window - > SignCell = GTK_CELL_RENDERER ( gtk_builder_get_object ( builder , " SignCell " ) ) ;
window - > SignList = GTK_LIST_STORE ( gtk_builder_get_object ( builder , " liststore1 " ) ) ;
window - > sections = NULL ;
window - > name = NULL ;
@ -1499,11 +1590,13 @@ repo_add_window *yon_repo_add_window_new(){
g_signal_connect ( G_OBJECT ( window - > UsageDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UsageEnableSearchCheck ) ;
g_signal_connect ( G_OBJECT ( window - > UsageDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UsageEnableUpdateCheck ) ;
g_signal_connect ( G_OBJECT ( window - > UsageDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UsageSysupgradeCheck ) ;
yon_gtk_entry_block_restricted_symbols ( GTK_ENTRY ( window - > RepoNameEntry ) ) ;
yon_gtk_entry_block_restricted_symbols ( GTK_ENTRY ( window - > RepoSourceEntry ) ) ;
g_signal_connect ( G_OBJECT ( window - > SignDefaultCheck ) , " toggled " , G_CALLBACK ( on_sign_check_toggled ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > SignCell ) , " toggled " , G_CALLBACK ( on_sign_cell_toggled ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > RepoSourceCombo ) , " changed " , G_CALLBACK ( on_repo_source_changed ) , window ) ;
// g_signal_connect(G_OBJECT(window->SourceListBox),"size-allocate",G_CALLBACK(on_scrolled_window_size_allocate),window);
gtk_widget_show ( window - > Window ) ;
gtk_label_set_text ( GTK_LABEL ( window - > SignLevelLabel ) , SIGN_LEVEL_LABEL ) ;
return window ;
}
@ -1533,6 +1626,8 @@ web_publication_add_window *yon_web_publication_add_window_new(){
window - > SelectionCellRenderer = GTK_CELL_RENDERER ( gtk_builder_get_object ( builder , " SelectionCellRenderer " ) ) ;
yon_gtk_entry_set_password_visibility_icon ( GTK_ENTRY ( window - > UserPasswordEntry ) ) ;
yon_gtk_entry_block_restricted_symbols ( GTK_ENTRY ( window - > PathEntry ) ) ;
yon_gtk_entry_block_restricted_symbols ( GTK_ENTRY ( window - > UsernameEntry ) ) ;
window - > name = NULL ;
g_signal_connect ( G_OBJECT ( window - > SelectionCellRenderer ) , " toggled " , G_CALLBACK ( on_cell_renderer_toggle_toggled ) , window - > RepositoriesTree ) ;
g_signal_connect ( G_OBJECT ( window - > PathButton ) , " clicked " , G_CALLBACK ( on_file_chooser_open ) , window - > PathEntry ) ;
@ -1540,8 +1635,10 @@ web_publication_add_window *yon_web_publication_add_window_new(){
g_signal_connect ( G_OBJECT ( window - > CancelButton ) , " clicked " , G_CALLBACK ( on_subwindow_close ) , NULL ) ;
g_signal_connect ( G_OBJECT ( window - > PasswordButton ) , " clicked " , G_CALLBACK ( on_password_open ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > UsernameCheck ) , " toggled " , G_CALLBACK ( on_web_user_check ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > PortCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button ) , window - > PortEntry ) ;
g_signal_connect ( G_OBJECT ( window - > UserPasswordCombo ) , " changed " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_combo_box_inversed ) , window - > PasswordButton ) ;
g_signal_connect ( G_OBJECT ( window - > UserPasswordCombo ) , " changed " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_combo_box_inversed ) , window - > UserPasswordEntry ) ;
g_signal_connect ( G_OBJECT ( window - > PortEntry ) , " insert-text " , G_CALLBACK ( yon_on_text_insert_only_digits ) , NULL ) ;
gtk_widget_show ( window - > Window ) ;
return window ;
@ -1575,20 +1672,30 @@ mirror_configure_window *yon_mirror_configure_window_new(){
window - > UpdatesRequestDelaySpin = yon_gtk_builder_get_widget ( builder , " UpdatesRequestDelaySpin " ) ;
g_signal_connect ( G_OBJECT ( window - > CancelButton ) , " clicked " , G_CALLBACK ( on_subwindow_close ) , NULL ) ;
g_signal_connect ( G_OBJECT ( window - > PortDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > PortSpin ) ;
g_signal_connect ( G_OBJECT ( window - > CacheDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > CacheEntry ) ;
g_signal_connect ( G_OBJECT ( window - > CacheDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > CacheButton ) ;
g_signal_connect ( G_OBJECT ( window - > InactivityDurationDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > InactivityDurationSpin ) ;
g_signal_connect ( G_OBJECT ( window - > CacheTimeoutDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > CacheTimeoutSpin ) ;
g_signal_connect ( G_OBJECT ( window - > ProxyCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button ) , window - > ProxyEntry ) ;
g_signal_connect ( G_OBJECT ( window - > AgentDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > AgentEntry ) ;
g_signal_connect ( G_OBJECT ( window - > UpdatesDelayDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UpdatesDelaySpin ) ;
g_signal_connect ( G_OBJECT ( window - > UpdatesRequestDelayDefaultCheck ) , " clicked " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UpdatesRequestDelaySpin ) ;
g_signal_connect ( G_OBJECT ( window - > PortDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > PortSpin ) ;
g_signal_connect ( G_OBJECT ( window - > CacheDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > CacheEntry ) ;
g_signal_connect ( G_OBJECT ( window - > CacheDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > CacheButton ) ;
g_signal_connect ( G_OBJECT ( window - > CacheButton ) , " clicked " , G_CALLBACK ( on_file_chooser_open ) , window - > CacheEntry ) ;
g_signal_connect ( G_OBJECT ( window - > InactivityDurationDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > InactivityDurationSpin ) ;
g_signal_connect ( G_OBJECT ( window - > CacheTimeoutDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > CacheTimeoutSpin ) ;
g_signal_connect ( G_OBJECT ( window - > ProxyCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button ) , window - > ProxyEntry ) ;
g_signal_connect ( G_OBJECT ( window - > AgentDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > AgentEntry ) ;
g_signal_connect ( G_OBJECT ( window - > UpdatesDelayDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UpdatesDelaySpin ) ;
g_signal_connect ( G_OBJECT ( window - > UpdatesRequestDelayDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , window - > UpdatesRequestDelaySpin ) ;
gtk_widget_show ( window - > Window ) ;
return window ;
}
void on_mirror_type_changed ( GtkComboBox * self , mirror_add_window * window ) {
int active = gtk_combo_box_get_active ( self ) ;
if ( active = = 2 ) {
gtk_widget_set_sensitive ( window - > TypeButton , 1 ) ;
} else {
gtk_widget_set_sensitive ( window - > TypeButton , 0 ) ;
}
}
mirror_add_window * yon_mirror_add_window_new ( ) {
GtkBuilder * builder = gtk_builder_new_from_resource ( glade_mirror_add_path ) ;
mirror_add_window * window = malloc ( sizeof ( mirror_add_window ) ) ;
@ -1603,6 +1710,8 @@ mirror_add_window *yon_mirror_add_window_new(){
window - > CancelButton = yon_gtk_builder_get_widget ( builder , " CancelButton " ) ;
window - > HeadLabel = yon_gtk_builder_get_widget ( builder , " HeadLabel " ) ;
window - > PathBox = yon_gtk_builder_get_widget ( builder , " PathBox " ) ;
yon_gtk_entry_block_restricted_symbols ( GTK_ENTRY ( window - > NameEntry ) ) ;
yon_gtk_entry_block_restricted_symbols ( GTK_ENTRY ( window - > TypeEntry ) ) ;
window - > sections = NULL ;
window - > name = NULL ;
@ -1610,6 +1719,7 @@ mirror_add_window *yon_mirror_add_window_new(){
g_signal_connect ( G_OBJECT ( window - > TypeButton ) , " clicked " , G_CALLBACK ( on_file_chooser_open ) , window - > TypeEntry ) ;
g_signal_connect ( G_OBJECT ( window - > AddButton ) , " clicked " , G_CALLBACK ( on_mirror_path_add ) , window ) ;
g_signal_connect ( G_OBJECT ( window - > CancelButton ) , " clicked " , G_CALLBACK ( on_subwindow_close ) , NULL ) ;
g_signal_connect ( G_OBJECT ( window - > TypeCombo ) , " changed " , G_CALLBACK ( on_mirror_type_changed ) , window ) ;
gtk_widget_show ( window - > Window ) ;
return window ;
@ -1733,7 +1843,61 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect ( G_OBJECT ( widgets - > UpdateIntervalDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , widgets - > UpdateIntervalSpin ) ;
g_signal_connect ( G_OBJECT ( widgets - > UpdateIntervalDefaultCheck ) , " toggled " , G_CALLBACK ( yon_gtk_widget_set_sensitive_from_toggle_button_inversed ) , widgets - > BootCheck ) ;
GList * list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > WebPublicationTree ) ) ;
for ( unsigned int i = 0 ; i < g_list_length ( list ) ; i + + ) {
g_signal_connect_after ( G_OBJECT ( g_list_nth_data ( list , i ) ) , " notify::width " , G_CALLBACK ( on_column_resize ) , widgets ) ;
yon_window_config_add_listener ( g_list_nth_data ( list , i ) , yon_char_append ( " UserUnitsColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
}
GList * list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > MirrorTree ) ) ;
for ( guint i = 0 ; i < g_list_length ( list ) ; i + + ) {
yon_window_config_add_listener ( ( GtkWidget * ) g_list_nth_data ( list , i ) , yon_char_append ( " MirrorColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
g_list_free ( list ) ;
list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > PublicationTree ) ) ;
for ( guint i = 0 ; i < g_list_length ( list ) ; i + + ) {
yon_window_config_add_listener ( ( GtkWidget * ) g_list_nth_data ( list , i ) , yon_char_append ( " PublishColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
g_list_free ( list ) ;
list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > WebPublicationTree ) ) ;
for ( guint i = 0 ; i < g_list_length ( list ) ; i + + ) {
yon_window_config_add_listener ( ( GtkWidget * ) g_list_nth_data ( list , i ) , yon_char_append ( " WebColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
g_list_free ( list ) ;
list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > RepositoriesTree ) ) ;
for ( guint i = 0 ; i < g_list_length ( list ) ; i + + ) {
yon_window_config_add_listener ( ( GtkWidget * ) g_list_nth_data ( list , i ) , yon_char_append ( " RepoColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
g_list_free ( list ) ;
yon_load_proceed ( YON_CONFIG_LOCAL ) ;
list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > UpdateRepoTree ) ) ;
for ( guint i = 0 ; i < g_list_length ( list ) ; i + + ) {
yon_window_config_add_listener ( ( GtkWidget * ) g_list_nth_data ( list , i ) , yon_char_append ( " UpdateColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
g_list_free ( list ) ;
{
int size ;
config_str parsed = yon_config_load ( yon_config_parameter_prepare_command ( AUTOUPDATE_mode_command , " default " , NULL , NULL ) , & size ) ;
if ( size ) {
yon_char_remove_last_symbol ( parsed [ 0 ] , ' \n ' ) ;
free ( yon_char_divide_search ( parsed [ 0 ] , " = " , - 1 ) ) ;
char * mode = gtk_combo_box_text_get_active_text ( GTK_COMBO_BOX_TEXT ( widgets - > UpdateModeCombo ) ) ;
if ( ! strcmp ( parsed [ 0 ] , " modsys " ) ) {
mode = yon_char_unite ( mode , " ( " , MODSYS_UPDATE_MODE_LABEL , " ) " , NULL ) ;
} else if ( ! strcmp ( parsed [ 0 ] , " modules " ) ) {
mode = yon_char_unite ( mode , " ( " , MODULES_UPDATE_MODE_LABEL , " ) " , NULL ) ;
} else if ( ! strcmp ( parsed [ 0 ] , " system " ) ) {
mode = yon_char_unite ( mode , " ( " , SYSTEM_UPDATE_MODE_LABEL , " ) " , NULL ) ;
}
gtk_combo_box_text_remove ( GTK_COMBO_BOX_TEXT ( widgets - > UpdateModeCombo ) , 0 ) ;
gtk_combo_box_text_prepend_text ( GTK_COMBO_BOX_TEXT ( widgets - > UpdateModeCombo ) , mode ) ;
gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > UpdateModeCombo ) , 0 ) ;
}
}
yon_interface_update ( widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > BootCheck ) , " toggled " , G_CALLBACK ( on_toggle_button_toggled ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > UpdateIntervalSpin ) , " changed " , G_CALLBACK ( on_toggle_button_toggled ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > UpdateIntervalCombo ) , " changed " , G_CALLBACK ( on_toggle_button_toggled ) , widgets ) ;
@ -1747,12 +1911,6 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect ( G_OBJECT ( widgets - > RecieveDBFromNetCheck ) , " toggled " , G_CALLBACK ( on_toggle_button_toggled ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > MirrorPublicCheck ) , " toggled " , G_CALLBACK ( on_toggle_button_toggled ) , widgets ) ;
GList * list = gtk_tree_view_get_columns ( GTK_TREE_VIEW ( widgets - > WebPublicationTree ) ) ;
for ( unsigned int i = 0 ; i < g_list_length ( list ) ; i + + ) {
g_signal_connect_after ( G_OBJECT ( g_list_nth_data ( list , i ) ) , " notify::width " , G_CALLBACK ( on_column_resize ) , widgets ) ;
yon_window_config_add_listener ( g_list_nth_data ( list , i ) , yon_char_append ( " UserUnitsColumn " , yon_char_from_int ( i ) ) , " fixed-width " , YON_TYPE_INT ) ;
}
}
{
yon_gtk_tree_view_minimal_fixed_size_set_full ( GTK_TREE_VIEW ( widgets - > MirrorTree ) ) ;
yon_gtk_tree_view_minimal_fixed_size_set_full ( GTK_TREE_VIEW ( widgets - > UpdateRepoTree ) ) ;
@ -1761,8 +1919,6 @@ void yon_main_window_complete(main_window *widgets){
yon_gtk_tree_view_minimal_fixed_size_set_full ( GTK_TREE_VIEW ( widgets - > WebPublicationTree ) ) ;
}
yon_root_button_setup ( ( template_main_window * ) widgets , main_config . launch_arguments , main_config . launch_size ) ;
yon_load_proceed ( YON_CONFIG_LOCAL ) ;
yon_interface_update ( widgets ) ;
yon_save_window_set_postsave_function ( on_save_done , widgets ) ;
}