]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/dirdlg.cpp
fix for using wxDataObjectComposite with the clipboard
[wxWidgets.git] / src / mac / carbon / dirdlg.cpp
index 51f4df142e2ada43fdb84b493e2a6fec284c9284..83533f1236711365c82828ecadfabb3b500e8d2c 100644 (file)
 
 #include "wx/cmndata.h"
 
-#include "Navigation.h"
+#ifdef __DARWIN__
+  #include <Carbon/Carbon.h>
+#else
+  #include <Navigation.h>
+#endif
 
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_CLASS(wxDirDialog, wxDialog)
@@ -178,7 +182,7 @@ static Boolean SameFSSpec(FSSpecPtr spec1, FSSpecPtr spec2)
 // flashing of the button when the key is hit
 
 static pascal Boolean SFGetFolderModalDialogFilter(DialogPtr theDlgPtr, EventRecord *eventRec,
-                                                                                       short *item, Ptr dataPtr)
+                                                                                       short *item, void *dataPtr)
 {
 #pragma unused (dataPtr)
 
@@ -206,7 +210,7 @@ static pascal Boolean SFGetFolderModalDialogFilter(DialogPtr theDlgPtr, EventRec
 // MyDlgHook is a hook routine that maps the select button to Open
 // and sets the Select button name
 
-static pascal short SFGetFolderDialogHook(short item, DialogPtr theDlgPtr, Ptr dataPtr)
+static pascal short SFGetFolderDialogHook(short item, DialogPtr theDlgPtr, void *dataPtr)
 {
        UserDataRecPtr  theUserDataRecPtr;
        long                    desktopDirID;
@@ -418,7 +422,7 @@ void StandardGetFolder( ConstStr255Param message , ConstStr255Param path , FileF
        }
 }
 
-static pascal Boolean OnlyVisibleFoldersCustomFileFilter(CInfoPBPtr myCInfoPBPtr, Ptr dataPtr)
+static pascal Boolean OnlyVisibleFoldersCustomFileFilter(CInfoPBPtr myCInfoPBPtr, void *dataPtr)
 {
 #pragma unused (dataPtr)
 
@@ -457,11 +461,18 @@ int wxDirDialog::ShowModal()
                Str255                          prompt ;
                Str255                          path ;
 
+#if TARGET_CARBON
+               c2pstrcpy((StringPtr)prompt, m_message) ;
+#else
                strcpy((char *)prompt, m_message) ;
                c2pstr((char *)prompt ) ;
-       
+#endif
+#if TARGET_CARBON
+               c2pstrcpy((StringPtr)path, m_path ) ;
+#else
                strcpy((char *)path, m_path ) ;
                c2pstr((char *)path ) ;
+#endif
 
                StandardFileReply       reply ;
                FileFilterYDUPP         invisiblesExcludedCustomFilterUPP = 0 ;
@@ -481,7 +492,7 @@ int wxDirDialog::ShowModal()
                }
                else
                {
-                       m_path = wxMacFSSpec2UnixFilename( &reply.sfFile ) ;
+                       m_path = wxMacFSSpec2MacFilename( &reply.sfFile ) ;
                        return wxID_OK ;
                }
                return wxID_CANCEL;
@@ -578,7 +589,7 @@ int wxDirDialog::ShowModal()
                                                   name, &outFileSpec);
                                                        
                        // outFolderDirID = thePB.dirInfo.ioDrDirID;
-                       m_path = wxMacFSSpec2UnixFilename( &outFileSpec ) ;
+                       m_path = wxMacFSSpec2MacFilename( &outFileSpec ) ;
                        return wxID_OK ;
                }
                return wxID_CANCEL;