@@ -142,7 +142,7 @@ void QgsAttributesFormProperties::initAvailableWidgetsTree()
142
142
DnDTreeItemData itemData = DnDTreeItemData ( DnDTreeItemData::QmlWidget, QStringLiteral ( " QmlWidget" ), tr ( " QML Widget" ) );
143
143
itemData.setShowLabel ( true );
144
144
145
- QTreeWidgetItem *item = mAvailableWidgetsTree ->addItem ( catitem, itemData );
145
+ mAvailableWidgetsTree ->addItem ( catitem, itemData );
146
146
catitem ->setExpanded ( true );
147
147
}
148
148
@@ -851,6 +851,10 @@ QTreeWidgetItem *DnDTree::addItem( QTreeWidgetItem *parent, QgsAttributesFormPro
851
851
case QgsAttributesFormProperties::DnDTreeItemData::Container:
852
852
newItem->setIcon ( 0 , QgsApplication::getThemeIcon ( " /mContainerIcon.svg" ) );
853
853
break ;
854
+
855
+ case QgsAttributesFormProperties::DnDTreeItemData::QmlWidget:
856
+ newItem->setIcon ( 0 , QgsApplication::getThemeIcon ( " /mQmlWidgetIcon.svg" ) );
857
+ break ;
854
858
}
855
859
}
856
860
newItem->setData ( 0 , QgsAttributesFormProperties::DnDTreeRole, data );
@@ -914,16 +918,23 @@ bool DnDTree::dropMimeData( QTreeWidgetItem *parent, int index, const QMimeData
914
918
{
915
919
stream >> itemElement;
916
920
921
+ QTreeWidgetItem *newItem;
922
+
917
923
if ( parent )
918
924
{
919
- addItem ( parent, itemElement, index );
925
+ newItem = addItem ( parent, itemElement, index );
920
926
bDropSuccessful = true ;
921
927
}
922
928
else
923
929
{
924
- addItem ( invisibleRootItem (), itemElement, index );
930
+ newItem = addItem ( invisibleRootItem (), itemElement, index );
925
931
bDropSuccessful = true ;
926
932
}
933
+
934
+ if ( itemElement.type () == QgsAttributesFormProperties::DnDTreeItemData::QmlWidget )
935
+ {
936
+ onItemDoubleClicked ( newItem, 0 );
937
+ }
927
938
}
928
939
}
929
940
@@ -1094,8 +1105,8 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
1094
1105
case QgsAttributesFormProperties::DnDTreeItemData::QmlWidget:
1095
1106
{
1096
1107
QDialog dlg;
1108
+ dlg.resize ( 600 , 400 );
1097
1109
dlg.setWindowTitle ( tr ( " Configure QML Widget" ) );
1098
- dlg.setBaseSize ( 600 , 400 );
1099
1110
QFormLayout *layout = new QFormLayout () ;
1100
1111
dlg.setLayout ( layout );
1101
1112
layout->addWidget ( baseWidget );
0 commit comments