QgsBrowserDockWidget::~QgsBrowserDockWidget() { QSettings settings; settings.setValue( settingsSection() + "/propertiesWidgetEnabled", mPropertiesWidgetEnabled ); //settings.setValue(settingsSection() + "/propertiesWidgetHeight", mPropertiesWidget->size().height() ); settings.setValue( settingsSection() + "/propertiesWidgetHeight", mPropertiesWidgetHeight ); }
void QgsBrowserDockWidget::showEvent( QShowEvent *e ) { // delayed initialization of the model if ( !mModel ) { mModel = new QgsBrowserModel( mBrowserView ); connect( QgisApp::instance(), &QgisApp::newProject, mModel, &QgsBrowserModel::updateProjectHome ); mProxyModel = new QgsBrowserTreeFilterProxyModel( this ); mProxyModel->setBrowserModel( mModel ); mBrowserView->setSettingsSection( objectName().toLower() ); // to distinguish 2 instances ow browser mBrowserView->setModel( mProxyModel ); // provide a horizontal scroll bar instead of using ellipse (...) for longer items mBrowserView->setTextElideMode( Qt::ElideNone ); mBrowserView->header()->setResizeMode( 0, QHeaderView::ResizeToContents ); mBrowserView->header()->setStretchLastSection( false ); // selectionModel is created when model is set on tree connect( mBrowserView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &QgsBrowserDockWidget::selectionChanged ); // objectName used by settingsSection() is not yet set in constructor QgsSettings settings; mPropertiesWidgetEnabled = settings.value( settingsSection() + "/propertiesWidgetEnabled", false ).toBool(); mActionPropertiesWidget->setChecked( mPropertiesWidgetEnabled ); mPropertiesWidget->setVisible( false ); // false until item is selected mPropertiesWidgetHeight = settings.value( settingsSection() + "/propertiesWidgetHeight" ).toFloat(); QList<int> sizes = mSplitter->sizes(); int total = sizes.value( 0 ) + sizes.value( 1 ); int height = ( int )total * mPropertiesWidgetHeight; sizes.clear(); sizes << total - height << height; mSplitter->setSizes( sizes ); } QgsDockWidget::showEvent( e ); }