|
|
|
|
@ -204,11 +204,16 @@ int yon_tag_add(GtkBox *target,char *tag_label, char *tag_style, char *icon_name
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gboolean on_command_execute_success(GtkWidget *,gint,main_window *widgets){
|
|
|
|
|
gtk_revealer_set_transition_type(GTK_REVEALER(widgets->MainRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
|
|
|
|
|
// gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->MainRevealer),0);
|
|
|
|
|
// gtk_widget_hide(widgets->MainRevealer);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets){
|
|
|
|
|
if (!status){
|
|
|
|
|
gtk_revealer_set_transition_type(GTK_REVEALER(widgets->MainRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN);
|
|
|
|
|
// gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->MainRevealer),0);
|
|
|
|
|
// gtk_widget_hide(widgets->MainRevealer);
|
|
|
|
|
yon_ubl_status_box_render(OPERATION_SUCCESS_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
} else {
|
|
|
|
|
yon_ubl_status_box_render(OPERATION_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -241,7 +246,7 @@ void *yon_command_execute_async(char *command,main_window *widgets){
|
|
|
|
|
// gtk_widget_show(widgets->MainRevealer);
|
|
|
|
|
// gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->MainRevealer),1);
|
|
|
|
|
gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),0);
|
|
|
|
|
yon_terminal_integrated_start(widgets->InstallTerminal,command);
|
|
|
|
|
yon_terminal_integrated_start(widgets->InstallTerminal,yon_debug_output("%s\n",command));
|
|
|
|
|
glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal));
|
|
|
|
|
vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20);
|
|
|
|
|
gdk_threads_add_timeout(500,(GSourceFunc)yon_terminal_get_progress,widgets);
|
|
|
|
|
@ -289,17 +294,17 @@ dialog_window *yon_dialog_window_new(){
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_module_install_clicked(GtkWidget *,dictionary *dict){
|
|
|
|
|
// main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
|
|
|
|
|
void on_module_install_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
|
|
|
|
|
kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*);
|
|
|
|
|
char *action_text = MODULE_INSTALL_CONFIRMATION_LABEL(tab->name);
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_install_accept),dict);
|
|
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
if (!gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))){
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_install_accept),dict);
|
|
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
int size;
|
|
|
|
|
config_str additions = yon_resource_open_file(kernels_addon_path,&size);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
@ -315,35 +320,59 @@ void on_module_install_clicked(GtkWidget *,dictionary *dict){
|
|
|
|
|
gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->module_requirements[i],-1);
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(additions,size);
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
|
|
|
|
|
data->action_text = MODULE_INSTALL_CONFIRMATION_LABEL(tab->name);
|
|
|
|
|
data->function = NULL;
|
|
|
|
|
data->data = NULL;
|
|
|
|
|
if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){
|
|
|
|
|
char *command = install_command(tab->module);
|
|
|
|
|
yon_command_execute_async(command,widgets);
|
|
|
|
|
tab->module_installed=0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_package_install_clicked(GtkWidget *,dictionary *dict){
|
|
|
|
|
// main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
|
|
|
|
|
void on_package_install_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
|
|
|
|
|
kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*);
|
|
|
|
|
char *action_text = PACKAGE_INSTALL_CONFIRMATION_LABEL(tab->name);
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_install_accept),dict);
|
|
|
|
|
char *action_text = MODULE_INSTALL_CONFIRMATION_LABEL(tab->name);
|
|
|
|
|
if (!gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))){
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_install_accept),dict);
|
|
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
config_str additions = yon_resource_open_file(kernels_addon_path,&size);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
for (int i=0;i<tab->package_requirements_size;i++){
|
|
|
|
|
gtk_list_store_append(window->liststore1,&iter);
|
|
|
|
|
for (int j=1;j<size;j++){
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(additions[j],&cur_size,";");
|
|
|
|
|
if (!strcmp(parsed[1],tab->package_requirements[i]))
|
|
|
|
|
gtk_list_store_set(window->liststore1,&iter,2,parsed[3],-1);
|
|
|
|
|
yon_char_parsed_free(parsed,cur_size);
|
|
|
|
|
int size;
|
|
|
|
|
config_str additions = yon_resource_open_file(kernels_addon_path,&size);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
for (int i=0;i<tab->package_requirements_size;i++){
|
|
|
|
|
gtk_list_store_append(window->liststore1,&iter);
|
|
|
|
|
for (int j=1;j<size;j++){
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(additions[j],&cur_size,";");
|
|
|
|
|
if (!strcmp(parsed[1],tab->package_requirements[i]))
|
|
|
|
|
gtk_list_store_set(window->liststore1,&iter,2,parsed[3],-1);
|
|
|
|
|
yon_char_parsed_free(parsed,cur_size);
|
|
|
|
|
}
|
|
|
|
|
gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->package_requirements[i],-1);
|
|
|
|
|
}
|
|
|
|
|
gtk_list_store_set(window->liststore1,&iter,0,1,1,tab->package_requirements[i],-1);
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(additions,size);
|
|
|
|
|
yon_char_parsed_free(additions,size);
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
|
|
|
|
|
data->action_text = MODULE_INSTALL_CONFIRMATION_LABEL(tab->name);
|
|
|
|
|
data->function = NULL;
|
|
|
|
|
data->data = NULL;
|
|
|
|
|
if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){
|
|
|
|
|
char *command = install_command(tab->package);
|
|
|
|
|
yon_command_execute_async(command,widgets);
|
|
|
|
|
tab->module_installed=0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_module_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
|