From f7f0534aeac60d59d059144c160df1397f90b690 Mon Sep 17 00:00:00 2001 From: codereader Date: Fri, 14 Jul 2017 10:25:28 +0200 Subject: [PATCH] Double-clicking a folder in the SoundChooser toggles the expanded state now as it did before. --- plugins/uimanager/SoundChooser.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/plugins/uimanager/SoundChooser.cpp b/plugins/uimanager/SoundChooser.cpp index 53b1795067..f124b9bf19 100644 --- a/plugins/uimanager/SoundChooser.cpp +++ b/plugins/uimanager/SoundChooser.cpp @@ -259,7 +259,32 @@ void SoundChooser::_onSelectionChange(wxDataViewEvent& ev) void SoundChooser::_onItemActivated(wxDataViewEvent& ev) { - _preview->playRandomSoundFile(); + wxDataViewItem item = ev.GetItem(); + + if (item.IsOk()) + { + wxutil::TreeModel::Row row(item, *_treeStore); + + bool isFolder = row[_columns.isFolder].getBool(); + + if (isFolder) + { + // In case we double-click a folder, toggle its expanded state + if (_treeView->IsExpanded(item)) + { + _treeView->Collapse(item); + } + else + { + _treeView->Expand(item); + } + + return; + } + + // It's a regular item, try to play it back + _preview->playRandomSoundFile(); + } } void SoundChooser::setTreeViewModel()