diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index df81e43b9..1fc9f876a 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -91,6 +91,9 @@ void Element::editProperty() ElementPropertiesWidget *epw = new ElementPropertiesWidget(this); PropertiesEditorDialog dialog(epw, QApplication::activeWindow()); connect(epw, &ElementPropertiesWidget::findEditClicked, &dialog, &QDialog::reject); + //Must be windowModal, else when user do a drag and drop + //with the "text" tab of ElementPropertiesWidget, the ui freeze, until user press escape key + dialog.setWindowModality(Qt::WindowModal); dialog.exec(); } } diff --git a/sources/ui/dynamicelementtextmodel.cpp b/sources/ui/dynamicelementtextmodel.cpp index ace432c45..3b67c2ddc 100644 --- a/sources/ui/dynamicelementtextmodel.cpp +++ b/sources/ui/dynamicelementtextmodel.cpp @@ -799,7 +799,7 @@ bool DynamicElementTextModel::indexIsGroup(const QModelIndex &index) const bool DynamicElementTextModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const { Q_UNUSED(action); - + if(data->hasFormat("application/x-qet-element-text-uuid")) { QModelIndex index; @@ -945,7 +945,7 @@ bool DynamicElementTextModel::dropMimeData(const QMimeData *data, Qt::DropAction } QMimeData *DynamicElementTextModel::mimeData(const QModelIndexList &indexes) const -{ +{ QModelIndex index = indexes.first(); if (index.isValid()) { @@ -963,7 +963,7 @@ QMimeData *DynamicElementTextModel::mimeData(const QModelIndexList &indexes) con } } - return new QMimeData(); + return QStandardItemModel::mimeData(indexes); } /** @@ -1355,7 +1355,7 @@ QWidget *DynamicTextItemDelegate::createEditor(QWidget *parent, const QStyleOpti if(!deti) break; - CompositeTextEditDialog *cted = new CompositeTextEditDialog(deti); + CompositeTextEditDialog *cted = new CompositeTextEditDialog(deti, parent); cted->setObjectName("composite_text"); return cted; }