X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fmain%2Fsrc%2Fcallbacks.c;h=76890d1575941454677c6ba1cbb2d3a2b6ddfcd6;hb=0c56e138e63986d8a8c0d7fc3e2c7230a020289e;hp=08a58516c2eb22bd47019b7e2596e22e3dbf52c4;hpb=08b1c66e3a5ad9588d08f9477af98c0cda4f070c;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/main/src/callbacks.c b/ltt/branches/poly/lttv/modules/gui/main/src/callbacks.c index 08a58516..76890d15 100644 --- a/ltt/branches/poly/lttv/modules/gui/main/src/callbacks.c +++ b/ltt/branches/poly/lttv/modules/gui/main/src/callbacks.c @@ -26,14 +26,14 @@ #include "interface.h" #include "support.h" #include -#include -#include -#include -#include +#include +#include +#include +#include #include -#include +#include #include -#include +#include #include #include @@ -48,6 +48,11 @@ extern GSList * g_main_window_list; static int g_win_count = 0; +// MD : keep old directory +static char remember_plugins_dir[PATH_LENGTH] = ""; +static char remember_trace_dir[PATH_LENGTH] = ""; + + MainWindow * get_window_data_struct(GtkWidget * widget); char * get_unload_module(char ** loaded_module_name, int nb_module); char * get_remove_trace(char ** all_trace_name, int nb_trace); @@ -481,12 +486,15 @@ void add_trace(GtkWidget * widget, gpointer user_data) MainWindow * mw_data = get_window_data_struct(widget); GtkDirSelection * file_selector = (GtkDirSelection *)gtk_dir_selection_new("Select a trace"); gtk_dir_selection_hide_fileop_buttons(file_selector); + if(remember_trace_dir[0] != '\0') + gtk_dir_selection_set_filename(file_selector, remember_trace_dir); id = gtk_dialog_run(GTK_DIALOG(file_selector)); switch(id){ case GTK_RESPONSE_ACCEPT: case GTK_RESPONSE_OK: dir = gtk_dir_selection_get_dir (file_selector); + strncpy(remember_trace_dir, dir, PATH_LENGTH); if(!dir || strlen(dir) ==0){ gtk_widget_destroy((GtkWidget*)file_selector); break; @@ -1026,6 +1034,8 @@ on_load_module_activate (GtkMenuItem *menuitem, char str[PATH_LENGTH], *str1; MainWindow * mw_data = get_window_data_struct((GtkWidget*)menuitem); GtkFileSelection * file_selector = (GtkFileSelection *)gtk_file_selection_new("Select a module"); + if(remember_plugins_dir[0] != '\0') + gtk_file_selection_set_filename(file_selector, remember_plugins_dir); gtk_file_selection_hide_fileop_buttons(file_selector); str[0] = '\0'; @@ -1034,7 +1044,8 @@ on_load_module_activate (GtkMenuItem *menuitem, case GTK_RESPONSE_ACCEPT: case GTK_RESPONSE_OK: dir = gtk_file_selection_get_selections (file_selector); - sprintf(str,dir[0]); + strncpy(str,dir[0],PATH_LENGTH); + strncpy(remember_plugins_dir,dir[0],PATH_LENGTH); str1 = strrchr(str,'/'); if(str1)str1++; else{ @@ -1109,12 +1120,16 @@ on_add_module_search_path_activate (GtkMenuItem *menuitem, gint id; MainWindow * mw_data = get_window_data_struct((GtkWidget*)menuitem); + if(remember_plugins_dir[0] != '\0') + gtk_dir_selection_set_filename(file_selector, remember_plugins_dir); id = gtk_dialog_run(GTK_DIALOG(file_selector)); switch(id){ case GTK_RESPONSE_ACCEPT: case GTK_RESPONSE_OK: dir = gtk_dir_selection_get_dir (file_selector); + strncpy(remember_plugins_dir,dir,PATH_LENGTH); + strncat(remember_plugins_dir,"/",PATH_LENGTH); lttv_library_path_add(dir); case GTK_RESPONSE_REJECT: case GTK_RESPONSE_CANCEL: