From 2dd62dc00816faec94ea118d5a3bacaf07d88acf Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 21 Aug 2010 10:17:13 +0000 Subject: [PATCH] Allow calling wxGenericDirCtrl::GetPath() in multiple selection mode, fixes #12340 ([wxGenericDirCtrl] conflicts wxDirFilterListCtrl::OnSelFilter()) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/dirctrlg.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 46b72cf08a..eb633d9568 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -1095,6 +1095,22 @@ bool wxGenericDirCtrl::CollapsePath(const wxString& path) wxString wxGenericDirCtrl::GetPath() const { + // Allow calling GetPath() in multiple selection from OnSelFilter + if (m_treeCtrl->HasFlag(wxTR_MULTIPLE)) + { + wxArrayTreeItemIds items; + m_treeCtrl->GetSelections(items); + if (items.size() > 0) + { + // return first string only + wxTreeItemId id = items[0]; + wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(id); + return data->m_path; + } + + return wxEmptyString; + } + wxTreeItemId id = m_treeCtrl->GetSelection(); if (id) {