Fixed wrong statuses

pull/9/head
parent 2bc9c0a9e8
commit 16a8edecbc

@ -254,7 +254,7 @@ void *yon_command_execute_async(char *command,main_window *widgets){
return NULL;
}
void on_install_accept(GtkWidget *, dictionary *dict){
void on_module_install_accept(GtkWidget *, 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*);
dialog_window *window = yon_dictionary_get_data(dict->first->next->next,dialog_window*);
@ -279,6 +279,31 @@ void on_install_accept(GtkWidget *, dictionary *dict){
on_subwindow_close(window->Window);
}
void on_package_install_accept(GtkWidget *, 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*);
dialog_window *window = yon_dictionary_get_data(dict->first->next->next,dialog_window*);
char *modules_to_install = tab->package;
GtkTreeIter iter;
for_iter (GTK_TREE_MODEL(window->liststore1),&iter){
int status;
char *package;
gtk_tree_model_get(GTK_TREE_MODEL(window->liststore1),&iter,0,&status,1,&package,-1);
if (status){
char *temp = yon_char_unite(modules_to_install," ", package, NULL);
if (strcmp(modules_to_install,tab->module)) free(modules_to_install);
modules_to_install = temp;
}
}
char *command = install_command(modules_to_install);
yon_command_execute_async(command,widgets);
tab->package_installed=1;
free(dict->first->next->next);
dict->first->next->next=NULL;
on_subwindow_close(window->Window);
}
dialog_window *yon_dialog_window_new(){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_dialog_path);
dialog_window *window = malloc(sizeof(dialog_window));
@ -301,7 +326,7 @@ void on_module_install_clicked(GtkWidget *self,dictionary *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);
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_module_install_accept),dict);
gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text);
gtk_widget_show(window->Window);
@ -330,7 +355,7 @@ void on_module_install_clicked(GtkWidget *self,dictionary *dict){
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;
tab->module_installed=1;
}
}
}
@ -341,7 +366,7 @@ void on_package_install_clicked(GtkWidget *self,dictionary *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);
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_package_install_accept),dict);
gtk_label_set_text(GTK_LABEL(window->TopicLabel),action_text);
gtk_widget_show(window->Window);
@ -371,7 +396,7 @@ void on_package_install_clicked(GtkWidget *self,dictionary *dict){
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;
tab->package_installed=1;
}
}
}
@ -555,7 +580,7 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
gtk_widget_show(tab->remove_package_button);
gtk_widget_show(tab->changelog_button);
gtk_widget_show(tab->launch_button);
}
} else tab->package_installed=0;
}
yon_char_parsed_free(types_parsed,types_size);
gtk_label_set_markup(GTK_LABEL(tab->name_label),name);
@ -664,7 +689,7 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe
gtk_widget_show(tab->remove_package_button);
gtk_widget_hide(tab->install_module_button);
gtk_widget_hide(tab->install_package_button);
}
} else tab->module_installed=0;
{
free(check_install_command);
check_install_command = get_package_is_installed_command(tab->package);
@ -674,7 +699,7 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_widget_hide(tab->install_package_button);
gtk_widget_show(tab->remove_package_button);
}
} else tab->package_installed=0;
}
gtk_label_set_markup(GTK_LABEL(tab->name_label),name);
gtk_label_set_markup(GTK_LABEL(tab->module_label),module);

@ -220,7 +220,8 @@ void *yon_command_execute_async(char *command,main_window *widgets);
dialog_window *yon_dialog_window_new();
void on_install_accept(GtkWidget *, dictionary *dict);
void on_module_install_accept(GtkWidget *, dictionary *dict);
void on_package_install_accept(GtkWidget *, dictionary *dict);
void on_module_install_clicked(GtkWidget *,dictionary *dict);
void on_package_install_clicked(GtkWidget *,dictionary *dict);

Loading…
Cancel
Save