]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/textfile.cpp
wxFont can now raelly use the native fonts
[wxWidgets.git] / src / common / textfile.cpp
index 77510ace07e8c07a1cd2cec3f4e80615cbf0fe89..26053922cd0ada639c9c47e9758cdc7b4a9de14e 100644 (file)
 #if wxUSE_TEXTFILE
 
 #ifndef WX_PRECOMP
-    #include  "wx/string.h"
-    #include  "wx/intl.h"
-    #include  "wx/file.h"
-    #include  "wx/log.h"
+    #include "wx/string.h"
+    #include "wx/intl.h"
+    #include "wx/file.h"
+    #include "wx/log.h"
 #endif
 
 #include "wx/textfile.h"
+#include "wx/filename.h"
 
 // ============================================================================
 // wxTextFile class implementation
@@ -61,21 +62,22 @@ bool wxTextFile::OnExists() const
 
 bool wxTextFile::OnOpen(const wxString &strBufferName, wxTextBufferOpenMode OpenMode)
 {
-    wxFile::OpenMode FileOpenMode = wxFile::read;
-    int                             nAssertVal = 0;
+    wxFile::OpenMode FileOpenMode;
+
+    switch ( OpenMode )
+    {
+        default:
+            wxFAIL_MSG( _T("unknown open mode in wxTextFile::Open") );
+            // fall through
 
-    switch (OpenMode)
-  {
         case ReadAccess :
             FileOpenMode = wxFile::read;
             break;
+
         case WriteAccess :
             FileOpenMode = wxFile::write;
             break;
-        default :
-            wxASSERT(nAssertVal); // Should not happen.
-            break;
-  }
+    }
 
     return m_file.Open(strBufferName.c_str(), FileOpenMode);
 }
@@ -171,7 +173,11 @@ bool wxTextFile::OnRead(wxMBConv& conv)
 
 bool wxTextFile::OnWrite(wxTextFileType typeNew, wxMBConv& conv)
 {
-    wxTempFile fileTmp(m_strBufferName);
+    wxFileName fn = m_strBufferName;
+    if ( !fn.IsAbsolute() )
+        fn.Normalize();
+
+    wxTempFile fileTmp(fn.GetFullName());
 
     if ( !fileTmp.IsOpened() ) {
         wxLogError(_("can't write buffer '%s' to disk."), m_strBufferName.c_str());