|
|
|
|
@ -130,11 +130,9 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
|
|
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_widget_show(tab->remove_module_button);
|
|
|
|
|
gtk_widget_show(tab->remove_package_button);
|
|
|
|
|
gtk_widget_show(tab->update_module_button);
|
|
|
|
|
gtk_widget_show(tab->update_package_button);
|
|
|
|
|
|
|
|
|
|
gtk_widget_hide(tab->install_module_button);
|
|
|
|
|
gtk_widget_hide(tab->install_package_button);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
if (tab->package_installed){
|
|
|
|
|
@ -144,6 +142,40 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
|
|
|
|
|
gtk_widget_show(tab->remove_package_button);
|
|
|
|
|
gtk_widget_show(tab->update_package_button);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (tab->package_installed||tab->module_installed){
|
|
|
|
|
if (tab->launch_button){
|
|
|
|
|
char *launched = config(KERNEL_BOOT_parameter);
|
|
|
|
|
int boot_size;
|
|
|
|
|
config_str boot_run = yon_config_load(get_active_kernel_command,&boot_size);
|
|
|
|
|
yon_char_remove_last_symbol(boot_run[0],'\n');
|
|
|
|
|
|
|
|
|
|
if ((!(launched&&!strcmp(tab->package,launched))&&(strcmp(tab->package,boot_run[0])))){
|
|
|
|
|
gtk_widget_show(tab->launch_button);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_widget_hide(tab->launch_button);
|
|
|
|
|
if(!getuid()){
|
|
|
|
|
if (boot_run&&!strcmp(boot_run[0],tab->package)){
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->install_tags_box),RUNNING_LABEL,"tag_green",NULL);
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
gtk_widget_hide(tab->update_module_button);
|
|
|
|
|
gtk_widget_hide(tab->update_package_button);
|
|
|
|
|
gtk_widget_hide(tab->launch_button);
|
|
|
|
|
} else if (!yon_char_is_empty(launched)&&!strcmp(launched,tab->package)){
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->install_tags_box),BOOT_RUN_LABEL,"tag_orange",NULL);
|
|
|
|
|
gtk_widget_hide(tab->launch_button);
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
gtk_widget_hide(tab->update_module_button);
|
|
|
|
|
gtk_widget_hide(tab->update_package_button);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (tab->changelog_button){
|
|
|
|
|
gtk_widget_show(tab->changelog_button);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated);
|
|
|
|
|
gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated);
|
|
|
|
|
@ -193,6 +225,7 @@ void *yon_tab_set_installed(kernels_tab *tab){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *yon_interface_update(main_window *widgets){
|
|
|
|
|
yon_ubl_status_box_render(LOADING_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
|
|
|
|
|
if (!main_config.kernel_tabs){
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelsPackageBox));
|
|
|
|
|
for (guint i=0;i<g_list_length(list);i++){
|
|
|
|
|
@ -210,15 +243,6 @@ void *yon_interface_update(main_window *widgets){
|
|
|
|
|
int kernels_size;
|
|
|
|
|
config_str kernels = yon_resource_open_file(kernels_path, &kernels_size);
|
|
|
|
|
|
|
|
|
|
char *boot_config_run=NULL;
|
|
|
|
|
int boot_size;
|
|
|
|
|
config_str boot_run=NULL;
|
|
|
|
|
if(!getuid()){
|
|
|
|
|
boot_config_run = config(KERNEL_BOOT_parameter);
|
|
|
|
|
|
|
|
|
|
boot_run = yon_config_load(get_active_kernel_command,&boot_size);
|
|
|
|
|
yon_char_remove_last_symbol(boot_run[0],'\n');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i=1;i<kernels_size;i++){
|
|
|
|
|
kernels_tab *tab = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets);
|
|
|
|
|
@ -229,19 +253,6 @@ void *yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_widget_destroy(g_list_nth_data(list,i));
|
|
|
|
|
}
|
|
|
|
|
g_list_free(list);}
|
|
|
|
|
if(!getuid()){
|
|
|
|
|
if (boot_run&&!strcmp(boot_run[0],tab->package)){
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->run_tags_box),RUNNING_LABEL,"tag_green",NULL);
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
gtk_widget_hide(tab->launch_button);
|
|
|
|
|
} else if (!yon_char_is_empty(boot_config_run)&&!strcmp(boot_config_run,tab->package)){
|
|
|
|
|
yon_tag_add(GTK_BOX(tab->run_tags_box),BOOT_RUN_LABEL,"tag_orange",NULL);
|
|
|
|
|
gtk_widget_hide(tab->launch_button);
|
|
|
|
|
gtk_widget_hide(tab->remove_module_button);
|
|
|
|
|
gtk_widget_hide(tab->remove_package_button);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0);
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(kernels,kernels_size);
|
|
|
|
|
@ -251,6 +262,16 @@ void *yon_interface_update(main_window *widgets){
|
|
|
|
|
g_thread_new("tags_install_tread",(GThreadFunc)yon_tab_set_installed,tab);
|
|
|
|
|
gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0);
|
|
|
|
|
}
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
switch (main_config.load_mode){
|
|
|
|
|
case 0: yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
break;
|
|
|
|
|
case 1: yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
break;
|
|
|
|
|
case 3: yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -325,7 +346,7 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets
|
|
|
|
|
|
|
|
|
|
gboolean yon_terminal_get_progress(main_window *widgets){
|
|
|
|
|
char *text = vte_terminal_get_text_format(VTE_TERMINAL(widgets->InstallTerminal),VTE_FORMAT_TEXT);
|
|
|
|
|
GRegex *regex = g_regex_new("\\d?\\d?\\d%",0,0,NULL);
|
|
|
|
|
GRegex *regex = g_regex_new("\\d?\\d%",0,0,NULL);
|
|
|
|
|
|
|
|
|
|
GMatchInfo *match = NULL;
|
|
|
|
|
g_regex_match(regex,text,0,&match);
|
|
|
|
|
@ -770,6 +791,10 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe
|
|
|
|
|
tab->install_package_button = yon_gtk_builder_get_widget(builder,"InstallPackageButton");
|
|
|
|
|
tab->update_module_button = yon_gtk_builder_get_widget(builder,"ModuleUpdateButton");
|
|
|
|
|
tab->update_package_button = yon_gtk_builder_get_widget(builder,"PackageUpdateButton");
|
|
|
|
|
tab->changelog_button = NULL;
|
|
|
|
|
tab->launch_button = NULL;
|
|
|
|
|
tab->run_tags_box = NULL;
|
|
|
|
|
tab->tags_box = NULL;
|
|
|
|
|
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
|