X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=4eb274b5284805b3cfc8742499d11c1409cd7a26;hb=99732245d610cf363429f1b67a8b2b2e15a9a734;hp=598de8930246591389a5dbdae3da7cd49e76d3e0;hpb=09648bd73c7511f3c70c941b77f559569edae292;p=pspp-builds.git diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index 598de893..4eb274b5 100644 --- a/src/ui/gui/psppire-window.c +++ b/src/ui/gui/psppire-window.c @@ -28,6 +28,7 @@ #define N_(msgid) msgid #include "data/any-reader.h" +#include "data/file-name.h" #include "data/dataset.h" #include "helper.h" @@ -719,6 +720,12 @@ on_selection_changed (GtkFileChooser *chooser, GtkWidget *encoding_selector) sysname = convert_glib_filename_to_system_filename (name, NULL); + if ( ! fn_exists (sysname)) + { + gtk_widget_set_sensitive (encoding_selector, FALSE); + return; + } + gtk_widget_set_sensitive (encoding_selector, ! any_reader_may_open (sysname)); } @@ -788,9 +795,13 @@ psppire_window_file_chooser_dialog (PsppireWindow *toplevel) { GtkWidget *encoding_selector = psppire_encoding_selector_new ("Auto", true); - gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (dialog), encoding_selector); - g_signal_connect (dialog, "selection-changed", G_CALLBACK (on_selection_changed), encoding_selector); + gtk_widget_set_sensitive (encoding_selector, FALSE); + + g_signal_connect (dialog, "selection-changed", G_CALLBACK (on_selection_changed), + encoding_selector); + + gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (dialog), encoding_selector); } return dialog;