#include "ubinstall-gtk.h" // void on_log_closed(GtkWidget *, dictionary *dict){ // main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); // log_window *window = yon_dictionary_get_data(dict->first->next,log_window*); // // gtk_widget_set_sensitive(widgets->ReadFullLogButton,1); // gtk_widget_set_sensitive(widgets->ReadShortLogButton,1); // // free(window->command); // window->Window=NULL; // } // log_window *yon_log_window_new(){ // log_window *window = malloc(sizeof(log_window)); // GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_log_view); // window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); // window->ScrollWindow = yon_gtk_builder_get_widget(builder,"ScrollWindow"); // window->HeadLabel = yon_gtk_builder_get_widget(builder,"headerTopic"); // window->LogLabel = yon_gtk_builder_get_widget(builder,"LogLabel"); // window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); // window->ScrollToEndCheck = yon_gtk_builder_get_widget(builder,"ScrollToEndCheck"); // gtk_widget_show(window->Window); // return window; // } // gboolean yon_read_log(void *data){ // log_window *window = (log_window*)data; // if (window->Window){ // int size; // g_mutex_lock(&main_config.progress_mutex); // config_str parsed = yon_file_open(window->command,&size); // g_mutex_unlock(&main_config.progress_mutex); // if (size){ // char *final = yon_char_parsed_to_string(parsed,size,""); // gtk_label_set_text(GTK_LABEL(window->LogLabel),final); // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ // gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)),gtk_adjustment_get_upper(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)))); // } // free(final); // yon_char_parsed_free(parsed,size); // } // g_mutex_lock(&main_config.install_mutex); // if (!main_config.install_complete){ // g_mutex_unlock(&main_config.install_mutex); // return 1; // } else { // g_mutex_unlock(&main_config.install_mutex); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck),0); // gtk_widget_set_sensitive(window->ScrollToEndCheck,0); // } // } // return 0; // } // void on_process_log_view(GtkWidget *,main_window *widgets){ // log_window *window = yon_log_window_new(); // dictionary *dict=NULL; // yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); // yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); // g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_log_closed),dict); // gtk_widget_set_sensitive(widgets->ReadFullLogButton,0); // gtk_widget_set_sensitive(widgets->ReadShortLogButton,0); // yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,INSTALL_LOG_LABEL,icon_path,"log_viewer"); // window->command = yon_char_new(short_log_path); // gdk_threads_add_timeout(500,(GSourceFunc)yon_read_log,window); // } // void on_summary_log_view(GtkWidget *,main_window *widgets){ // log_window *window = yon_log_window_new(); // dictionary *dict=NULL; // yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); // yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); // g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_log_closed),dict); // gtk_widget_set_sensitive(widgets->ReadFullLogButton,0); // gtk_widget_set_sensitive(widgets->ReadShortLogButton,0); // yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,PROGRESS_LOG_LABEL,icon_path,"log_viewer"); // window->command = yon_char_new(full_log_path); // gdk_threads_add_timeout(500,(GSourceFunc)yon_read_log,window); // // } // gboolean yon_installation_progress_update(void *data) { // main_window *widgets = (main_window*)data; // int size; // // g_mutex_lock(&main_config.progress_mutex); // config_str text = yon_file_open(progress_path, &size); // g_mutex_unlock(&main_config.progress_mutex); // // if (size) { // if (!yon_char_is_empty(text[size-1]) && text[size-1][0] == '(') { // char *current_copy = yon_char_new(text[size-1]); // char *percentage = yon_char_divide_search(current_copy, ")", -1); // // if (!strstr(percentage, "#pb")) { // double fraction = atof(percentage+1); // gtk_label_set_text(GTK_LABEL(widgets->InstallationLabel), current_copy); // gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress), fraction / 100); // gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->PackageInstallationProgress), 0); // gtk_label_set_text(GTK_LABEL(widgets->PackageInstallationLabel), ""); // } else { // gtk_widget_show(gtk_widget_get_parent(widgets->PackageInstallationProgress)); // // config_str parsed = yon_char_parse(current_copy, &size, " "); // if (size >= 3) { // double fraction = atof(parsed[2]) / 100; // gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->PackageInstallationProgress), fraction); // gtk_label_set_text(GTK_LABEL(widgets->PackageInstallationLabel), yon_char_parsed_to_string(parsed, size, " ")); // } // } // // } // yon_char_parsed_free(text, size); // } // // g_mutex_lock(&main_config.install_mutex); // if (main_config.install_thread) { // g_mutex_unlock(&main_config.install_mutex); // return 1; // } else { // g_mutex_unlock(&main_config.install_mutex); // gtk_label_set_text(GTK_LABEL(widgets->PackageInstallationLabel), ""); // return 0; // } // }