|
|
|
|
@ -143,6 +143,7 @@ void on_pacman_db_unlock(void){
|
|
|
|
|
GtkWidget *terminal_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
|
|
|
|
|
GtkWidget *scroll = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL,gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal)));
|
|
|
|
|
|
|
|
|
|
gtk_widget_set_size_request(window,800,500);
|
|
|
|
|
gtk_window_set_titlebar(GTK_WINDOW(window),header);
|
|
|
|
|
gtk_container_add(GTK_CONTAINER(window),box);
|
|
|
|
|
gtk_box_pack_start(GTK_BOX(box),status_box,0,0,0);
|
|
|
|
|
@ -198,12 +199,7 @@ char *yon_package_dependent_get(char *target){
|
|
|
|
|
config_str recurs = NULL;
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
yon_char_remove_last_symbol(parsed[i],'\n');
|
|
|
|
|
if (strcmp(parsed[i],target)){
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(recurs,&recurs_size,yon_package_dependent_get(parsed[i]));
|
|
|
|
|
} else {
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(recurs,&recurs_size,parsed[i]);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(recurs,&recurs_size,parsed[i]);
|
|
|
|
|
}
|
|
|
|
|
if (recurs_size){
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
@ -535,6 +531,7 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets
|
|
|
|
|
main_config.action=ACTION_TERMINAL_EXECUTE_SUCCESS;
|
|
|
|
|
} else {
|
|
|
|
|
main_config.action=ACTION_TERMINAL_EXECUTE_FAIL;
|
|
|
|
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(widgets->UpdateButton,1);
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
@ -561,23 +558,10 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),MORE_LABEL);
|
|
|
|
|
|
|
|
|
|
int pos = gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned));
|
|
|
|
|
yon_window_config_add_instant_parameter("paned_pos","settings",&pos,YON_TYPE_INT);
|
|
|
|
|
|
|
|
|
|
GValue val = G_VALUE_INIT;
|
|
|
|
|
g_object_get_property(G_OBJECT(widgets->TerminalPaned),"max-position",&val);
|
|
|
|
|
gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),g_value_get_int(&val));
|
|
|
|
|
g_value_unset(&val);
|
|
|
|
|
|
|
|
|
|
g_object_ref(widgets->MainNotebook);
|
|
|
|
|
gtk_container_remove(GTK_CONTAINER(widgets->TerminalPaned),widgets->MainNotebook);
|
|
|
|
|
gtk_box_pack_start(GTK_BOX(gtk_widget_get_parent(widgets->TerminalPaned)),widgets->MainNotebook,1,1,0);
|
|
|
|
|
|
|
|
|
|
gtk_box_reorder_child(GTK_BOX(gtk_widget_get_parent(widgets->MainNotebook)),widgets->MainNotebook,0);
|
|
|
|
|
gtk_widget_hide(widgets->TerminalPaned);
|
|
|
|
|
if (!status)
|
|
|
|
|
gtk_button_clicked(GTK_BUTTON(widgets->MoreButton));
|
|
|
|
|
}
|
|
|
|
|
yon_packages_update();
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -657,7 +641,7 @@ void *yon_command_execute_async(char *command,main_window *widgets){
|
|
|
|
|
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
on_terminal_revealer_open(NULL,widgets);
|
|
|
|
|
gtk_button_clicked(GTK_BUTTON(widgets->MoreButton));
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -830,6 +814,7 @@ void on_module_install_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*);
|
|
|
|
|
char *action_text = NULL;
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_module_install_accept),dict);
|
|
|
|
|
|
|
|
|
|
if (self == tab->update_module_button){
|
|
|
|
|
@ -891,6 +876,7 @@ void on_package_install_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*);
|
|
|
|
|
char *action_text = NULL;
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_package_install_accept),dict);
|
|
|
|
|
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(gtk_tree_view_get_column(GTK_TREE_VIEW(window->DependencesTree),1)),PACKAGE_TAB_LABEL);
|
|
|
|
|
if (self == tab->update_package_button){
|
|
|
|
|
@ -994,6 +980,7 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
}
|
|
|
|
|
char *action_text = NULL;
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
|
|
|
|
|
if (dict->first->next->next){
|
|
|
|
|
dict=dict->first;
|
|
|
|
|
free(dict->first->next->next);
|
|
|
|
|
@ -1031,7 +1018,7 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
free(final);
|
|
|
|
|
}
|
|
|
|
|
for (int i=0;i<tab->module_requirements_size;i++){
|
|
|
|
|
if (!system(get_package_is_installed_command(tab->module_requirements[i]))){
|
|
|
|
|
if (yon_packages_check_installed(tab->module_requirements[i])){
|
|
|
|
|
for (int j=1;j<size;j++){
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(additions[j],&cur_size,";");
|
|
|
|
|
@ -1086,6 +1073,7 @@ void on_package_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dialog_window *window = yon_dialog_window_new();
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
|
|
|
|
|
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(gtk_tree_view_get_column(GTK_TREE_VIEW(window->DependencesTree),1)),PACKAGE_TAB_LABEL);
|
|
|
|
|
if (dict->first->next->next){
|
|
|
|
|
dict=dict->first;
|
|
|
|
|
@ -1117,7 +1105,7 @@ void on_package_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
GtkTreeIter itar;
|
|
|
|
|
char *target_depends = yon_package_dependent_get(tab->package);
|
|
|
|
|
if (target_depends&&strcmp(target_depends,tab->package)){
|
|
|
|
|
free(yon_char_divide_search(target_depends," ",-1));
|
|
|
|
|
// free(yon_char_divide_search(target_depends," ",-1));
|
|
|
|
|
char *final = yon_char_replace(target_depends," ","\n");
|
|
|
|
|
gtk_list_store_append(window->liststore1,&itar);
|
|
|
|
|
gtk_list_store_set(window->liststore1,&itar,0,1,1,final,-1);
|
|
|
|
|
@ -1125,13 +1113,14 @@ void on_package_remove_clicked(GtkWidget *self,dictionary *dict){
|
|
|
|
|
}
|
|
|
|
|
config_str additions = yon_resource_open_file(kernels_addon_path,&size);
|
|
|
|
|
for (int i=0;i<tab->module_requirements_size;i++){
|
|
|
|
|
if (!system(get_package_is_installed_command(tab->package_requirements[i]))){
|
|
|
|
|
if (yon_packages_check_installed(tab->module_requirements[i])){
|
|
|
|
|
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->module_requirements[i])){
|
|
|
|
|
char *target = parsed[2];
|
|
|
|
|
char *depends = yon_package_dependent_get(target);
|
|
|
|
|
if (yon_char_is_empty(depends)) continue;
|
|
|
|
|
if (strcmp(depends,target)){
|
|
|
|
|
gtk_list_store_append(window->liststore1,&itar);
|
|
|
|
|
gtk_list_store_set(window->liststore1,&itar,0,1,1,depends,2, parsed[3],-1);
|
|
|
|
|
@ -1388,6 +1377,7 @@ void config_init(){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_update_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
yon_packages_update();
|
|
|
|
|
if (self)
|
|
|
|
|
main_config.action=ACTION_LOAD;
|
|
|
|
|
int lock=0;
|
|
|
|
|
@ -1540,8 +1530,6 @@ void on_terminal_revealer_open(GtkWidget *, main_window *widgets){
|
|
|
|
|
gtk_widget_show(widgets->TerminalPaned);
|
|
|
|
|
gtk_widget_show(widgets->MainNotebook);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
case 1: { //closes
|
|
|
|
|
gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),MORE_LABEL);
|
|
|
|
|
@ -1565,10 +1553,9 @@ void on_terminal_revealer_open(GtkWidget *, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_paned_position_changed(GtkWidget *, GdkEvent*,main_window *widgets){
|
|
|
|
|
int size = (int)(gtk_widget_get_allocated_height(widgets->InterfaceBox)*0.8);
|
|
|
|
|
if (size<20) size=20;
|
|
|
|
|
if (gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned))>size)
|
|
|
|
|
gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),size);
|
|
|
|
|
int size = (int)(gtk_widget_get_allocated_height(widgets->InterfaceBox)*0.7);
|
|
|
|
|
if (gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned))>size-40)
|
|
|
|
|
gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),size-40);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**yon_main_window_complete(main_window *widgets)
|
|
|
|
|
@ -1615,6 +1602,7 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->ButtonsSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"ButtonsSizeGroup"));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TerminalPaned),"notify::position",G_CALLBACK(on_paned_position_changed),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TerminalPaned),"notify::max-position",G_CALLBACK(on_paned_position_changed),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UnlockPacmanButton),"clicked",G_CALLBACK(on_pacman_db_unlock),NULL);
|
|
|
|
|
@ -1652,15 +1640,16 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal));
|
|
|
|
|
vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20);
|
|
|
|
|
yon_gtk_widget_set_scroll_window_for_scroll(widgets->InstallTerminal,GTK_SCROLLBAR(widgets->TerminalScroll));
|
|
|
|
|
|
|
|
|
|
gtk_paned_add2(GTK_PANED(widgets->TerminalPaned),widgets->TerminalRevealer);
|
|
|
|
|
|
|
|
|
|
on_update_clicked(NULL,widgets);
|
|
|
|
|
yon_save_window_set_postsave_function(on_save_done,widgets);
|
|
|
|
|
|
|
|
|
|
gtk_button_clicked(GTK_BUTTON(widgets->MoreButton));
|
|
|
|
|
// on_terminal_revealer_open(NULL,widgets);
|
|
|
|
|
yon_terminal_integrated_start(widgets->InstallTerminal,pacman_update_command);
|
|
|
|
|
on_terminal_revealer_open(NULL,widgets);
|
|
|
|
|
yon_gtk_widget_set_scroll_window_for_scroll(gtk_widget_get_parent(widgets->InstallTerminal),GTK_SCROLLBAR(widgets->TerminalScroll));
|
|
|
|
|
}
|
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
|
}
|
|
|
|
|
|