|
|
|
|
@ -315,28 +315,34 @@ void yon_licence_load(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// void on_database_update(void *,main_window *widgets){
|
|
|
|
|
// // vte_revealer_struct *revealer = yon_vte_revealer_new();
|
|
|
|
|
// yon_terminal_window_launch(GTK_WINDOW(widgets->MainWindow),"pacman -Sy",SUCCESS_LABEL,FAIL_LABEL);
|
|
|
|
|
// yon_terminal_integrated_start_shell(widgets->InstallTerminal,yon_debug_output("%s\n",pacman_update_command),NULL,NULL);
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_db_update_done),widgets);
|
|
|
|
|
// gtk_button_clicked(GTK_BUTTON(widgets->MoreButton));
|
|
|
|
|
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->MenusTab),1);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
void on_status_update(GtkWidget *,main_window *widgets){
|
|
|
|
|
// on_database_update(NULL,widgets);
|
|
|
|
|
yon_window *window = yon_window_new();
|
|
|
|
|
GtkWidget *terminal = vte_terminal_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),DB_UPDATE_LABEL,icon_path,NULL);
|
|
|
|
|
gtk_widget_show(terminal);
|
|
|
|
|
gtk_box_pack_start(GTK_BOX(window->MainBox),terminal,1,1,0);
|
|
|
|
|
yon_terminal_integrated_start_shell(terminal,"pacman -Sy",NULL,NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
// yon_terminal_window_launch(GTK_WINDOW(widgets->MainWindow),"pacman -Sy",SUCCESS_LABEL,FAIL_LABEL);
|
|
|
|
|
void yon_update_page(main_window *widgets){
|
|
|
|
|
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
|
|
|
|
|
yon_packages_update();
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
yon_page_init(widgets,page);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelPacmanStatusButton,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->PacmanSoftwareStatusButton,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelAddonPacmanStatusButton,1);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->AdditionalComponentsStatusButton,1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (system(yon_check_database_command)){
|
|
|
|
|
void *yon_db_update(main_window *widgets){
|
|
|
|
|
yon_launch("pacsync --updated");
|
|
|
|
|
g_idle_add_once((GSourceOnceFunc)yon_update_page,widgets);
|
|
|
|
|
pthread_exit(NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_status_button_update(GtkWidget *, main_window *widgets){
|
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelPacmanStatusButton,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->PacmanSoftwareStatusButton,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelAddonPacmanStatusButton,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->AdditionalComponentsStatusButton,0);
|
|
|
|
|
pthread_t tid=0;
|
|
|
|
|
pthread_create(&tid,NULL,(void*(*)(void*))yon_db_update,widgets);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_status_thread_update_inactive(main_window *widgets){
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelPacmanStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelAddonPacmanStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PacmanSoftwareStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
@ -347,7 +353,9 @@ void on_status_update(GtkWidget *,main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelAddonPacmanStatusLabel),UNACCESSED_LABEL);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AdditionalComponentsStatusLabel),UNACCESSED_LABEL);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PackagesStatusLabel),UNACCESSED_LABEL);
|
|
|
|
|
} else {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_status_thread_update_active(main_window *widgets){
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelPacmanStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelAddonPacmanStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PacmanSoftwareStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
@ -359,9 +367,18 @@ void on_status_update(GtkWidget *,main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AdditionalComponentsStatusLabel),ACCESSED_LABEL);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PackagesStatusLabel),ACCESSED_LABEL);
|
|
|
|
|
}
|
|
|
|
|
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
|
|
|
|
|
page = yon_page_get_next(widgets,page);
|
|
|
|
|
yon_page_init(widgets,page);
|
|
|
|
|
void *yon_status_thread_update(main_window *widgets){
|
|
|
|
|
if (system(yon_check_database_command)){
|
|
|
|
|
g_idle_add_once((GSourceOnceFunc)yon_status_thread_update_inactive,widgets);
|
|
|
|
|
} else {
|
|
|
|
|
g_idle_add_once((GSourceOnceFunc)yon_status_thread_update_active,widgets);
|
|
|
|
|
}
|
|
|
|
|
pthread_exit(NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_status_update(GtkWidget *,main_window *widgets){
|
|
|
|
|
pthread_t tid=0;
|
|
|
|
|
pthread_create(&tid,NULL,(void*(*)(void*))yon_status_thread_update,widgets);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -723,6 +740,11 @@ void yon_main_window_create(main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->LoadLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->LoadExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->PackagesStatusButton),"clicked",G_CALLBACK(on_status_button_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AdditionalComponentsStatusButton),"clicked",G_CALLBACK(on_status_button_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->KernelPacmanStatusButton),"clicked",G_CALLBACK(on_status_button_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->KernelAddonPacmanStatusButton),"clicked",G_CALLBACK(on_status_button_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareStatusButton),"clicked",G_CALLBACK(on_status_button_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->PackagesStatusButton),"clicked",G_CALLBACK(on_status_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AdditionalComponentsStatusButton),"clicked",G_CALLBACK(on_status_update),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->KernelPacmanStatusButton),"clicked",G_CALLBACK(on_status_update),widgets);
|
|
|
|
|
|