X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be283c77a035cb8aa25c005677e11c5b5aae2975..4cbcfb73a037462ccf4d54b3e50c58e37cc61aa9:/src/generic/dirctrlg.cpp diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index e66dbb5a0c..1d77415609 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -9,10 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "dirctrlg.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -278,10 +274,9 @@ bool wxIsDriveAvailable(const wxString& dirName) #elif defined(__WINDOWS__) || defined(__OS2__) -int setdrive(int drive) +int setdrive(int WXUNUSED_IN_WINCE(drive)) { #ifdef __WXWINCE__ - wxUnusedVar(drive); return 0; #elif defined(__GNUWIN32__) && \ (defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 1) @@ -311,10 +306,9 @@ int setdrive(int drive) #endif // !GNUWIN32 } -bool wxIsDriveAvailable(const wxString& dirName) +bool wxIsDriveAvailable(const wxString& WXUNUSED_IN_WINCE(dirName)) { #ifdef __WXWINCE__ - wxUnusedVar(dirName); return false; #else #ifdef __WIN32__ @@ -836,8 +830,6 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) // Now do the filenames -- but only if we're allowed to if ((GetWindowStyle() & wxDIRCTRL_DIR_ONLY) == 0) { - wxLogNull log; - d.Open(dirName); if (d.IsOpened()) @@ -871,7 +863,7 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) size_t i; for (i = 0; i < dirs.Count(); i++) { - wxString eachFilename(dirs[i]); + eachFilename = dirs[i]; path = dirName; if (!wxEndsWithPathSeparator(path)) path += wxString(wxFILE_SEP_PATH); @@ -900,7 +892,7 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) { for (i = 0; i < filenames.Count(); i++) { - wxString eachFilename(filenames[i]); + eachFilename = filenames[i]; path = dirName; if (!wxEndsWithPathSeparator(path)) path += wxString(wxFILE_SEP_PATH); @@ -1003,48 +995,46 @@ bool wxGenericDirCtrl::ExpandPath(const wxString& path) if (id.IsOk()) lastId = id; } - if (lastId.IsOk()) + if (!lastId.IsOk()) + return false; + + wxDirItemData *data = (wxDirItemData *) m_treeCtrl->GetItemData(lastId); + if (data->m_isDir) + { + m_treeCtrl->Expand(lastId); + } + if ((GetWindowStyle() & wxDIRCTRL_SELECT_FIRST) && data->m_isDir) { - wxDirItemData *data = (wxDirItemData *) m_treeCtrl->GetItemData(lastId); - if (data->m_isDir) + // Find the first file in this directory + wxTreeItemIdValue cookie; + wxTreeItemId childId = m_treeCtrl->GetFirstChild(lastId, cookie); + bool selectedChild = false; + while (childId.IsOk()) { - m_treeCtrl->Expand(lastId); - } - if ((GetWindowStyle() & wxDIRCTRL_SELECT_FIRST) && data->m_isDir) - { - // Find the first file in this directory - wxTreeItemIdValue cookie; - wxTreeItemId childId = m_treeCtrl->GetFirstChild(lastId, cookie); - bool selectedChild = false; - while (childId.IsOk()) - { - wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(childId); + data = (wxDirItemData*) m_treeCtrl->GetItemData(childId); - if (data && data->m_path != wxEmptyString && !data->m_isDir) - { - m_treeCtrl->SelectItem(childId); - m_treeCtrl->EnsureVisible(childId); - selectedChild = true; - break; - } - childId = m_treeCtrl->GetNextChild(lastId, cookie); - } - if (!selectedChild) + if (data && data->m_path != wxEmptyString && !data->m_isDir) { - m_treeCtrl->SelectItem(lastId); - m_treeCtrl->EnsureVisible(lastId); + m_treeCtrl->SelectItem(childId); + m_treeCtrl->EnsureVisible(childId); + selectedChild = true; + break; } + childId = m_treeCtrl->GetNextChild(lastId, cookie); } - else + if (!selectedChild) { m_treeCtrl->SelectItem(lastId); m_treeCtrl->EnsureVisible(lastId); } - - return true; } else - return false; + { + m_treeCtrl->SelectItem(lastId); + m_treeCtrl->EnsureVisible(lastId); + } + + return true; } wxString wxGenericDirCtrl::GetPath() const