X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Fcallbacks.c;h=ea3c385023788b2aad0c777a7c7b7b16a3cb5e79;hb=95544594524c5193c0f0bbdde453e6412456893f;hp=ae56ee67354108613cf5b8793c3b61414f48a2c6;hpb=9a366873e0ed6ecc7f23e2d3a959ecddd4f2f91d;p=lttv.git diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c index ae56ee67..ea3c3850 100644 --- a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c +++ b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c @@ -1613,7 +1613,7 @@ static void lttvwindow_add_trace(Tab *tab, LttvTrace *trace_v) void add_trace(GtkWidget * widget, gpointer user_data) { - LttvTraceset * traceset; + LttvTraceset * traceset = NULL; const char * path; char abs_path[PATH_MAX]; gint id; @@ -1632,10 +1632,26 @@ void add_trace(GtkWidget * widget, gpointer user_data) ptab = (LttvPluginTab *)g_object_get_data(G_OBJECT(page), "Tab_Plugin"); tab = ptab->tab; } + traceset = lttvwindow_get_traceset(tab); + if(traceset != NULL && lttv_traceset_number(traceset) > 0){ + 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, + "Loading multiple traces is not supported at the moment."); + gtk_dialog_run(GTK_DIALOG(dialogue)); + gtk_widget_destroy(dialogue); + return; + } + /* Create a new traceset*/ traceset = lttv_traceset_new(); /* File open dialog management */ - GtkWidget *extra_live_button; +#ifdef BABEL_CLEANUP + GtkWidget *extra_live_button; +#endif //babel_cleanup GtkFileChooser * file_chooser = GTK_FILE_CHOOSER( gtk_file_chooser_dialog_new ("Select a trace", @@ -1644,12 +1660,12 @@ void add_trace(GtkWidget * widget, gpointer user_data) GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL)); - +#ifdef BABEL_CLEANUP /* Button to indicate the opening of a live trace */ extra_live_button = gtk_check_button_new_with_mnemonic ("Trace is live (currently being writen)"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (extra_live_button), FALSE); gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (file_chooser), extra_live_button); - +#endif //babel_cleanup gtk_file_chooser_set_show_hidden (file_chooser, TRUE); if(remember_trace_dir[0] != '\0') gtk_file_chooser_set_filename(file_chooser, remember_trace_dir);