@@ -62,15 +62,15 @@ void QgsBrowserTreeView::saveState()
62
62
QgsSettings settings;
63
63
QStringList expandedPaths = expandedPathsList ( QModelIndex () );
64
64
settings.setValue ( expandedPathsKey (), expandedPaths );
65
- QgsDebugMsgLevel ( " expandedPaths = " + expandedPaths.join ( " " ), 4 );
65
+ QgsDebugMsgLevel ( " expandedPaths = " + expandedPaths.join ( ' ' ), 4 );
66
66
}
67
67
68
68
void QgsBrowserTreeView::restoreState ()
69
69
{
70
70
QgsSettings settings;
71
71
mExpandPaths = settings.value ( expandedPathsKey (), QVariant () ).toStringList ();
72
72
73
- QgsDebugMsgLevel ( " mExpandPaths = " + mExpandPaths .join ( " " ), 4 );
73
+ QgsDebugMsgLevel ( " mExpandPaths = " + mExpandPaths .join ( ' ' ), 4 );
74
74
if ( !mExpandPaths .isEmpty () )
75
75
{
76
76
QSet<QModelIndex> expandIndexSet;
@@ -167,7 +167,7 @@ void QgsBrowserTreeView::rowsInserted( const QModelIndex &parentIndex, int start
167
167
if ( mExpandPaths .isEmpty () )
168
168
return ;
169
169
170
- QgsDebugMsgLevel ( " mExpandPaths = " + mExpandPaths .join ( " , " ), 2 );
170
+ QgsDebugMsgLevel ( " mExpandPaths = " + mExpandPaths .join ( ' , ' ), 2 );
171
171
172
172
QString parentPath = model ()->data ( parentIndex, QgsBrowserModel::PathRole ).toString ();
173
173
QgsDebugMsgLevel ( " parentPath = " + parentPath, 2 );
@@ -197,7 +197,15 @@ void QgsBrowserTreeView::rowsInserted( const QModelIndex &parentIndex, int start
197
197
if ( mExpandPaths .contains ( childPath ) || mExpandPaths .indexOf ( QRegExp ( " ^" + escapedChildPath + " /.*" ) ) != -1 )
198
198
{
199
199
QgsDebugMsgLevel ( QStringLiteral ( " -> expand" ), 2 );
200
- expand ( childIndex );
200
+ QModelIndex modelIndex = browserModel ()->findPath ( childPath, Qt::MatchExactly );
201
+ if ( modelIndex.isValid () )
202
+ {
203
+ QgsDataItem *ptr = browserModel ()->dataItem ( modelIndex );
204
+ if ( !ptr || !( ptr->capabilities2 () & QgsDataItem::Capability::Collapse ) )
205
+ {
206
+ expand ( childIndex );
207
+ }
208
+ }
201
209
}
202
210
}
203
211
}
0 commit comments