|
|
|
@ -36,7 +36,7 @@ void on_terminal_destroy(GtkWidget *, main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gboolean on_command_execute_success(GtkWidget *,gint status,main_window *){
|
|
|
|
gboolean on_command_execute_success(GtkWidget *self,gint status,main_window *){
|
|
|
|
|
|
|
|
|
|
|
|
g_mutex_lock(&main_config.progress_mutex);
|
|
|
|
g_mutex_lock(&main_config.progress_mutex);
|
|
|
|
main_config.progress_active=0;
|
|
|
|
main_config.progress_active=0;
|
|
|
|
@ -47,6 +47,7 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *){
|
|
|
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
on_terminal_done(self,0,NULL);
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -73,14 +74,14 @@ gboolean on_terminal_check_progress(main_window *widgets){
|
|
|
|
percentage = atof(last_match);
|
|
|
|
percentage = atof(last_match);
|
|
|
|
yon_debug_output("%s\n", text);
|
|
|
|
yon_debug_output("%s\n", text);
|
|
|
|
yon_debug_output("%s\n", last_match);
|
|
|
|
yon_debug_output("%s\n", last_match);
|
|
|
|
|
|
|
|
g_free(text);
|
|
|
|
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel), percentage / 100);
|
|
|
|
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel), percentage / 100);
|
|
|
|
g_free(last_match);
|
|
|
|
g_free(last_match);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
g_match_info_unref(match);
|
|
|
|
g_match_info_unref(match);
|
|
|
|
|
|
|
|
|
|
|
|
g_mutex_lock(&main_config.progress_mutex);
|
|
|
|
g_mutex_lock(&main_config.progress_mutex);
|
|
|
|
if (percentage==100){
|
|
|
|
if (percentage==100||!main_config.progress_active){
|
|
|
|
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0);
|
|
|
|
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0);
|
|
|
|
g_mutex_unlock(&main_config.progress_mutex);
|
|
|
|
g_mutex_unlock(&main_config.progress_mutex);
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
@ -115,13 +116,11 @@ void yon_terminal_start(main_window *widgets, char *usr_command){
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->terminal),"opacited");
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->terminal),"opacited");
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->terminal),"workingbg");
|
|
|
|
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->terminal),"workingbg");
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->TerminalOverlay),widgets->TerminalRevealer);
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->TerminalOverlay),widgets->TerminalRevealer);
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->terminal), "child-exited", G_CALLBACK(on_terminal_done), widgets);
|
|
|
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->terminal), "contents-changed", G_CALLBACK(on_terminal_check_progress), widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TerminalMoreButton), "clicked", G_CALLBACK(on_terminal_more), widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->TerminalMoreButton), "clicked", G_CALLBACK(on_terminal_more), widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->terminal), "destroy", G_CALLBACK(on_terminal_destroy), widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->terminal), "destroy", G_CALLBACK(on_terminal_destroy), widgets);
|
|
|
|
gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),1);
|
|
|
|
gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),1);
|
|
|
|
vte_terminal_reset(VTE_TERMINAL(widgets->terminal),0,1);
|
|
|
|
vte_terminal_reset(VTE_TERMINAL(widgets->terminal),0,1);
|
|
|
|
yon_terminal_integrated_start_shell(widgets->terminal,usr_command,on_terminal_done,widgets);
|
|
|
|
yon_terminal_integrated_start(widgets->terminal,usr_command);
|
|
|
|
vte_terminal_set_scrollback_lines(VTE_TERMINAL(widgets->terminal), 100);
|
|
|
|
vte_terminal_set_scrollback_lines(VTE_TERMINAL(widgets->terminal), 100);
|
|
|
|
vte_terminal_set_scroll_on_output(VTE_TERMINAL(widgets->terminal), TRUE);
|
|
|
|
vte_terminal_set_scroll_on_output(VTE_TERMINAL(widgets->terminal), TRUE);
|
|
|
|
vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(widgets->terminal), TRUE);
|
|
|
|
vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(widgets->terminal), TRUE);
|
|
|
|
@ -129,7 +128,7 @@ void yon_terminal_start(main_window *widgets, char *usr_command){
|
|
|
|
g_mutex_lock(&main_config.progress_mutex);
|
|
|
|
g_mutex_lock(&main_config.progress_mutex);
|
|
|
|
main_config.progress_active=1;
|
|
|
|
main_config.progress_active=1;
|
|
|
|
g_mutex_unlock(&main_config.progress_mutex);
|
|
|
|
g_mutex_unlock(&main_config.progress_mutex);
|
|
|
|
g_idle_add((GSourceFunc)on_terminal_check_progress,widgets);
|
|
|
|
// g_idle_add((GSourceFunc)on_terminal_check_progress,widgets);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_driver_pack_selection_change(GtkWidget *, main_window *widgets){
|
|
|
|
void on_driver_pack_selection_change(GtkWidget *, main_window *widgets){
|
|
|
|
@ -535,6 +534,7 @@ void yon_interface_update(){
|
|
|
|
char *gapfix1 = config(GAPFIX1_parameter);
|
|
|
|
char *gapfix1 = config(GAPFIX1_parameter);
|
|
|
|
char *gapfix2 = config(GAPFIX2_parameter);
|
|
|
|
char *gapfix2 = config(GAPFIX2_parameter);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(main_config.widgets->FrameGapCombo),G_CALLBACK(on_gapfix_changed),main_config.widgets);
|
|
|
|
if (!yon_char_is_empty(gapfix1)){
|
|
|
|
if (!yon_char_is_empty(gapfix1)){
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FrameGapCombo),2);
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FrameGapCombo),2);
|
|
|
|
|
|
|
|
|
|
|
|
@ -544,6 +544,7 @@ void yon_interface_update(){
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FrameGapCombo),0);
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FrameGapCombo),0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(main_config.widgets->FrameGapCombo),G_CALLBACK(on_gapfix_changed),main_config.widgets);
|
|
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(autodrivers)&&!strcmp(autodrivers,"yes"))
|
|
|
|
if (!yon_char_is_empty(autodrivers)&&!strcmp(autodrivers,"yes"))
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->AutoDriverCombo),2);
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->AutoDriverCombo),2);
|
|
|
|
@ -1013,7 +1014,7 @@ gboolean yon_proprietary_clear(main_window *widgets){
|
|
|
|
gboolean yon_proprietary_append(struct proprietary_struct *target){
|
|
|
|
gboolean yon_proprietary_append(struct proprietary_struct *target){
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
gtk_list_store_append(main_config.list,&iter);
|
|
|
|
gtk_list_store_append(main_config.list,&iter);
|
|
|
|
gtk_list_store_set(main_config.list,&iter,0,target->module_status,1,target->package_status,2,target->drivers[0],3,target->drivers[3],4,_(target->drivers[4]),5,_(target->drivers[5]),7,target->drivers[1],8,target->drivers[2],9,!yon_char_is_empty(target->drivers[1]),10,!yon_char_is_empty(target->drivers[2]),-1);
|
|
|
|
gtk_list_store_set(main_config.list,&iter,0,target->module_status,1,target->package_status,2,target->drivers[0],3,target->drivers[3],4,_(target->drivers[4]),5,_(target->drivers[5]),7,target->drivers[1],8,target->drivers[2],9,!yon_char_is_empty(target->drivers[1])&&!system(yon_get_is_exist_command(target->drivers[1])),10,!yon_char_is_empty(target->drivers[2])&&!system(yon_get_is_exist_command(target->drivers[2])),-1);
|
|
|
|
free(target);
|
|
|
|
free(target);
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1191,8 +1192,8 @@ void yon_adapter_window_setup(main_window *widgets){
|
|
|
|
yon_char_remove_last_symbol(loaded[i],'\n');
|
|
|
|
yon_char_remove_last_symbol(loaded[i],'\n');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
int pos = yon_char_parsed_check_exist(loaded,loaded_size,(char*)driver_use);
|
|
|
|
int pos = yon_char_parsed_check_exist(loaded,loaded_size,(char*)driver_use);
|
|
|
|
if (pos>-1){
|
|
|
|
if (pos!=-1){
|
|
|
|
driver_all=yon_char_new(loaded[pos+1]);
|
|
|
|
driver_all=yon_char_new(loaded[pos]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_char_parsed_free(loaded,loaded_size);
|
|
|
|
yon_char_parsed_free(loaded,loaded_size);
|
|
|
|
char *final_text = yon_char_unite("<span size=\"12pt\"><span weight='bold' color='#1a5fb4'>",DESCRIPTION_LABEL,":</span> ",_(desc),
|
|
|
|
char *final_text = yon_char_unite("<span size=\"12pt\"><span weight='bold' color='#1a5fb4'>",DESCRIPTION_LABEL,":</span> ",_(desc),
|
|
|
|
|