+ wxGtkString str(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget)));
+ return wxConvFileName->cMB2WX(str);
+ }
+
+ return wxGenericFileDialog::GetPath();
+}
+
+void wxFileDialog::GetFilenames(wxArrayString& files) const
+{
+ if (!gtk_check_version(2,4,0))
+ {
+ GetPaths(files);
+ for (size_t n = 0; n < files.GetCount(); ++n )
+ {
+ wxFileName file(files[n]);
+ files[n] = file.GetFullName();
+ }
+ }
+ else
+ wxGenericFileDialog::GetFilenames( files );
+}
+
+void wxFileDialog::GetPaths(wxArrayString& paths) const
+{
+ if (!gtk_check_version(2,4,0))
+ {
+ paths.Empty();
+ if (gtk_file_chooser_get_select_multiple(GTK_FILE_CHOOSER(m_widget)))
+ {
+ GSList *gpathsi = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(m_widget));
+ GSList *gpaths = gpathsi;
+ while (gpathsi)
+ {
+ wxString file(wxConvFileName->cMB2WX((gchar*) gpathsi->data));
+ paths.Add(file);
+ g_free(gpathsi->data);
+ gpathsi = gpathsi->next;
+ }
+
+ g_slist_free(gpaths);
+ }
+ else
+ paths.Add(GetPath());
+ }
+ else
+ wxGenericFileDialog::GetPaths( paths );
+}
+
+void wxFileDialog::SetMessage(const wxString& message)
+{
+ if (!gtk_check_version(2,4,0))
+ {
+ m_message = message;
+ SetTitle(message);
+ }
+ else
+ wxGenericFileDialog::SetMessage( message );
+}
+
+void wxFileDialog::SetPath(const wxString& path)
+{
+ if (!gtk_check_version(2,4,0))
+ {
+ if (path.empty()) return;
+
+ gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(m_widget), wxConvFileName->cWX2MB(path));