|
|
|
@ -27,118 +27,130 @@ void on_save_done(main_window *, config_str output, int size){
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void yon_save_interface( main_window *widgets){
|
|
|
|
void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoUpdateCheck))){
|
|
|
|
if (self == widgets->AutoUpdateCheck){
|
|
|
|
yon_config_register(AUTOUPDATE,AUTOUPDATE_command,"enable");
|
|
|
|
|
|
|
|
} else {
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoUpdateCheck))){
|
|
|
|
yon_config_register(AUTOUPDATE,AUTOUPDATE_command,"disable");
|
|
|
|
yon_config_register(AUTOUPDATE,AUTOUPDATE_command,"enable");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
int save_mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->UpdateModeCombo));
|
|
|
|
yon_config_register(AUTOUPDATE,AUTOUPDATE_command,"disable");
|
|
|
|
switch (save_mode){
|
|
|
|
}
|
|
|
|
case 0: yon_config_remove_by_key(AUTOUPDATE_mode);
|
|
|
|
|
|
|
|
break;
|
|
|
|
} else if (self == widgets->UpdateModeCombo){
|
|
|
|
case 1:yon_config_register(AUTOUPDATE_mode,AUTOUPDATE_mode_command,"modsys");
|
|
|
|
int save_mode = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->UpdateModeCombo));
|
|
|
|
break;
|
|
|
|
switch (save_mode){
|
|
|
|
case 2:yon_config_register(AUTOUPDATE_mode,AUTOUPDATE_mode_command,"modules");
|
|
|
|
case 0: yon_config_remove_by_key(AUTOUPDATE_mode);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:yon_config_register(AUTOUPDATE_mode,AUTOUPDATE_mode_command,"system");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UpdateIntervalDefaultCheck))){
|
|
|
|
|
|
|
|
yon_config_remove_by_key(AUTOUPDATE_interval);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
char *int_str = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->UpdateIntervalSpin)));
|
|
|
|
|
|
|
|
char *interval = "";
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->BootCheck))) interval = "boot";
|
|
|
|
|
|
|
|
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;
|
|
|
|
break;
|
|
|
|
case 1: interval = yon_char_unite(int_str,"h",NULL);
|
|
|
|
case 1:yon_config_register(AUTOUPDATE_mode,AUTOUPDATE_mode_command,"modsys");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 2: interval = yon_char_unite(int_str,"d",NULL);
|
|
|
|
case 2:yon_config_register(AUTOUPDATE_mode,AUTOUPDATE_mode_command,"modules");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 3: interval = yon_char_unite(int_str,"M",NULL);
|
|
|
|
case 3:yon_config_register(AUTOUPDATE_mode,AUTOUPDATE_mode_command,"system");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_config_register(AUTOUPDATE_interval,AUTOUPDATE_interval_command,interval);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
} else if (self == widgets->UpdateIntervalDefaultCheck){
|
|
|
|
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UpdateRepoListCheck))){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UpdateIntervalDefaultCheck))){
|
|
|
|
yon_config_remove_by_key(AUTOUPDATE_repos);
|
|
|
|
yon_config_remove_by_key(AUTOUPDATE_interval);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
char *repos = "";
|
|
|
|
char *int_str = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->UpdateIntervalSpin)));
|
|
|
|
GtkTreeIter iter;
|
|
|
|
char *interval = "";
|
|
|
|
for_iter(GTK_TREE_MODEL(widgets->UpdateRepoList),&iter){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->BootCheck))) interval = "boot";
|
|
|
|
char *target;
|
|
|
|
switch(gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->UpdateIntervalCombo))){
|
|
|
|
int status;
|
|
|
|
case 0: interval = yon_char_unite(!yon_char_is_empty(interval)?interval:"",!yon_char_is_empty(interval)?",":"",int_str,"min",NULL);
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UpdateRepoList),&iter,0,&status,1,&target,-1);
|
|
|
|
break;
|
|
|
|
if (status){
|
|
|
|
case 1: interval = yon_char_unite(int_str,"h",NULL);
|
|
|
|
char *temp = yon_char_unite(repos,!yon_char_is_empty(repos)?",":"",target,NULL);
|
|
|
|
break;
|
|
|
|
if (!yon_char_is_empty(repos)) free(repos);
|
|
|
|
case 2: interval = yon_char_unite(int_str,"d",NULL);
|
|
|
|
repos = temp;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3: interval = yon_char_unite(int_str,"M",NULL);
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
yon_config_register(AUTOUPDATE_interval,AUTOUPDATE_interval_command,interval);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_config_register(AUTOUPDATE_repos,AUTOUPDATE_repos_command,repos);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck))){
|
|
|
|
} else if (self == widgets->UpdateRepoListCheck){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck))){
|
|
|
|
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UpdateRepoListCheck))){
|
|
|
|
yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"only");
|
|
|
|
yon_config_remove_by_key(AUTOUPDATE_repos);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"enable");
|
|
|
|
char *repos = "";
|
|
|
|
}
|
|
|
|
GtkTreeIter iter;
|
|
|
|
} else {
|
|
|
|
for_iter(GTK_TREE_MODEL(widgets->UpdateRepoList),&iter){
|
|
|
|
yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"disable");
|
|
|
|
char *target;
|
|
|
|
}
|
|
|
|
int status;
|
|
|
|
char *repo_net = "";
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UpdateRepoList),&iter,0,&status,1,&target,-1);
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationConnectPublicCheck))){
|
|
|
|
if (status){
|
|
|
|
repo_net = NULL;
|
|
|
|
char *temp = yon_char_unite(repos,!yon_char_is_empty(repos)?",":"",target,NULL);
|
|
|
|
repo_net = "enable";
|
|
|
|
if (!yon_char_is_empty(repos)) free(repos);
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){
|
|
|
|
repos = temp;
|
|
|
|
if (!repo_net) repo_net = ",db";
|
|
|
|
}
|
|
|
|
else repo_net = yon_char_unite(repo_net,",","db",NULL);
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
yon_config_register(AUTOUPDATE_repos,AUTOUPDATE_repos_command,repos);
|
|
|
|
repo_net = yon_char_unite(repo_net,",",NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
|
|
|
|
repo_net = "disable";
|
|
|
|
} else if (self == widgets->RepositoriesRepoListConfigurationCheck||self == widgets->RepositoriesDisableSystemReposCheck){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesRepoListConfigurationCheck))){
|
|
|
|
if (!repo_net) repo_net = ",db";
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RepositoriesDisableSystemReposCheck))){
|
|
|
|
else repo_net = yon_char_unite(repo_net,",","db",NULL);
|
|
|
|
yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"only");
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"enable");
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
repo_net = yon_char_unite(repo_net,",",NULL);
|
|
|
|
yon_config_register(REPOSITORY_parameter,REPOSITORY_parameter_command,"disable");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationCheck))){
|
|
|
|
} else if (self == widgets->PublicationConnectPublicCheck||self == widgets->RecieveDBFromNetCheck){
|
|
|
|
yon_config_remove_by_key(REPOPUBLIC_NET_parameter);
|
|
|
|
char *repo_net = "";
|
|
|
|
} else {
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationConnectPublicCheck))){
|
|
|
|
char *repos = "";
|
|
|
|
repo_net = NULL;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
repo_net = "enable";
|
|
|
|
for_iter(GTK_TREE_MODEL(widgets->PublicationList),&iter){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){
|
|
|
|
char *target;
|
|
|
|
if (!repo_net) repo_net = ",db";
|
|
|
|
int status;
|
|
|
|
else repo_net = yon_char_unite(repo_net,",","db",NULL);
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PublicationList),&iter,0,&status,1,&target,-1);
|
|
|
|
}else {
|
|
|
|
if (status){
|
|
|
|
repo_net = yon_char_unite(repo_net,",",NULL);
|
|
|
|
char *temp = yon_char_unite(repos,!yon_char_is_empty(repos)?",":"",target,NULL);
|
|
|
|
}
|
|
|
|
if (!yon_char_is_empty(repos)) free(repos);
|
|
|
|
} else {
|
|
|
|
repos = temp;
|
|
|
|
repo_net = "disable";
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RecieveDBFromNetCheck))){
|
|
|
|
|
|
|
|
if (!repo_net) repo_net = ",db";
|
|
|
|
|
|
|
|
else repo_net = yon_char_unite(repo_net,",","db",NULL);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
repo_net = yon_char_unite(repo_net,",",NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!yon_char_is_empty(repos)){
|
|
|
|
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->PublicationCheck))){
|
|
|
|
repo_net = yon_char_unite(repo_net,",",repos,NULL);
|
|
|
|
yon_config_remove_by_key(REPOPUBLIC_NET_parameter);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
char *repos = "";
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
|
|
|
for_iter(GTK_TREE_MODEL(widgets->PublicationList),&iter){
|
|
|
|
|
|
|
|
char *target;
|
|
|
|
|
|
|
|
int status;
|
|
|
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PublicationList),&iter,0,&status,1,&target,-1);
|
|
|
|
|
|
|
|
if (status){
|
|
|
|
|
|
|
|
char *temp = yon_char_unite(repos,!yon_char_is_empty(repos)?",":"",target,NULL);
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(repos)) free(repos);
|
|
|
|
|
|
|
|
repos = temp;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(repos)){
|
|
|
|
|
|
|
|
repo_net = yon_char_unite(repo_net,",",repos,NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_config_register(REPOPUBLIC_NET_parameter,REPOPUBLIC_NET_parameter_command,repo_net);
|
|
|
|
yon_config_register(REPOPUBLIC_NET_parameter,REPOPUBLIC_NET_parameter_command,repo_net);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->MirrorPublicCheck))){
|
|
|
|
} else if (self == widgets->MirrorPublicCheck){
|
|
|
|
yon_config_register(REPOPUBLIC_CACHE,REPOPUBLIC_CACHE_command,"enable");
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->MirrorPublicCheck))){
|
|
|
|
} else {
|
|
|
|
yon_config_register(REPOPUBLIC_CACHE,REPOPUBLIC_CACHE_command,"enable");
|
|
|
|
yon_config_register(REPOPUBLIC_CACHE,REPOPUBLIC_CACHE_command,"disable");
|
|
|
|
} else {
|
|
|
|
|
|
|
|
yon_config_register(REPOPUBLIC_CACHE,REPOPUBLIC_CACHE_command,"disable");
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
void yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
@ -439,30 +451,26 @@ void on_web_user_check(GtkToggleButton *self, web_publication_add_window *window
|
|
|
|
gtk_widget_set_sensitive(window->UserPasswordEntry,(status&&status2));
|
|
|
|
gtk_widget_set_sensitive(window->UserPasswordEntry,(status&&status2));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_save(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_save(GtkWidget *, main_window *){
|
|
|
|
main_config.save_config=2;
|
|
|
|
main_config.save_config=2;
|
|
|
|
yon_save_interface(widgets);
|
|
|
|
|
|
|
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,yon_config_get_custom_command("global"),NULL);
|
|
|
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,yon_config_get_custom_command("global"),NULL);
|
|
|
|
if (window){};
|
|
|
|
if (window){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_global_save(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_global_save(GtkWidget *, main_window *){
|
|
|
|
main_config.save_config=0;
|
|
|
|
main_config.save_config=0;
|
|
|
|
yon_save_interface(widgets);
|
|
|
|
|
|
|
|
template_saving_window *window = yon_save_proceed("global",YON_CONFIG_GLOBAL,yon_config_get_custom_command("global"),NULL);
|
|
|
|
template_saving_window *window = yon_save_proceed("global",YON_CONFIG_GLOBAL,yon_config_get_custom_command("global"),NULL);
|
|
|
|
if (window){};
|
|
|
|
if (window){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_local_save(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_local_save(GtkWidget *, main_window *){
|
|
|
|
main_config.save_config=1;
|
|
|
|
main_config.save_config=1;
|
|
|
|
yon_save_interface(widgets);
|
|
|
|
|
|
|
|
template_saving_window *window = yon_save_proceed("system",YON_CONFIG_LOCAL,yon_config_get_custom_command("system"),NULL);
|
|
|
|
template_saving_window *window = yon_save_proceed("system",YON_CONFIG_LOCAL,yon_config_get_custom_command("system"),NULL);
|
|
|
|
if (window){};
|
|
|
|
if (window){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_custom_save(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_custom_save(GtkWidget *, main_window *){
|
|
|
|
main_config.save_config=1;
|
|
|
|
main_config.save_config=1;
|
|
|
|
yon_save_interface(widgets);
|
|
|
|
|
|
|
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL);
|
|
|
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL);
|
|
|
|
if (window){};
|
|
|
|
if (window){};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1604,6 +1612,16 @@ 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->UpdateIntervalSpin);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateModeCombo),"changed",G_CALLBACK(on_toggle_button_toggled),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateIntervalDefaultCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateRepoListCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->RepositoriesRepoListConfigurationCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->RepositoriesDisableSystemReposCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->PublicationConnectPublicCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),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));
|
|
|
|
GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->WebPublicationTree));
|
|
|
|
for (unsigned int i=0;i<g_list_length(list);i++){
|
|
|
|
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);
|
|
|
|
g_signal_connect_after(G_OBJECT(g_list_nth_data(list,i)),"notify::width",G_CALLBACK(on_column_resize),widgets);
|
|
|
|
|