Set the filename on loading a new file
[pspp-builds.git] / src / ui / gui / psppire-data-window.c
index 40e41dccca4bc544dbc51d56d4e326d264170d19..1afa9e6c70840c4cd7fde949f0ee4b8cdbdd8b16 100644 (file)
@@ -319,8 +319,9 @@ add_most_recent (const char *file_name)
 #endif
 }
 
-static void
-open_data_file (const gchar *file_name, PsppireDataWindow *de)
+void
+psppire_data_window_load_file (PsppireDataWindow *de,
+                                   const gchar *file_name)
 {
   struct getl_interface *sss;
   struct string filename;
@@ -339,6 +340,8 @@ open_data_file (const gchar *file_name, PsppireDataWindow *de)
   }
 
   psppire_window_set_unsaved (PSPPIRE_WINDOW (de), FALSE);
+  free (de->file_name);
+  de->file_name = g_strdup (file_name);
 }
 
 
@@ -389,7 +392,7 @@ open_data_dialog (GtkAction *action, PsppireDataWindow *de)
        de->file_name =
          gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
 
-       open_data_file (de->file_name, de);
+       psppire_data_window_load_file (de, de->file_name);
       }
       break;
     default:
@@ -562,7 +565,7 @@ data_save_as_dialog (GtkAction *action, PsppireDataWindow *de)
 static void
 data_save (GtkAction *action, PsppireDataWindow *de)
 {
-  if ( de->file_name)
+  if (de->file_name)
     save_file (de);
   else
     data_save_as_dialog (action, de);
@@ -920,7 +923,7 @@ on_recent_data_select (GtkMenuShell *menushell,   gpointer user_data)
 
   g_free (uri);
 
-  open_data_file (file, de);
+  psppire_data_window_load_file (de, file);
 
   g_free (file);
 }