|
|
|
@ -92,7 +92,7 @@ GtkWidget *yon_tab_row_new(GtkListBox *target, char *target_string, main_window
|
|
|
|
config_str types_parsed = yon_char_parse(parsed[3],&types_size,", ");
|
|
|
|
config_str types_parsed = yon_char_parse(parsed[3],&types_size,", ");
|
|
|
|
for (int k=0;k<types_size;k++){
|
|
|
|
for (int k=0;k<types_size;k++){
|
|
|
|
GtkWidget *cur_tag_label = gtk_label_new(types_parsed[k]);
|
|
|
|
GtkWidget *cur_tag_label = gtk_label_new(types_parsed[k]);
|
|
|
|
gtk_box_pack_start(GTK_BOX(tags_box),cur_tag_label,0,0,5);
|
|
|
|
gtk_box_pack_start(GTK_BOX(tags_box),cur_tag_label,0,0,1);
|
|
|
|
gtk_widget_show(cur_tag_label);
|
|
|
|
gtk_widget_show(cur_tag_label);
|
|
|
|
char *passw = types_parsed[k][0]==' '?yon_char_divide(types_parsed[k],0):NULL;
|
|
|
|
char *passw = types_parsed[k][0]==' '?yon_char_divide(types_parsed[k],0):NULL;
|
|
|
|
if (passw) free(passw);
|
|
|
|
if (passw) free(passw);
|
|
|
|
@ -158,31 +158,68 @@ void on_info_clicked(GtkWidget *, main_window *widgets){
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"info_window");
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"info_window");
|
|
|
|
GtkWidget *current_tree=NULL;
|
|
|
|
GtkWidget *current_tree=NULL;
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
current_tree = widgets->KernelsTree;
|
|
|
|
current_tree = widgets->KernelsPackageBox;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
current_tree = widgets->AdditionsTree;
|
|
|
|
current_tree = widgets->AdditionsPackageBox;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
GtkTreeModel *model;
|
|
|
|
GtkListBoxRow *target = gtk_list_box_get_selected_row(GTK_LIST_BOX(current_tree));
|
|
|
|
GtkTreeIter iter;
|
|
|
|
if (target){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(current_tree)),&model,&iter)){
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(target));
|
|
|
|
char *target;
|
|
|
|
GList *list2 = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0)));
|
|
|
|
gtk_tree_model_get(model,&iter,4,&target,-1);
|
|
|
|
GList *list3 = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list2,1)));
|
|
|
|
|
|
|
|
char * target_str = yon_char_new((char*)gtk_label_get_text(GTK_LABEL(g_list_nth_data(list3,0))));
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
config_str ret = yon_config_load(yon_get_info_command(target),&size);
|
|
|
|
char *parameter = yon_char_divide_search(target_str,"\n",-1);
|
|
|
|
if (size){
|
|
|
|
free(parameter);
|
|
|
|
char *final_text = yon_char_parsed_to_string(ret,size,"");
|
|
|
|
parameter = yon_char_replace(target_str,"\n",",");
|
|
|
|
|
|
|
|
int sz;
|
|
|
|
|
|
|
|
config_str parsed = yon_char_parse(parameter,&sz,",");
|
|
|
|
|
|
|
|
free(parameter);
|
|
|
|
|
|
|
|
parameter = yon_char_parsed_to_string(parsed,sz," ");
|
|
|
|
|
|
|
|
config_str info = yon_config_load(get_package_info_command(parameter),&size);
|
|
|
|
|
|
|
|
if (size!=-1){
|
|
|
|
|
|
|
|
char *final_text = yon_char_parsed_to_string(info,size,"");
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->InfoLabel),final_text);
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->InfoLabel),final_text);
|
|
|
|
free(final_text);
|
|
|
|
free(final_text);
|
|
|
|
yon_char_parsed_free(ret,size);
|
|
|
|
yon_char_parsed_free(info,size);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->InfoLabel),PACKAGE_NOT_FOUND_LABEL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gtk_widget_show(window->window);
|
|
|
|
gtk_widget_show(window->window);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_changelog_clicked(GtkWidget *, main_window *widgets){
|
|
|
|
void on_changelog_clicked(GtkWidget *, main_window *widgets){
|
|
|
|
if (widgets){};
|
|
|
|
|
|
|
|
info_window *window = yon_info_window_new();
|
|
|
|
info_window *window = yon_info_window_new();
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"changelog_window");
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"changelog_window");
|
|
|
|
|
|
|
|
GtkWidget *current_tree=NULL;
|
|
|
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
|
|
|
current_tree = widgets->KernelsPackageBox;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
current_tree = widgets->AdditionsPackageBox;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
GtkListBoxRow *target = gtk_list_box_get_selected_row(GTK_LIST_BOX(current_tree));
|
|
|
|
|
|
|
|
if (target){
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(target));
|
|
|
|
|
|
|
|
GList *list2 = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0)));
|
|
|
|
|
|
|
|
GList *list3 = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list2,1)));
|
|
|
|
|
|
|
|
char * target_str = yon_char_new((char*)gtk_label_get_text(GTK_LABEL(g_list_nth_data(list3,0))));
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
|
|
|
char *parameter = yon_char_divide_search(target_str,"\n",-1);
|
|
|
|
|
|
|
|
free(parameter);
|
|
|
|
|
|
|
|
parameter = yon_char_replace(target_str,"\n",",");
|
|
|
|
|
|
|
|
int sz;
|
|
|
|
|
|
|
|
config_str parsed = yon_char_parse(parameter,&sz,",");
|
|
|
|
|
|
|
|
config_str info = yon_config_load(yon_debug_output("%s\n",get_kernel_changelog_command(parsed[0])),&size);
|
|
|
|
|
|
|
|
if (size!=-1){
|
|
|
|
|
|
|
|
char *final_text = yon_char_parsed_to_string(info,size,"");
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->InfoLabel),final_text);
|
|
|
|
|
|
|
|
free(final_text);
|
|
|
|
|
|
|
|
yon_char_parsed_free(info,size);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->InfoLabel),PACKAGE_NOT_FOUND_LABEL);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
gtk_widget_show(window->window);
|
|
|
|
gtk_widget_show(window->window);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -246,9 +283,9 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InfoButton),"clicked",G_CALLBACK(on_info_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InfoButton),"clicked",G_CALLBACK(on_info_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->LogButton),"clicked",G_CALLBACK(on_changelog_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->LogButton),"clicked",G_CALLBACK(on_changelog_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_module_toggled),widgets);
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_module_toggled),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_package_toggled),widgets);
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_package_toggled),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_boot_toggled),widgets);
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_boot_toggled),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
GtkWidget *radio_group=NULL;
|
|
|
|
GtkWidget *radio_group=NULL;
|
|
|
|
int kernels_size;
|
|
|
|
int kernels_size;
|
|
|
|
@ -256,9 +293,12 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
for (int i=1;i<kernels_size;i++){
|
|
|
|
for (int i=1;i<kernels_size;i++){
|
|
|
|
GtkWidget *current = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets);
|
|
|
|
GtkWidget *current = yon_tab_row_new(GTK_LIST_BOX(widgets->KernelsPackageBox),kernels[i],widgets);
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(current));
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(current));
|
|
|
|
GtkWidget *radio = GTK_WIDGET(g_list_nth_data(list,5));
|
|
|
|
GList *list2 = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,5)));
|
|
|
|
|
|
|
|
GtkWidget *radio = GTK_WIDGET(g_list_nth_data(list2,0));
|
|
|
|
if (radio_group) gtk_radio_button_join_group(GTK_RADIO_BUTTON(radio),GTK_RADIO_BUTTON(radio_group));
|
|
|
|
if (radio_group) gtk_radio_button_join_group(GTK_RADIO_BUTTON(radio),GTK_RADIO_BUTTON(radio_group));
|
|
|
|
radio_group = radio;
|
|
|
|
radio_group = radio;
|
|
|
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
|
|
|
g_list_free(list2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|