|
|
|
@ -133,6 +133,11 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
|
|
|
|
gtk_widget_show(tab->update_module_button);
|
|
|
|
gtk_widget_show(tab->update_module_button);
|
|
|
|
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->install_module_button);
|
|
|
|
gtk_widget_hide(tab->install_module_button);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->update_module_button);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_widget_show(tab->install_module_button);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (tab->package_installed){
|
|
|
|
if (tab->package_installed){
|
|
|
|
@ -141,6 +146,10 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
|
|
|
|
gtk_widget_hide(tab->install_package_button);
|
|
|
|
gtk_widget_hide(tab->install_package_button);
|
|
|
|
gtk_widget_show(tab->remove_package_button);
|
|
|
|
gtk_widget_show(tab->remove_package_button);
|
|
|
|
gtk_widget_show(tab->update_package_button);
|
|
|
|
gtk_widget_show(tab->update_package_button);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_show(tab->install_package_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->update_package_button);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (tab->package_installed||tab->module_installed){
|
|
|
|
if (tab->package_installed||tab->module_installed){
|
|
|
|
@ -194,23 +203,25 @@ void *yon_tab_set_installed(kernels_tab *tab){
|
|
|
|
char *target_module = yon_package_string_set(tab->module);
|
|
|
|
char *target_module = yon_package_string_set(tab->module);
|
|
|
|
char *target_package = yon_package_string_set(tab->package);
|
|
|
|
char *target_package = yon_package_string_set(tab->package);
|
|
|
|
|
|
|
|
|
|
|
|
char *check_install_command = get_package_is_installed_command(target_module);
|
|
|
|
char *check_install_command = get_package_is_installed_command(target_module); //if module installed
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
tab->module_installed=1;
|
|
|
|
tab->module_installed=1;
|
|
|
|
} else tab->module_installed=0;
|
|
|
|
} else tab->module_installed=0;
|
|
|
|
free(check_install_command);
|
|
|
|
free(check_install_command);
|
|
|
|
check_install_command = get_package_is_installed_command(target_package);
|
|
|
|
|
|
|
|
|
|
|
|
check_install_command = get_package_is_installed_command(target_package); //if package installed
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
tab->package_installed=1;
|
|
|
|
tab->package_installed=1;
|
|
|
|
} else tab->package_installed=0;
|
|
|
|
} else tab->package_installed=0;
|
|
|
|
free(check_install_command);
|
|
|
|
free(check_install_command);
|
|
|
|
|
|
|
|
|
|
|
|
check_install_command = get_package_is_updated_command(target_module);
|
|
|
|
check_install_command = get_package_is_updated_command(target_module); //if module has updates
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
tab->module_updated = 0;
|
|
|
|
tab->module_updated = 0;
|
|
|
|
} else tab->module_updated = 1;
|
|
|
|
} else tab->module_updated = 1;
|
|
|
|
free(check_install_command);
|
|
|
|
free(check_install_command);
|
|
|
|
check_install_command = get_package_is_updated_command(target_package);
|
|
|
|
|
|
|
|
|
|
|
|
check_install_command = get_package_is_updated_command(target_package); //if package has updates
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
if (!system(yon_debug_output("%s\n",check_install_command))){
|
|
|
|
tab->package_updated = 0;
|
|
|
|
tab->package_updated = 0;
|
|
|
|
} else tab->package_updated = 1;
|
|
|
|
} else tab->package_updated = 1;
|
|
|
|
@ -567,7 +578,6 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
char *command = remove_command(target);
|
|
|
|
char *command = remove_command(target);
|
|
|
|
char *command_unload = unload_command(target);
|
|
|
|
char *command_unload = unload_command(target);
|
|
|
|
system(yon_debug_output("%s\n",command_unload));
|
|
|
|
system(yon_debug_output("%s\n",command_unload));
|
|
|
|
// system(yon_debug_output("%s\n",command));
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_module_remove_done),tab);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_module_remove_done),tab);
|
|
|
|
yon_command_execute_async(command,widgets);
|
|
|
|
yon_command_execute_async(command,widgets);
|
|
|
|
tab->module_installed=0;
|
|
|
|
tab->module_installed=0;
|
|
|
|
@ -609,44 +619,8 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
config_str parsed = yon_char_parse(target_string,&size,";");
|
|
|
|
config_str parsed = yon_char_parse(target_string,&size,";");
|
|
|
|
if (size){
|
|
|
|
if (size){
|
|
|
|
int types_size;
|
|
|
|
|
|
|
|
dictionary *cur = yon_dictionary_get(&main_config.kernel_tabs,parsed[2]);
|
|
|
|
|
|
|
|
kernels_tab *tab = NULL;
|
|
|
|
kernels_tab *tab = NULL;
|
|
|
|
if (cur){
|
|
|
|
int types_size;
|
|
|
|
tab = (kernels_tab*)cur->data;
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->changelog_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->launch_button);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),"",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),"",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
if (tab->module_installed){
|
|
|
|
|
|
|
|
gtk_widget_show(tab->remove_module_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->install_module_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->remove_module_button);
|
|
|
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->update_module_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->install_module_button);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (tab->package_installed){
|
|
|
|
|
|
|
|
gtk_widget_show(tab->remove_package_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->install_package_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->changelog_button);
|
|
|
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->update_package_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->install_package_button);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!tab->package_installed&&!tab->module_installed){
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->launch_button);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tab = malloc(sizeof(kernels_tab));
|
|
|
|
tab = malloc(sizeof(kernels_tab));
|
|
|
|
|
|
|
|
|
|
|
|
@ -738,7 +712,6 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->RunSizeGroup),tab->run_tags_box);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->RunSizeGroup),tab->run_tags_box);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->launch_button));
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->launch_button));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -748,42 +721,11 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *target_string, main_window *widgets){
|
|
|
|
additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *target_string, main_window *widgets){
|
|
|
|
int size;
|
|
|
|
int size=0;
|
|
|
|
config_str parsed = yon_char_parse(target_string,&size,";");
|
|
|
|
config_str parsed = yon_char_parse(target_string,&size,";");
|
|
|
|
if (size){
|
|
|
|
if (size){
|
|
|
|
dictionary *cur = yon_dictionary_get(&main_config.addition_tabs,parsed[2]);
|
|
|
|
|
|
|
|
additions_kernels_tab *tab = NULL;
|
|
|
|
additions_kernels_tab *tab = NULL;
|
|
|
|
if (cur){
|
|
|
|
|
|
|
|
tab = (additions_kernels_tab*)cur->data;
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),"",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),"",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
if (tab->module_installed){
|
|
|
|
|
|
|
|
gtk_widget_show(tab->remove_module_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->install_module_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->update_module_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->remove_module_button);
|
|
|
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->update_module_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->install_module_button);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (tab->package_installed){
|
|
|
|
|
|
|
|
gtk_widget_show(tab->update_package_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->remove_package_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->install_package_button);
|
|
|
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL);
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->update_package_button);
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
|
|
|
gtk_widget_show(tab->install_package_button);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_additions_table_row_path);
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_additions_table_row_path);
|
|
|
|
|
|
|
|
|
|
|
|
tab = malloc(sizeof(additions_kernels_tab));
|
|
|
|
tab = malloc(sizeof(additions_kernels_tab));
|
|
|
|
@ -819,9 +761,6 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe
|
|
|
|
g_signal_connect(G_OBJECT(tab->remove_package_button),"clicked",G_CALLBACK(on_package_remove_clicked),dict);
|
|
|
|
g_signal_connect(G_OBJECT(tab->remove_package_button),"clicked",G_CALLBACK(on_package_remove_clicked),dict);
|
|
|
|
gtk_list_box_insert(target,tab->main_box,-1);
|
|
|
|
gtk_list_box_insert(target,tab->main_box,-1);
|
|
|
|
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
|
|
|
config_str parsed = yon_char_parse(target_string,&size,";");
|
|
|
|
|
|
|
|
if (size){
|
|
|
|
|
|
|
|
tab->name = yon_char_new(parsed[0]);
|
|
|
|
tab->name = yon_char_new(parsed[0]);
|
|
|
|
tab->module = yon_char_new(parsed[1]);
|
|
|
|
tab->module = yon_char_new(parsed[1]);
|
|
|
|
tab->package = yon_char_new(parsed[2]);
|
|
|
|
tab->package = yon_char_new(parsed[2]);
|
|
|
|
@ -839,8 +778,6 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->InstallSizeGroup),tab->install_tags_box);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->InstallSizeGroup),tab->install_tags_box);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label);
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->remove_module_button));
|
|
|
|
gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->remove_module_button));
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return tab;
|
|
|
|
return tab;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
return NULL;
|
|
|
|
|