@@ -261,12 +261,30 @@ void QgsBrowserPropertiesDialog::setItem( QgsDataItem* item )
261
261
setWindowTitle ( item->type () == QgsDataItem::Layer ? tr ( " Layer Properties" ) : tr ( " Directory Properties" ) );
262
262
}
263
263
264
+
265
+ QgsBrowserDockWidget::QgsBrowserDockWidget ( const QString& name, QgsBrowserModel *model, QWidget * parent )
266
+ : QgsDockWidget( parent )
267
+ , mModel( model )
268
+ , mProxyModel( nullptr )
269
+ , mPropertiesWidgetEnabled( false )
270
+ , mPropertiesWidgetHeight( 0 )
271
+ {
272
+ init ( name );
273
+ }
274
+
275
+
264
276
QgsBrowserDockWidget::QgsBrowserDockWidget ( const QString& name, QWidget * parent )
265
277
: QgsDockWidget( parent )
266
278
, mModel( nullptr )
267
279
, mProxyModel( nullptr )
268
280
, mPropertiesWidgetEnabled( false )
269
281
, mPropertiesWidgetHeight( 0 )
282
+ {
283
+ init ( name );
284
+ }
285
+
286
+
287
+ void QgsBrowserDockWidget::init ( const QString& name )
270
288
{
271
289
setupUi ( this );
272
290
@@ -324,6 +342,7 @@ QgsBrowserDockWidget::QgsBrowserDockWidget( const QString& name, QWidget * paren
324
342
connect ( mSplitter , SIGNAL ( splitterMoved ( int , int ) ), this , SLOT ( splitterMoved () ) );
325
343
}
326
344
345
+
327
346
QgsBrowserDockWidget::~QgsBrowserDockWidget ()
328
347
{
329
348
QSettings settings;
@@ -334,11 +353,20 @@ QgsBrowserDockWidget::~QgsBrowserDockWidget()
334
353
335
354
void QgsBrowserDockWidget::showEvent ( QShowEvent * e )
336
355
{
337
- // delayed initialization of the model
356
+
338
357
if ( !mModel )
339
358
{
340
359
mModel = new QgsBrowserModel ( mBrowserView );
360
+ }
341
361
362
+ // delayed initialization of the model
363
+ if ( !mModel ->initialized ( ) )
364
+ {
365
+ mModel ->init ();
366
+ }
367
+
368
+ if ( ! mProxyModel )
369
+ {
342
370
connect ( QgisApp::instance (), SIGNAL ( newProject () ), mModel , SLOT ( updateProjectHome () ) );
343
371
344
372
mProxyModel = new QgsBrowserTreeFilterProxyModel ( this );
0 commit comments