Fixed log scrolling with highlighting

pull/326/head
parent 526990df14
commit 7643ff70d9

@ -25,7 +25,7 @@ log_window *yon_log_window_new(){
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->ScrollWindow = yon_gtk_builder_get_widget(builder,"ScrollWindow"); window->ScrollWindow = yon_gtk_builder_get_widget(builder,"ScrollWindow");
window->HeadLabel = yon_gtk_builder_get_widget(builder,"headerTopic"); window->HeadLabel = yon_gtk_builder_get_widget(builder,"headerTopic");
window->LogLabel = yon_gtk_builder_get_widget(builder,"LogLabel"); window->LogTextView = yon_gtk_builder_get_widget(builder,"LogTextView");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->ScrollToEndCheck = yon_gtk_builder_get_widget(builder,"ScrollToEndCheck"); window->ScrollToEndCheck = yon_gtk_builder_get_widget(builder,"ScrollToEndCheck");
window->monitor = NULL; window->monitor = NULL;
@ -53,7 +53,12 @@ void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window *
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
if (size){ if (size){
char *final = yon_char_parsed_to_string(parsed,size,""); char *final = yon_char_parsed_to_string(parsed,size,"");
gtk_label_set_text(GTK_LABEL(window->LogLabel),final); GtkTextIter start_iter, end_iter;
gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),&start_iter);
gtk_text_buffer_get_end_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),&end_iter);
gtk_text_buffer_delete(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),&start_iter,&end_iter);
gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),final,strlen(final));
// gtk_label_set_text(GTK_LABEL(window->LogTextView),final);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){
if (!window->timer_id){ if (!window->timer_id){
window->timer_id = g_idle_add((GSourceFunc)yon_log_scroll,window); window->timer_id = g_idle_add((GSourceFunc)yon_log_scroll,window);

@ -905,7 +905,7 @@ typedef struct
GtkWidget *ScrollWindow; GtkWidget *ScrollWindow;
GtkWidget *StatusBox; GtkWidget *StatusBox;
GtkWidget *HeadLabel; GtkWidget *HeadLabel;
GtkWidget *LogLabel; GtkWidget *LogTextView;
GtkWidget *ScrollToEndCheck; GtkWidget *ScrollToEndCheck;
GFileMonitor *monitor; GFileMonitor *monitor;

@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkLabel" id="LogLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<object class="GtkWindow" id="MainWindow"> <object class="GtkWindow" id="MainWindow">
<property name="width-request">200</property> <property name="width-request">200</property>
<property name="height-request">400</property> <property name="height-request">400</property>
@ -66,12 +73,9 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkLabel" id="LogLabel"> <object class="GtkTextView" id="LogTextView">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">True</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object> </object>
</child> </child>
</object> </object>

Loading…
Cancel
Save