add version to help and about
[lttv.git] / ltt / branches / poly / lttv / modules / gui / lttvwindow / lttvwindow / callbacks.c
index bb8932373df05c6c500563c3011a38cabcd3b0e6..98f58d60a7845ccdb7fb71a52abac55d3f2d7a44 100644 (file)
@@ -928,6 +928,8 @@ gboolean lttvwindow_process_pending_requests(Tab *tab)
   guint count;
   LttvTracesetContextPosition *end_position;
   
   guint count;
   LttvTracesetContextPosition *end_position;
   
+  if(lttvwindow_preempt_count > 0) return TRUE;
+  
   if(tab == NULL) {
     g_critical("Foreground processing : tab does not exist. Processing removed.");
     return FALSE;
   if(tab == NULL) {
     g_critical("Foreground processing : tab does not exist. Processing removed.");
     return FALSE;
@@ -2168,6 +2170,7 @@ void stop_processing(GtkWidget *widget, gpointer user_data)
                        g_slist_remove_link(tab->events_requests, remove_iter);
   }
   tab->events_request_pending = FALSE;
                        g_slist_remove_link(tab->events_requests, remove_iter);
   }
   tab->events_request_pending = FALSE;
+  tab->stop_foreground = TRUE;
   g_idle_remove_by_data(tab);
   g_assert(g_slist_length(tab->events_requests) == 0);
 }
   g_idle_remove_by_data(tab);
   g_assert(g_slist_length(tab->events_requests) == 0);
 }
@@ -3082,7 +3085,7 @@ on_about_activate                      (GtkMenuItem     *menuitem,
   gtk_window_set_title(about_window, "About Linux Trace Toolkit");
 
   gtk_window_set_resizable(about_window, FALSE);
   gtk_window_set_title(about_window, "About Linux Trace Toolkit");
 
   gtk_window_set_resizable(about_window, FALSE);
-  gtk_window_set_transient_for(GTK_WINDOW(window_widget), about_window);
+  gtk_window_set_transient_for(about_window, GTK_WINDOW(window_widget));
   gtk_window_set_destroy_with_parent(about_window, TRUE);
   gtk_window_set_modal(about_window, FALSE);
 
   gtk_window_set_destroy_with_parent(about_window, TRUE);
   gtk_window_set_modal(about_window, FALSE);
 
@@ -3101,7 +3104,7 @@ on_about_activate                      (GtkMenuItem     *menuitem,
   GtkWidget *label1 = gtk_label_new("");
   gtk_misc_set_padding(GTK_MISC(label1), 10, 20);
   gtk_label_set_markup(GTK_LABEL(label1), "\
   GtkWidget *label1 = gtk_label_new("");
   gtk_misc_set_padding(GTK_MISC(label1), 10, 20);
   gtk_label_set_markup(GTK_LABEL(label1), "\
-<big>Linux Trace Toolkit</big>");
+<big>Linux Trace Toolkit " VERSION "</big>");
   gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_CENTER);
   
   GtkWidget *label2 = gtk_label_new("");
   gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_CENTER);
   
   GtkWidget *label2 = gtk_label_new("");
@@ -3120,12 +3123,12 @@ Xang-Xiu Yang (new trace reading library and converter, lttv gui, \n\
                detailed event list and statistics view)\n\
 Tom Zanussi (RelayFS)\n\
 \n\
                detailed event list and statistics view)\n\
 Tom Zanussi (RelayFS)\n\
 \n\
-Strongly inspired from the original Linux Trace Toolkit Visualizer made by\n\
+Inspired from the original Linux Trace Toolkit Visualizer made by\n\
 Karim Yaghmour");
 
   GtkWidget *label3 = gtk_label_new("");
   gtk_label_set_markup(GTK_LABEL(label3), "\
 Karim Yaghmour");
 
   GtkWidget *label3 = gtk_label_new("");
   gtk_label_set_markup(GTK_LABEL(label3), "\
-Linux Trace Toolkit Viewer, Copyright (C) 2004\n\
+Linux Trace Toolkit Viewer, Copyright (C) 2004, 2005, 2006\n\
                                                 Michel Dagenais\n\
                                                 Mathieu Desnoyers\n\
                                                 Xang-Xiu Yang\n\
                                                 Michel Dagenais\n\
                                                 Mathieu Desnoyers\n\
                                                 Xang-Xiu Yang\n\
@@ -4771,6 +4774,8 @@ void init_tab(Tab *tab, MainWindow * mw, Tab *copy_tab,
   /* Start with empty events requests list */
   tab->events_requests = NULL;
   tab->events_request_pending = FALSE;
   /* Start with empty events requests list */
   tab->events_requests = NULL;
   tab->events_request_pending = FALSE;
+  tab->stop_foreground = FALSE;
+  
 
 
   g_signal_connect(G_OBJECT(tab->scrollbar), "value-changed",
 
 
   g_signal_connect(G_OBJECT(tab->scrollbar), "value-changed",
@@ -4847,9 +4852,9 @@ gboolean execute_events_requests(Tab *tab)
 }
 
 
 }
 
 
-void create_main_window_with_trace(const gchar *path)
+void create_main_window_with_trace_list(GSList *traces)
 {
 {
-  if(path == NULL) return;
+  GSList *iter = NULL;
 
   /* Create window */
   MainWindow *mw = construct_main_window(NULL);
 
   /* Create window */
   MainWindow *mw = construct_main_window(NULL);
@@ -4869,37 +4874,40 @@ void create_main_window_with_trace(const gchar *path)
     tab = ptab->tab;
   }
 
     tab = ptab->tab;
   }
 
-  /* Add trace */
-  gchar abs_path[PATH_MAX];
-  LttvTrace *trace_v;
-  LttTrace *trace;
-
-  get_absolute_pathname(path, abs_path);
-  trace_v = lttvwindowtraces_get_trace_by_name(abs_path);
-  if(trace_v == NULL) {
-    trace = ltt_trace_open(abs_path);
-    if(trace == NULL) {
-      g_warning("cannot open trace %s", abs_path);
-
-      GtkWidget *dialogue = 
-        gtk_message_dialog_new(
-          GTK_WINDOW(gtk_widget_get_toplevel(widget)),
-          GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
-          GTK_MESSAGE_ERROR,
-          GTK_BUTTONS_OK,
-          "Cannot open trace : maybe you should enter in the directory"
-          "to select it ?");
-      gtk_dialog_run(GTK_DIALOG(dialogue));
-      gtk_widget_destroy(dialogue);
+  for(iter=traces; iter!=NULL; iter=g_slist_next(iter)) {
+    gchar *path = (gchar*)iter->data;
+    /* Add trace */
+    gchar abs_path[PATH_MAX];
+    LttvTrace *trace_v;
+    LttTrace *trace;
+
+    get_absolute_pathname(path, abs_path);
+    trace_v = lttvwindowtraces_get_trace_by_name(abs_path);
+    if(trace_v == NULL) {
+      trace = ltt_trace_open(abs_path);
+      if(trace == NULL) {
+        g_warning("cannot open trace %s", abs_path);
+
+        GtkWidget *dialogue = 
+          gtk_message_dialog_new(
+            GTK_WINDOW(gtk_widget_get_toplevel(widget)),
+            GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
+            GTK_MESSAGE_ERROR,
+            GTK_BUTTONS_OK,
+            "Cannot open trace : maybe you should enter in the directory "
+            "to select it ?");
+        gtk_dialog_run(GTK_DIALOG(dialogue));
+        gtk_widget_destroy(dialogue);
+      } else {
+        trace_v = lttv_trace_new(trace);
+        lttvwindowtraces_add_trace(trace_v);
+        lttvwindow_add_trace(tab, trace_v);
+      }
     } else {
     } else {
-      trace_v = lttv_trace_new(trace);
-      lttvwindowtraces_add_trace(trace_v);
       lttvwindow_add_trace(tab, trace_v);
     }
       lttvwindow_add_trace(tab, trace_v);
     }
-  } else {
-    lttvwindow_add_trace(tab, trace_v);
   }
   }
-
+  
   LttvTraceset *traceset;
 
   traceset = tab->traceset_info->traceset;
   LttvTraceset *traceset;
 
   traceset = tab->traceset_info->traceset;
This page took 0.023955 seconds and 4 git commands to generate.