|
|
|
|
@ -160,6 +160,43 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
config_str web_publish = yon_config_get_all_by_key(REPOPUBLIC_WEB_search,&size);
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
gtk_list_store_append(widgets->WebPublicationList,&iter);
|
|
|
|
|
char *cur = yon_char_new(web_publish[i]);
|
|
|
|
|
char *key = yon_char_divide_search(cur,"=",-1);
|
|
|
|
|
free(yon_char_divide_search(key,"[",-1));
|
|
|
|
|
key[strlen(key)-1]='\0';
|
|
|
|
|
char *path = yon_char_divide_search(key,":",-1);
|
|
|
|
|
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);
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(cur,&cur_size,":");
|
|
|
|
|
if (cur_size){
|
|
|
|
|
if (!strcmp(parsed[0],"enable")||!strcmp(parsed[0],"yes")){
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,0,1,-1);
|
|
|
|
|
} else if (!strcmp(parsed[0],"disable")||!strcmp(parsed[0],"no")||!strcmp(parsed[0],"none")) {
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,0,0,-1);
|
|
|
|
|
}
|
|
|
|
|
if (cur_size>1&&!strcmp(parsed[1],"listing")){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (cur_size>2&&!yon_char_is_empty(parsed[2])){
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,4,parsed[2],-1);
|
|
|
|
|
}
|
|
|
|
|
if (cur_size>3&&!yon_char_is_empty(parsed[3])){
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,5,parsed[3],-1);
|
|
|
|
|
}
|
|
|
|
|
if (cur_size>4&&!yon_char_is_empty(parsed[4])){
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,6,parsed[4],-1);
|
|
|
|
|
}
|
|
|
|
|
if (cur_size>5&&!yon_char_is_empty(parsed[5])){
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,7,parsed[5],-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// standard functions
|
|
|
|
|
@ -318,14 +355,15 @@ void on_mirror_configure(GtkWidget *,main_window *widgets){
|
|
|
|
|
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*);
|
|
|
|
|
// int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->EnabledCheck));
|
|
|
|
|
|
|
|
|
|
int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->EnabledCheck));
|
|
|
|
|
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);
|
|
|
|
|
yon_ubl_status_highlight_incorrect(window->RepoNameEntry);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// int source_mode = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RepoSourceCombo));
|
|
|
|
|
char *source_mode = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->RepoSourceCombo));
|
|
|
|
|
const char *source_path = gtk_entry_get_text(GTK_ENTRY(window->RepoSourceEntry));
|
|
|
|
|
if (yon_char_is_empty(source_path)){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
@ -333,28 +371,70 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// int sign_level_package = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RepoSignCheckCombo));
|
|
|
|
|
// int sign_level_condiition = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RepoSignConditionCombo));
|
|
|
|
|
char *sign_level_package = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->RepoSignCheckCombo));
|
|
|
|
|
char *sign_level_condiition = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->RepoSignConditionCombo));
|
|
|
|
|
|
|
|
|
|
// int usage_level_default = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageDefaultCheck));
|
|
|
|
|
// int usage_level_enable_update = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageEnableUpdateCheck));
|
|
|
|
|
// int usage_level_enable_search = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageEnableSearchCheck));
|
|
|
|
|
// int usage_level_enable_install = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageEnableInsallCheck));
|
|
|
|
|
// int usage_level_sysupgrade = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsageSysupgradeCheck));
|
|
|
|
|
|
|
|
|
|
char *final = yon_char_unite(source_mode,source_path,";",sign_level_package,",",sign_level_condiition,";",enabled?"":"disable",NULL);
|
|
|
|
|
|
|
|
|
|
yon_config_register(REPOSITORY(repo_name),REOSITORY_command(repo_name),final);
|
|
|
|
|
|
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
|
free(window);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_web_publish_accept(GtkWidget *, dictionary *){
|
|
|
|
|
void on_web_publish_accept(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*);
|
|
|
|
|
web_publication_add_window *window = yon_dictionary_get_data(dict->first->next,web_publication_add_window*);
|
|
|
|
|
|
|
|
|
|
int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->EnablePublishCheck));
|
|
|
|
|
// char *path = (char*)gtk_entry_get_text(GTK_ENTRY(window->PathEntry));
|
|
|
|
|
int port_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->PortCheck));
|
|
|
|
|
char *port = (char*)gtk_entry_get_text(GTK_ENTRY(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 = (char*)gtk_entry_get_text(GTK_ENTRY(window->UserPasswordEntry));
|
|
|
|
|
|
|
|
|
|
char *name = "";
|
|
|
|
|
char *final = yon_char_unite(enabled?"enable":"disable",":",enable_browser?"listing":"",":",port_enabled?port:"",":",username_check?username:"",username_check?user_password:"",NULL);
|
|
|
|
|
yon_config_register(REPOPUBLIC_WEB_full(name),REPOPUBLIC_WEB_command(name),final);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_accept(GtkWidget *,dictionary *){
|
|
|
|
|
// 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*);
|
|
|
|
|
// mirror_add_window *window = yon_dictionary_get_data(dict->first->next,mirror_add_window*);
|
|
|
|
|
// char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry));
|
|
|
|
|
// char *path = (char*)gtk_entry_get_text(GTK_ENTRY(window->TypeEntry));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_path_removed(GtkWidget *, GtkWidget *target){
|
|
|
|
|
if (GTK_IS_WIDGET(target)){
|
|
|
|
|
gtk_widget_destroy(target);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_path_add(GtkWidget *, mirror_add_window *window){
|
|
|
|
|
const char *target = gtk_entry_get_text(GTK_ENTRY(window->TypeEntry));
|
|
|
|
|
if (yon_char_is_empty(target)){
|
|
|
|
|
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 *type = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->TypeCombo));
|
|
|
|
|
char *full_name = yon_char_unite(type,"@",target,NULL);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->TypeEntry),"");
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_mirror_path_add_path);
|
|
|
|
|
gtk_box_pack_start(GTK_BOX(window->PathBox),yon_gtk_builder_get_widget(builder,"PathRemovalBox"),0,0,5);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder,"PathLabel")),full_name);
|
|
|
|
|
g_signal_connect(gtk_builder_get_object(builder,"PathRemoveButton"),"clicked",G_CALLBACK(on_mirror_path_removed),gtk_builder_get_object(builder,"PathRemovalBox"));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -454,10 +534,16 @@ mirror_add_window *yon_mirror_add_window_new(){
|
|
|
|
|
window->TypeCombo = yon_gtk_builder_get_widget(builder,"TypeCombo");
|
|
|
|
|
window->TypeEntry = yon_gtk_builder_get_widget(builder,"TypeEntry");
|
|
|
|
|
window->TypeButton = yon_gtk_builder_get_widget(builder,"TypeButton");
|
|
|
|
|
window->AddButton = yon_gtk_builder_get_widget(builder,"AddButton");
|
|
|
|
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
|
|
|
|
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");
|
|
|
|
|
window->PathRemovalBox = yon_gtk_builder_get_widget(builder,"PathRemovalBox");
|
|
|
|
|
window->PathRemoveButton = yon_gtk_builder_get_widget(builder,"PathRemoveButton");
|
|
|
|
|
window->PathLabel = yon_gtk_builder_get_widget(builder,"PathLabel");
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
|