[ltt-dev] [PATCH] Use the prettier GtkFileChooser dialog instead of the GtkFileSelector for the Add Trace menu and toolbar button action.
Mathieu Desnoyers
compudj at krystal.dyndns.org
Wed Nov 17 15:40:47 EST 2010
Merged and pushed, thanks !
Mathieu
* Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
> Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
> ---
> lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c | 34 +++++++++++---------
> 1 files changed, 19 insertions(+), 15 deletions(-)
>
> diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c
> index d58c313..1229688 100644
> --- a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c
> +++ b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c
> @@ -1845,25 +1845,29 @@ void add_trace(GtkWidget * widget, gpointer user_data)
> tab = ptab->tab;
> }
>
> - //GtkDirSelection * file_selector = (GtkDirSelection *)gtk_dir_selection_new("Select a trace");
> - GtkFileSelection * file_selector = (GtkFileSelection *)gtk_file_selection_new("Select a trace");
> - gtk_widget_hide( (file_selector)->file_list->parent) ;
> - gtk_file_selection_hide_fileop_buttons(file_selector);
> - gtk_window_set_transient_for(GTK_WINDOW(file_selector),
> - GTK_WINDOW(mw_data->mwindow));
> -
> + /* File open dialog management */
> + GtkFileChooser * file_chooser =
> + GTK_FILE_CHOOSER(
> + gtk_file_chooser_dialog_new ("Select a trace",
> + GTK_WINDOW(mw_data->mwindow),
> + GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
> + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
> + GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
> + NULL));
> +
> + gtk_file_chooser_set_show_hidden (file_chooser, TRUE);
> if(remember_trace_dir[0] != '\0')
> - gtk_file_selection_set_filename(file_selector, remember_trace_dir);
> -
> - id = gtk_dialog_run(GTK_DIALOG(file_selector));
> + gtk_file_chooser_set_filename(file_chooser, remember_trace_dir);
> +
> + id = gtk_dialog_run(GTK_DIALOG(file_chooser));
> +
> switch(id){
> case GTK_RESPONSE_ACCEPT:
> case GTK_RESPONSE_OK:
> - dir = gtk_file_selection_get_filename (file_selector);
> + dir = gtk_file_chooser_get_filename (file_chooser);
> strncpy(remember_trace_dir, dir, PATH_MAX);
> strncat(remember_trace_dir, "/", PATH_MAX);
> if(!dir || strlen(dir) == 0){
> - gtk_widget_destroy((GtkWidget*)file_selector);
> break;
> }
> get_absolute_pathname(dir, abs_path);
> @@ -1893,7 +1897,6 @@ void add_trace(GtkWidget * widget, gpointer user_data)
> lttvwindow_add_trace(tab, trace_v);
> }
>
> - gtk_widget_destroy((GtkWidget*)file_selector);
>
> //update current tab
> //update_traceset(mw_data);
> @@ -1909,9 +1912,10 @@ void add_trace(GtkWidget * widget, gpointer user_data)
> case GTK_RESPONSE_REJECT:
> case GTK_RESPONSE_CANCEL:
> default:
> - gtk_widget_destroy((GtkWidget*)file_selector);
> - break;
> + break;
> }
> + gtk_widget_destroy((GtkWidget*)file_chooser);
> +
> }
>
> /* remove_trace removes a trace from the current traceset if all viewers in
> --
> 1.7.2.3
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list