X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/80f624ec0c99878e327bfd070d6a92adf48eac14..51c72a7b56ea50fb3c9b082da1bbaddf6a218073:/src/generic/dirctrlg.cpp diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 9bb119ebea..63b663923b 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -785,19 +785,12 @@ void wxGenericDirCtrl::CollapseDir(wxTreeItemId parentId) return; data->m_isExpanded = false; - wxTreeItemIdValue cookie; - /* Workaround because DeleteChildren has disapeared (why?) and - * CollapseAndReset doesn't work as advertised (deletes parent too) */ - child = m_treeCtrl->GetFirstChild(parentId, cookie); - while (child.IsOk()) - { - m_treeCtrl->Delete(child); - /* Not GetNextChild below, because the cookie mechanism can't - * handle disappearing children! */ - child = m_treeCtrl->GetFirstChild(parentId, cookie); - } + + m_treeCtrl->Freeze(); if (parentId != m_treeCtrl->GetRootItem()) - m_treeCtrl->Collapse(parentId); + m_treeCtrl->CollapseAndReset(parentId); + m_treeCtrl->DeleteChildren(parentId); + m_treeCtrl->Thaw(); } void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) @@ -1179,12 +1172,7 @@ void wxGenericDirCtrl::SelectPath(const wxString& path, bool select) if ( done ) { - if(select && m_treeCtrl->IsSelected(id)) - return; - else - { - m_treeCtrl->SelectItem(id, select); - } + m_treeCtrl->SelectItem(id, select); } } @@ -1587,14 +1575,14 @@ void wxFileIconsTable::Create() wxART_CMN_DIALOG, wxSize(16, 16))); // executable - if (GetIconID(wxEmptyString, _T("application/x-executable")) == file) + if (GetIconID(wxEmptyString, wxT("application/x-executable")) == file) { m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_EXECUTABLE_FILE, wxART_CMN_DIALOG, wxSize(16, 16))); - delete m_HashTable->Get(_T("exe")); - m_HashTable->Delete(_T("exe")); - m_HashTable->Put(_T("exe"), new wxFileIconEntry(executable)); + delete m_HashTable->Get(wxT("exe")); + m_HashTable->Delete(wxT("exe")); + m_HashTable->Put(wxT("exe"), new wxFileIconEntry(executable)); } /* else put into list by GetIconID (KDE defines application/x-executable for *.exe and has nice icon)