From 360bfe5089c9fd13847b9b982011305fd63daf3f Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 23 Feb 2014 15:20:16 +0100 Subject: [PATCH] EffectSelectDialog: sort plugin names Sort plugin names and make sure that effects without sub plugins (i.e. native LMMS effects) are listed first in order to better advertise our cool plugins. Closes #331. --- src/gui/EffectSelectDialog.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/gui/EffectSelectDialog.cpp b/src/gui/EffectSelectDialog.cpp index 5356468e3c..7bca583eaf 100644 --- a/src/gui/EffectSelectDialog.cpp +++ b/src/gui/EffectSelectDialog.cpp @@ -71,16 +71,24 @@ EffectSelectDialog::EffectSelectDialog( QWidget * _parent ) : // and fill our source model QStringList pluginNames; - for( EffectKeyList::ConstIterator it = m_effectKeys.begin(); - it != m_effectKeys.end(); ++it ) + QStringList subPluginNames; + for( EffectKeyList::ConstIterator it = m_effectKeys.begin(); it != m_effectKeys.end(); ++it ) { - pluginNames += QString( ( *it ).desc->displayName ) + - ( ( ( *it ).desc->subPluginFeatures != NULL ) ? - ": " + ( *it ).name - : - "" ); + if( ( *it ).desc->subPluginFeatures ) + { + subPluginNames += QString( "%1: %2" ).arg( ( *it ).desc->displayName, ( *it ).name ); + } + else + { + pluginNames += ( *it ).desc->displayName; + } } + qSort( pluginNames ); + qSort( subPluginNames ); + + pluginNames += subPluginNames; + int row = 0; for( QStringList::ConstIterator it = pluginNames.begin(); it != pluginNames.end(); ++it )