43 mStorageType->addItem( tr(
"Select Existing file" ), QString() );
46 mStorageType->addItem( storage->displayName(), storage->type() );
48 mAuthSettingsProtocol->removeBasicSettings();
49 mExternalStorageGroupBox->setVisible(
false );
52 mStorageUrlPropertyOverrideButton->registerVisibleWidget( mStorageUrlExpression );
53 mStorageUrlPropertyOverrideButton->registerExpressionWidget( mStorageUrlExpression );
54 mStorageUrlPropertyOverrideButton->registerVisibleWidget( mStorageUrl,
false );
55 mStorageUrlPropertyOverrideButton->registerExpressionContextGenerator(
this );
58 mUseLink->setChecked(
false );
59 mFullUrl->setChecked(
false );
63 mRootPath->setPlaceholderText(
QgsSettings().value( QStringLiteral(
"/UI/lastExternalResourceWidgetDefaultPath" ), QDir::toNativeSeparators( QDir::cleanPath( defpath ) ) ).toString() );
65 connect( mRootPathButton, &QToolButton::clicked,
this, &QgsExternalResourceConfigDlg::chooseDefaultPath );
68 mRootPathPropertyOverrideButton->registerVisibleWidget( mRootPathExpression );
69 mRootPathPropertyOverrideButton->registerExpressionWidget( mRootPathExpression );
70 mRootPathPropertyOverrideButton->registerVisibleWidget( mRootPath,
false );
71 mRootPathPropertyOverrideButton->registerEnabledWidget( mRootPathButton,
false );
74 mDocumentViewerContentPropertyOverrideButton->registerVisibleWidget( mDocumentViewerContentExpression );
75 mDocumentViewerContentPropertyOverrideButton->registerExpressionWidget( mDocumentViewerContentExpression );
76 mDocumentViewerContentPropertyOverrideButton->registerEnabledWidget( mDocumentViewerContentComboBox,
false );
79 connect( mRootPath, &QLineEdit::textChanged,
this, &QgsExternalResourceConfigDlg::enableRelativeDefault );
80 connect( mRootPathExpression, &QLineEdit::textChanged,
this, &QgsExternalResourceConfigDlg::enableRelativeDefault );
90 enableCbxItem( mStoragePathCbx, 2,
false );
92 connect( mStorageType,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsExternalResourceConfigDlg::changeStorageType );
102 connect( mDocumentViewerContentComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, [
this](
int ) {
105 mDocumentViewerContentSettingsWidget->setEnabled( hasSizeSettings );
174 cfg.insert( QStringLiteral(
"StorageType" ), mStorageType->currentData() );
175 cfg.insert( QStringLiteral(
"StorageAuthConfigId" ), mAuthSettingsProtocol->configId() );
176 if ( !mStorageUrl->text().isEmpty() )
177 cfg.insert( QStringLiteral(
"StorageUrl" ), mStorageUrl->text() );
179 cfg.insert( QStringLiteral(
"FileWidget" ), mFileWidgetGroupBox->isChecked() );
180 cfg.insert( QStringLiteral(
"FileWidgetButton" ), mFileWidgetButtonGroupBox->isChecked() );
181 cfg.insert( QStringLiteral(
"FileWidgetFilter" ), mFileWidgetFilterLineEdit->text() );
183 if ( mUseLink->isChecked() )
185 cfg.insert( QStringLiteral(
"UseLink" ), mUseLink->isChecked() );
186 if ( mFullUrl->isChecked() )
187 cfg.insert( QStringLiteral(
"FullUrl" ), mFullUrl->isChecked() );
192 if ( !mRootPath->text().isEmpty() )
193 cfg.insert( QStringLiteral(
"DefaultRoot" ), mRootPath->text() );
195 if ( !mStorageType->currentIndex() )
198 cfg.insert( QStringLiteral(
"StorageMode" ), mStorageModeCbx->currentData().toInt() );
200 cfg.insert( QStringLiteral(
"RelativeStorage" ), mStoragePathCbx->currentData().toInt() );
209 cfg.insert( QStringLiteral(
"DocumentViewer" ), mDocumentViewerContentComboBox->currentData().toInt() );
210 cfg.insert( QStringLiteral(
"DocumentViewerHeight" ), mDocumentViewerHeight->value() );
211 cfg.insert( QStringLiteral(
"DocumentViewerWidth" ), mDocumentViewerWidth->value() );
219 if (
config.contains( QStringLiteral(
"StorageType" ) ) )
221 const int index = mStorageType->findData(
config.value( QStringLiteral(
"StorageType" ) ) );
223 mStorageType->setCurrentIndex( index );
226 mAuthSettingsProtocol->setConfigId(
config.value( QStringLiteral(
"StorageAuthConfigId" ) ).toString() );
227 mStorageUrl->setText(
config.value( QStringLiteral(
"StorageUrl" ) ).toString() );
229 if (
config.contains( QStringLiteral(
"FileWidget" ) ) )
231 mFileWidgetGroupBox->setChecked(
config.value( QStringLiteral(
"FileWidget" ) ).toBool() );
233 if (
config.contains( QStringLiteral(
"FileWidget" ) ) )
235 mFileWidgetButtonGroupBox->setChecked(
config.value( QStringLiteral(
"FileWidgetButton" ) ).toBool() );
237 if (
config.contains( QStringLiteral(
"FileWidgetFilter" ) ) )
239 mFileWidgetFilterLineEdit->setText(
config.value( QStringLiteral(
"FileWidgetFilter" ) ).toString() );
242 if (
config.contains( QStringLiteral(
"UseLink" ) ) )
244 mUseLink->setChecked(
config.value( QStringLiteral(
"UseLink" ) ).toBool() );
245 if (
config.contains( QStringLiteral(
"FullUrl" ) ) )
246 mFullUrl->setChecked(
true );
252 mRootPath->setText(
config.value( QStringLiteral(
"DefaultRoot" ) ).toString() );
255 if (
config.contains( QStringLiteral(
"RelativeStorage" ) ) )
257 const int relative =
config.value( QStringLiteral(
"RelativeStorage" ) ).toInt();
258 mStoragePathCbx->setCurrentIndex( relative );
262 if (
config.contains( QStringLiteral(
"StorageMode" ) ) )
264 const int mode =
config.value( QStringLiteral(
"StorageMode" ) ).toInt();
265 mStorageModeCbx->setCurrentIndex( mode );
269 if (
config.contains( QStringLiteral(
"DocumentViewer" ) ) )
272 const int idx = mDocumentViewerContentComboBox->findData( content );
275 mDocumentViewerContentComboBox->setCurrentIndex( idx );
277 if (
config.contains( QStringLiteral(
"DocumentViewerHeight" ) ) )
279 mDocumentViewerHeight->setValue(
config.value( QStringLiteral(
"DocumentViewerHeight" ) ).toInt() );
281 if (
config.contains( QStringLiteral(
"DocumentViewerWidth" ) ) )
283 mDocumentViewerWidth->setValue(
config.value( QStringLiteral(
"DocumentViewerWidth" ) ).toInt() );
Single scope for storing variables and functions for use within a QgsExpressionContext.
QStringList variableNames() const
Returns a list of variable names contained within the scope.
static QgsExpressionContextScope * parentFormScope(const QgsFeature &formFeature=QgsFeature(), const QString &formMode=QString())
Creates a new scope which contains functions and variables from the current parent attribute form/tab...
static QgsExpressionContextScope * formScope(const QgsFeature &formFeature=QgsFeature(), const QString &formMode=QString())
Creates a new scope which contains functions and variables from the current attribute form/table form...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
void setHighlightedVariables(const QStringList &variableNames)
Sets the list of variable names within the context intended to be highlighted to the user.