Skip to content

Commit

Permalink
#3250: Fix SoundChooser's selection handling
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Jan 15, 2021
1 parent b808161 commit bdd4b45
Showing 1 changed file with 3 additions and 15 deletions.
18 changes: 3 additions & 15 deletions radiant/uimanager/SoundChooser.cpp
Expand Up @@ -207,25 +207,13 @@ const std::string& SoundChooser::getSelectedShader() const
// Set the selected sound shader, and focuses the treeview to the new selection
void SoundChooser::setSelectedShader(const std::string& shader)
{
_treeView->SetSelectedFullname(shader);
_treeView->SetSelectedElement(shader, _columns.leafName);
}

void SoundChooser::handleSelectionChange()
{
wxDataViewItem item = _treeView->GetSelection();

if (item.IsOk())
{
wxutil::TreeModel::Row row(item, *_treeView->GetTreeModel());

bool isFolder = row[_columns.isFolder].getBool();

_selectedShader = isFolder ? "" : static_cast<std::string>(row[_columns.fullName]);
}
else
{
_selectedShader.clear();
}
_selectedShader = !_treeView->IsDirectorySelected() ?
_treeView->GetSelectedElement(_columns.leafName) : std::string();

// Notify the preview widget about the change
_preview->setSoundShader(_selectedShader);
Expand Down

0 comments on commit bdd4b45

Please sign in to comment.