+ wxString cwdStr, outputDirStr;
+ cwdStr = wxGetWorkingDirectory();
+ outputDirStr = wxPathOnly(OutputFile);
+ // Determine if the temp file and the output file are in the same directory,
+ // and if they are, then just rename the temp file rather than copying
+ // it, as this is much faster when working with large (multi-megabyte files)
+ if ((wxStrcmp(wxPathOnly(OutputFile),"") == 0) || // no path specified on output file
+ (wxStrcmp(wxGetWorkingDirectory(),wxPathOnly(OutputFile)) == 0)) // paths do not match
+ {
+ wxRenameFile("tmp1.rtf", OutputFile);
+ }
+ else
+ {
+ wxCopyFile("tmp1.rtf", OutputFile);
+ }