feat(cpn): add filenames to model compare (#5187)
This commit is contained in:
@@ -318,6 +318,7 @@ QMimeData * ModelsListModel::mimeData(const QModelIndexList & indexes) const
|
||||
getModelsMimeData(indexes, mimeData);
|
||||
getGeneralMimeData(mimeData);
|
||||
getHeaderMimeData(mimeData);
|
||||
getFileMimeData(mimeData);
|
||||
return mimeData;
|
||||
}
|
||||
|
||||
@@ -398,6 +399,16 @@ QMimeData *ModelsListModel::getHeaderMimeData(QMimeData * mimeData) const
|
||||
return mimeData;
|
||||
}
|
||||
|
||||
QMimeData *ModelsListModel::getFileMimeData(QMimeData * mimeData) const
|
||||
{
|
||||
if (!mimeData)
|
||||
mimeData = new QMimeData();
|
||||
QByteArray mData;
|
||||
encodeFileData(&mData);
|
||||
mimeData->setData("application/x-companion-filedata", mData);
|
||||
return mimeData;
|
||||
}
|
||||
|
||||
QUuid ModelsListModel::getMimeDataSourceId(const QMimeData * mimeData) const
|
||||
{
|
||||
MimeHeaderData header;
|
||||
@@ -429,6 +440,11 @@ bool ModelsListModel::hasHeaderMimeData(const QMimeData * mimeData) const
|
||||
return mimeData->hasFormat("application/x-companion-radiodata-header");
|
||||
}
|
||||
|
||||
bool ModelsListModel::hasFileMimeData(const QMimeData * mimeData) const
|
||||
{
|
||||
return mimeData->hasFormat("application/x-companion-filedata");
|
||||
}
|
||||
|
||||
// returns true if mime data origin was this data model (vs. from another file window)
|
||||
bool ModelsListModel::hasOwnMimeData(const QMimeData * mimeData) const
|
||||
{
|
||||
@@ -460,6 +476,11 @@ void ModelsListModel::encodeHeaderData(QByteArray * data) const
|
||||
stream << mimeHeaderData.instanceId;
|
||||
}
|
||||
|
||||
void ModelsListModel::encodeFileData(QByteArray * data) const
|
||||
{
|
||||
*data = filename.toLatin1();
|
||||
}
|
||||
|
||||
// static
|
||||
bool ModelsListModel::decodeHeaderData(const QMimeData * mimeData, MimeHeaderData * header)
|
||||
{
|
||||
@@ -472,6 +493,16 @@ bool ModelsListModel::decodeHeaderData(const QMimeData * mimeData, MimeHeaderDat
|
||||
return false;
|
||||
}
|
||||
|
||||
// static
|
||||
bool ModelsListModel::decodeFileData(const QMimeData * mimeData, QString * filedata)
|
||||
{
|
||||
if (filedata && mimeData->hasFormat("application/x-companion-filedata")) {
|
||||
*filedata = mimeData->data("application/x-companion-filedata").data();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// static
|
||||
bool ModelsListModel::decodeMimeData(const QMimeData * mimeData, QVector<ModelData> * models, GeneralSettings * gs, bool * hasGenSet)
|
||||
{
|
||||
@@ -682,6 +713,11 @@ bool ModelsListModel::isModelIdUnique(unsigned modelIdx, unsigned module, unsign
|
||||
return true;
|
||||
}
|
||||
|
||||
void ModelsListModel::setFilename(QString & name)
|
||||
{
|
||||
filename = name;
|
||||
}
|
||||
|
||||
/*
|
||||
ModelsListProxyModel
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user