X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/54744d3ab7756a61fe2d6ef4e8da5bde9ff2cec2..d7926e0b761b782b82f9ef01ff542251b2ef5ae7:/src/msw/dirdlg.cpp diff --git a/src/msw/dirdlg.cpp b/src/msw/dirdlg.cpp index 460491c1f3..3f539ad57f 100644 --- a/src/msw/dirdlg.cpp +++ b/src/msw/dirdlg.cpp @@ -16,6 +16,7 @@ // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- + #ifdef __GNUG__ #pragma implementation "dirdlg.h" #endif @@ -27,8 +28,9 @@ #pragma hdrstop #endif -#if defined(__WIN95__) && \ - (!defined(__GNUWIN32__) || defined(wxUSE_NORLANDER_HEADERS)) +#if wxUSE_DIRDLG + +#if defined(__WIN95__) && !defined(__GNUWIN32_OLD__) #ifndef WX_PRECOMP #include "wx/utils.h" @@ -118,7 +120,7 @@ int wxDirDialog::ShowModal() if ( !ok ) { - wxLogLastError("SHGetPathFromIDList"); + wxLogLastError(wxT("SHGetPathFromIDList")); return wxID_CANCEL; } @@ -149,7 +151,14 @@ BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lp, LPARAM pData) TCHAR szDir[MAX_PATH]; if ( SHGetPathFromIDList((LPITEMIDLIST)lp, szDir) ) { - SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM)szDir); + wxString strDir(szDir); + int maxChars = 40; // Have to truncate string else it displays incorrectly + if (strDir.Len() > (size_t) (maxChars - 3)) + { + strDir = strDir.Right(maxChars - 3); + strDir = wxString(wxT("...")) + strDir; + } + SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM) (const wxChar*) strDir); } } break; @@ -175,7 +184,7 @@ static void ItemListFree(LPITEMIDLIST pidl) } else { - wxLogLastError("SHGetMalloc"); + wxLogLastError(wxT("SHGetMalloc")); } } } @@ -183,3 +192,5 @@ static void ItemListFree(LPITEMIDLIST pidl) #else #include "../generic/dirdlgg.cpp" #endif // compiler/platform on which the code here compiles + +#endif // wxUSE_DIRDLG