diff options
| author | Ahmad Samir <a.samirh78@gmail.com> | 2024-07-22 23:25:21 +0300 |
|---|---|---|
| committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-07-23 21:33:35 +0300 |
| commit | cb6799d26b7eb0d52507739574afec98623fb462 (patch) | |
| tree | 0bbca5cdc82a345d2590344b43b3dfef83bce446 /src | |
| parent | 922e197bd3468d4c10b8fcd6377cd7b67f2541f2 (diff) | |
QUrlModel: optimize checking if QMimeData* has a supported format
QUrlModel only supports a single MIME type. This saves the overhead of
constructing two QStringLists (QMimeData::format() and
QUrlModel::mimeTypes()).
Change-Id: I0d608c40c2e227b80bad77485af13560f11c2820
Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/widgets/dialogs/qsidebar.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/widgets/dialogs/qsidebar.cpp b/src/widgets/dialogs/qsidebar.cpp index 581e659a447..eaaceae1252 100644 --- a/src/widgets/dialogs/qsidebar.cpp +++ b/src/widgets/dialogs/qsidebar.cpp @@ -49,12 +49,19 @@ QUrlModel::~QUrlModel() disconnect(conn); } +constexpr char uriListMimeType[] = "text/uri-list"; + +static bool hasSupportedFormat(const QMimeData *data) +{ + return data->hasFormat(QLatin1StringView(uriListMimeType)); +} + /*! \reimp */ QStringList QUrlModel::mimeTypes() const { - return QStringList("text/uri-list"_L1); + return QStringList(QLatin1StringView(uriListMimeType)); } /*! @@ -99,7 +106,7 @@ QMimeData *QUrlModel::mimeData(const QModelIndexList &indexes) const */ bool QUrlModel::canDrop(QDragEnterEvent *event) { - if (!event->mimeData()->formats().contains(mimeTypes().constFirst())) + if (!hasSupportedFormat(event->mimeData())) return false; const QList<QUrl> list = event->mimeData()->urls(); @@ -117,7 +124,7 @@ bool QUrlModel::canDrop(QDragEnterEvent *event) bool QUrlModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) { - if (!data->formats().contains(mimeTypes().constFirst())) + if (!hasSupportedFormat(data)) return false; Q_UNUSED(action); Q_UNUSED(column); |
