|
|
|
@ -320,10 +320,8 @@ void yon_update_page(main_window *widgets){
|
|
|
|
yon_packages_update();
|
|
|
|
yon_packages_update();
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
yon_page_init(widgets,page);
|
|
|
|
yon_page_init(widgets,page);
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelPacmanStatusButton,1);
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->db_lock_monitor),G_CALLBACK(yon_db_unlock_update),widgets);
|
|
|
|
gtk_widget_set_sensitive(widgets->PacmanSoftwareStatusButton,1);
|
|
|
|
on_status_update(NULL,widgets);
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelAddonPacmanStatusButton,1);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->AdditionalComponentsStatusButton,1);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void *yon_db_update(main_window *widgets){
|
|
|
|
void *yon_db_update(main_window *widgets){
|
|
|
|
@ -333,39 +331,36 @@ void *yon_db_update(main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_status_button_update(GtkWidget *, main_window *widgets){
|
|
|
|
void on_status_button_update(GtkWidget *, main_window *widgets){
|
|
|
|
gtk_widget_set_sensitive(widgets->KernelPacmanStatusButton,0);
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->db_lock_monitor),G_CALLBACK(yon_db_unlock_update),widgets);
|
|
|
|
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_t tid=0;
|
|
|
|
pthread_create(&tid,NULL,(void*(*)(void*))yon_db_update,widgets);
|
|
|
|
pthread_create(&tid,NULL,(void*(*)(void*))yon_db_update,widgets);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void yon_status_thread_update_inactive(main_window *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->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->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);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PacmanSoftwareStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->AdditionalComponentsStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->AdditionalComponentsStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PackagesStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PackagesStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelPacmanStatusLabel),UNACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelPacmanStatusLabel),UNACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PacmanSoftwareStatusLabel),UNACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PacmanSoftwareStatusLabel),UNACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelAddonPacmanStatusLabel),UNACCESSED_LABEL);
|
|
|
|
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->AdditionalComponentsStatusLabel),UNACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PackagesStatusLabel),UNACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PackagesStatusLabel),UNACCESSED_LABEL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void yon_status_thread_update_active(main_window *widgets){
|
|
|
|
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->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->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);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PacmanSoftwareStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->AdditionalComponentsStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->AdditionalComponentsStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PackagesStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PackagesStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelPacmanStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelPacmanStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PacmanSoftwareStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PacmanSoftwareStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelAddonPacmanStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->KernelAddonPacmanStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AdditionalComponentsStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AdditionalComponentsStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PackagesStatusLabel),ACCESSED_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->PackagesStatusLabel),ACCESSED_LABEL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void *yon_status_thread_update(main_window *widgets){
|
|
|
|
void *yon_status_thread_update(main_window *widgets){
|
|
|
|
if (system(yon_check_database_command)){
|
|
|
|
if (system(yon_check_database_command)){
|
|
|
|
@ -393,6 +388,24 @@ void yon_scroll_block_for_builder(GtkBuilder *builder){
|
|
|
|
g_slist_free(list);
|
|
|
|
g_slist_free(list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void yon_db_lock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets){
|
|
|
|
|
|
|
|
if (!access(pacman_lock_path,F_OK)){
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void yon_db_unlock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets){
|
|
|
|
|
|
|
|
if (access(pacman_lock_path,F_OK)){
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void yon_main_window_create(main_window *widgets){
|
|
|
|
void yon_main_window_create(main_window *widgets){
|
|
|
|
__attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8");
|
|
|
|
__attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8");
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
|
|
|
|
@ -723,6 +736,15 @@ void yon_main_window_create(main_window *widgets){
|
|
|
|
widgets->pacmanchosen = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL);
|
|
|
|
widgets->pacmanchosen = g_hash_table_new_full(g_str_hash,g_str_equal,free,NULL);
|
|
|
|
|
|
|
|
|
|
|
|
main_config.status_box = widgets->StatusBox;
|
|
|
|
main_config.status_box = widgets->StatusBox;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GError *err = NULL;
|
|
|
|
|
|
|
|
GFile *file_desc = g_file_new_for_path(pacman_lock_dir_path);
|
|
|
|
|
|
|
|
widgets->db_lock_monitor = g_file_monitor_directory(file_desc,G_FILE_MONITOR_NONE,NULL,&err);
|
|
|
|
|
|
|
|
if (err){
|
|
|
|
|
|
|
|
printf("%s\n",err->message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->db_lock_monitor),"changed",G_CALLBACK(yon_db_lock_update),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->db_lock_monitor),"changed",G_CALLBACK(yon_db_unlock_update),widgets);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets);
|
|
|
|
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
|
|
|
|
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
|
|
|
|
@ -745,11 +767,6 @@ void yon_main_window_create(main_window *widgets){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->KernelPacmanStatusButton),"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->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->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);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->KernelAddonPacmanStatusButton),"clicked",G_CALLBACK(on_status_update),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareStatusButton),"clicked",G_CALLBACK(on_status_update),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
|