Install check buttons sensitivity while installation is active

pull/118/head
parent c2f59a255e
commit 224751f88f
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -21,6 +21,16 @@ void on_devices_info_clicked(GtkWidget *, driver_struct* driver){
gtk_widget_show(MainWindow); gtk_widget_show(MainWindow);
} }
void yon_install_buttons_set_sensitive(main_window *widgets,int state){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->DriversList));
for (GList *iter = list;iter;iter=iter->next){
driver_struct *driver = g_object_get_data(G_OBJECT(iter->data),"driver_struct");
gtk_widget_set_sensitive(driver->ModuleInstalledCheck,state);
gtk_widget_set_sensitive(driver->PackageInstalledCheck,state);
}
g_list_free(list);
}
void yon_driver_struct_update(main_window *widgets,driver_struct *driver){ void yon_driver_struct_update(main_window *widgets,driver_struct *driver){
driver->module_installed = yon_packages_check_installed(driver->module); driver->module_installed = yon_packages_check_installed(driver->module);
driver->package_installed = yon_packages_check_installed(driver->package); driver->package_installed = yon_packages_check_installed(driver->package);

@ -68,6 +68,7 @@ void on_install_activate(GtkWidget *self, main_window *widgets){
vte_terminal_set_input_enabled(VTE_TERMINAL(widgets->InstallTerminal),1); vte_terminal_set_input_enabled(VTE_TERMINAL(widgets->InstallTerminal),1);
vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1); vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1);
g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_install_check),driver); g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_install_check),driver);
yon_install_buttons_set_sensitive(widgets,0);
yon_terminal_integrated_start(widgets->InstallTerminal,command); yon_terminal_integrated_start(widgets->InstallTerminal,command);
// g_signal_connect(G_OBJECT(widgets->InstallTerminal),"contents-changed",G_CALLBACK(on_terminal_check_progress),widgets); // g_signal_connect(G_OBJECT(widgets->InstallTerminal),"contents-changed",G_CALLBACK(on_terminal_check_progress),widgets);
g_timeout_add(500,(GSourceFunc)on_terminal_check_progress,widgets); g_timeout_add(500,(GSourceFunc)on_terminal_check_progress,widgets);

@ -15,6 +15,7 @@ gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalMoreRevieler),active
gboolean on_command_execute_success(GtkWidget *self,gint status,main_window *widgets){ gboolean on_command_execute_success(GtkWidget *self,gint status,main_window *widgets){
yon_install_buttons_set_sensitive(widgets,1);
vte_terminal_set_input_enabled(VTE_TERMINAL(self),0); vte_terminal_set_input_enabled(VTE_TERMINAL(self),0);
g_mutex_lock(&main_config.progress_mutex); g_mutex_lock(&main_config.progress_mutex);
main_config.progress_active=0; main_config.progress_active=0;
@ -31,14 +32,13 @@ gboolean on_command_execute_success(GtkWidget *self,gint status,main_window *wid
return G_SOURCE_REMOVE; return G_SOURCE_REMOVE;
} }
// gboolean on_terminal_check_progress(GtkWidget *,main_window *widgets){
gboolean on_terminal_check_progress(main_window *widgets){ gboolean on_terminal_check_progress(main_window *widgets){
gtk_progress_bar_pulse(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel));
g_mutex_lock(&main_config.progress_mutex); g_mutex_lock(&main_config.progress_mutex);
if (!main_config.progress_active){ if (!main_config.progress_active){
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
return G_SOURCE_REMOVE; return G_SOURCE_REMOVE;
} }
gtk_progress_bar_pulse(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel));
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
return G_SOURCE_CONTINUE; return G_SOURCE_CONTINUE;
} }

@ -427,5 +427,6 @@ void on_driver_module_info(GtkWidget *, main_window *widgets);
void on_devices_button_clicked(GtkWidget *, main_window *widgets); void on_devices_button_clicked(GtkWidget *, main_window *widgets);
int check_rmb_menu(void *data); int check_rmb_menu(void *data);
void on_install_check(GtkWidget *self,gint status,driver_struct *driver); void on_install_check(GtkWidget *self,gint status,driver_struct *driver);
void yon_install_buttons_set_sensitive(main_window *widgets,int state);
#endif #endif
Loading…
Cancel
Save