@@ -1124,14 +1124,14 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
1124
1124
qmlCode->setPlaceholderText ( tr ( " Insert QML code here..." ) );
1125
1125
1126
1126
QgsQmlWidgetWrapper *qmlWrapper = new QgsQmlWidgetWrapper ( mLayer , nullptr , this );
1127
- qmlWrapper->setQmlCode ( qmlCode->toPlainText () );
1127
+ QgsFeature previewFeature;
1128
+ mLayer ->getFeatures ().nextFeature ( previewFeature );
1129
+
1128
1130
// update preview on text change
1129
1131
connect ( qmlCode, &QPlainTextEdit::textChanged, this , [ = ]
1130
1132
{
1131
1133
qmlWrapper->setQmlCode ( qmlCode->toPlainText () );
1132
1134
qmlWrapper->reinitWidget ();
1133
- QgsFeature previewFeature;
1134
- mLayer ->getFeatures ().nextFeature ( previewFeature );
1135
1135
qmlWrapper->setFeature ( previewFeature );
1136
1136
} );
1137
1137
@@ -1141,7 +1141,7 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
1141
1141
qmlObjectTemplate->addItem ( tr ( " Rectangle" ) );
1142
1142
qmlObjectTemplate->addItem ( tr ( " Pie chart" ) );
1143
1143
qmlObjectTemplate->addItem ( tr ( " Bar chart" ) );
1144
- connect ( qmlObjectTemplate, qgis::overload<int >::of ( &QComboBox::currentIndexChanged ), qmlCode, [ = ]( int index )
1144
+ connect ( qmlObjectTemplate, qgis::overload<int >::of ( &QComboBox::activated ), qmlCode, [ = ]( int index )
1145
1145
{
1146
1146
qmlCode->clear ();
1147
1147
switch ( index )
@@ -1215,7 +1215,7 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
1215
1215
1216
1216
connect ( addExpressionButton, &QAbstractButton::clicked, this , [ = ]
1217
1217
{
1218
- qmlCode->insertPlainText ( QStringLiteral ( " expression.evaluate(\" %1\" )" ).arg ( expressionWidget->currentText ().replace ( ' "' , " \\\" " ) ) );
1218
+ qmlCode->insertPlainText ( QStringLiteral ( " expression.evaluate(\" %1\" )" ).arg ( expressionWidget->expression ().replace ( ' "' , " \\\" " ) ) );
1219
1219
} );
1220
1220
1221
1221
layout->addRow ( tr ( " Title" ), title );
@@ -1233,6 +1233,8 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
1233
1233
qmlPreviewBox->setLayout ( new QGridLayout );
1234
1234
qmlPreviewBox->setMinimumWidth ( 400 );
1235
1235
qmlPreviewBox->layout ()->addWidget ( qmlWrapper->widget () );
1236
+ // emit to load preview for the first time
1237
+ emit qmlCode->textChanged ();
1236
1238
qmlLayout->addWidget ( qmlPreviewBox );
1237
1239
1238
1240
QDialogButtonBox *buttonBox = new QDialogButtonBox ( QDialogButtonBox::Ok | QDialogButtonBox::Cancel );
0 commit comments