summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2024-07-22 23:25:21 +0300
committerAhmad Samir <a.samirh78@gmail.com>2024-07-23 21:33:35 +0300
commitcb6799d26b7eb0d52507739574afec98623fb462 (patch)
tree0bbca5cdc82a345d2590344b43b3dfef83bce446 /src
parent922e197bd3468d4c10b8fcd6377cd7b67f2541f2 (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.cpp13
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);