diff --git a/GUI/Model/Fit/FitParameterProxyModel.cpp b/GUI/Model/Fit/FitParameterProxyModel.cpp index ce6ff0b73cc1a2acb115cae435117cfd9d0dd2db..d2717a16bdaa2c3f12a0aa894459e5b58f57d724 100644 --- a/GUI/Model/Fit/FitParameterProxyModel.cpp +++ b/GUI/Model/Fit/FitParameterProxyModel.cpp @@ -252,7 +252,10 @@ QMimeData* FitParameterProxyModel::mimeData(const QModelIndexList& indexes) cons if (index.isValid()) { if (SessionItem* item = itemForIndex(index)) { QString path = item->value().toString(); - mimeData->setData(GUI::Session::XML::LinkMimeType, path.toLatin1()); + auto* parameterItem = FitParameterHelper::getParameterItem(m_root_item, path); + QByteArray data; + data.setNum(reinterpret_cast<qlonglong>(parameterItem)); + mimeData->setData(GUI::Session::XML::LinkMimeType, data); } } return mimeData; @@ -282,16 +285,16 @@ bool FitParameterProxyModel::dropMimeData(const QMimeData* data, Qt::DropAction if (parent.isValid()) { if (SessionItem* fitParItem = itemForIndex(parent)) { ASSERT(fitParItem->hasModelType<FitParameterItem>()); - ParameterItem* parItem = FitParameterHelper::getParameterItem( - m_root_item, QString::fromLatin1(data->data(GUI::Session::XML::LinkMimeType))); + ParameterItem* parItem = reinterpret_cast<ParameterItem*>( + data->data(GUI::Session::XML::LinkMimeType).toULongLong()); ASSERT(parItem); - FitParameterHelper::addToFitParameter(m_root_item, parItem, fitParItem->displayName()); + m_root_item->addToFitParameter(parItem, fitParItem->displayName()); } } else { - ParameterItem* parItem = FitParameterHelper::getParameterItem( - m_root_item, QString::fromLatin1(data->data(GUI::Session::XML::LinkMimeType))); + ParameterItem* parItem = reinterpret_cast<ParameterItem*>( + data->data(GUI::Session::XML::LinkMimeType).toULongLong()); ASSERT(parItem); - FitParameterHelper::createFitParameter(m_root_item, parItem); + m_root_item->createFitParameter(parItem); } return true; } diff --git a/GUI/Model/Fit/ParameterTuningModel.cpp b/GUI/Model/Fit/ParameterTuningModel.cpp index fc856c93e1f4c93dcce5b8784521628d722b16fe..1a192b0c4180550224fe11dfbd918e245f6155b3 100644 --- a/GUI/Model/Fit/ParameterTuningModel.cpp +++ b/GUI/Model/Fit/ParameterTuningModel.cpp @@ -42,8 +42,9 @@ QMimeData* ParameterTuningModel::mimeData(const QModelIndexList& proxyIndexes) c for (auto proxyIndex : proxyIndexes) { if (ParameterItem* parameterItem = getParameterItem(proxyIndex)) { - QString path = FitParameterHelper::getParameterItemPath(parameterItem); - mimeData->setData(GUI::Session::XML::LinkMimeType, path.toLatin1()); + QByteArray data; + data.setNum(reinterpret_cast<qlonglong>(parameterItem)); + mimeData->setData(GUI::Session::XML::LinkMimeType, data); break; } }