mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-03 00:02:25 -05:00
sort items in browser dock: sort items by type, so directories are before data items, sort top-level provider items by name
Signed-off-by: Tim Sutton <tim@linfiniti.com>
This commit is contained in:
parent
efac197e0d
commit
6768e6aa45
@ -54,7 +54,9 @@ void QgsBrowserModel::addRootItems()
|
||||
}
|
||||
|
||||
// Add non file top level items
|
||||
foreach( QString key, QgsProviderRegistry::instance()->providerList() )
|
||||
QStringList providersList = QgsProviderRegistry::instance()->providerList();
|
||||
providersList.sort();
|
||||
foreach( QString key, providersList )
|
||||
{
|
||||
QLibrary *library = QgsProviderRegistry::instance()->providerLibrary( key );
|
||||
if ( !library )
|
||||
|
@ -206,10 +206,23 @@ void QgsDataItem::addChildItem( QgsDataItem * child, bool refresh )
|
||||
QgsDebugMsg( QString( "add child #%1 - %2" ).arg( mChildren.size() ).arg( child->mName ) );
|
||||
|
||||
int i;
|
||||
for ( i = 0; i < mChildren.size(); i++ )
|
||||
if ( type() == Directory )
|
||||
{
|
||||
if ( mChildren[i]->mName.localeAwareCompare( child->mName ) >= 0 )
|
||||
break;
|
||||
for ( i = 0; i < mChildren.size(); i++ )
|
||||
{
|
||||
// sort items by type, so directories are before data items
|
||||
if ( mChildren[i]->mType == child->mType &&
|
||||
mChildren[i]->mName.localeAwareCompare( child->mName ) >= 0 )
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for ( i = 0; i < mChildren.size(); i++ )
|
||||
{
|
||||
if ( mChildren[i]->mName.localeAwareCompare( child->mName ) >= 0 )
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( refresh )
|
||||
|
Loading…
x
Reference in New Issue
Block a user