Changeset View
Changeset View
Standalone View
Standalone View
src/filewidgets/kdiroperator.cpp
Show First 20 Lines • Show All 1384 Lines • ▼ Show 20 Line(s) | 1377 | case QEvent::DragEnter: { | |||
---|---|---|---|---|---|
1385 | 1385 | | |||
1386 | } else { | 1386 | } else { | ||
1387 | // mimetype filtering | 1387 | // mimetype filtering | ||
1388 | bool mimeFilterPass = true; | 1388 | bool mimeFilterPass = true; | ||
1389 | const QStringList mimeFilters = d->dirLister->mimeFilters(); | 1389 | const QStringList mimeFilters = d->dirLister->mimeFilters(); | ||
1390 | 1390 | | |||
1391 | if (mimeFilters.size() > 1) { | 1391 | if (mimeFilters.size() > 1) { | ||
1392 | mimeFilterPass = false; | 1392 | mimeFilterPass = false; | ||
1393 | const QUrl url = urls.constFirst(); | 1393 | const QUrl &url = urls.constFirst(); | ||
1394 | 1394 | | |||
1395 | QMimeDatabase mimeDataBase; | 1395 | QMimeDatabase mimeDataBase; | ||
1396 | QMimeType fileMimeType = mimeDataBase.mimeTypeForUrl(url); | 1396 | QMimeType fileMimeType = mimeDataBase.mimeTypeForUrl(url); | ||
1397 | 1397 | | |||
1398 | QRegularExpression regex; | 1398 | QRegularExpression regex; | ||
1399 | for (const auto& mimeFilter : mimeFilters) { | 1399 | for (const auto& mimeFilter : mimeFilters) { | ||
1400 | regex.setPattern(mimeFilter); | 1400 | regex.setPattern(mimeFilter); | ||
1401 | if (regex.match(fileMimeType.name()).hasMatch()) { // matches! | 1401 | if (regex.match(fileMimeType.name()).hasMatch()) { // matches! | ||
1402 | mimeFilterPass = true; | 1402 | mimeFilterPass = true; | ||
1403 | break; | 1403 | break; | ||
1404 | } | 1404 | } | ||
1405 | } | 1405 | } | ||
1406 | } | 1406 | } | ||
1407 | 1407 | | |||
1408 | event->setAccepted(mimeFilterPass); | 1408 | event->setAccepted(mimeFilterPass); | ||
1409 | } | 1409 | } | ||
1410 | 1410 | | |||
1411 | return true; | 1411 | return true; | ||
1412 | } | 1412 | } | ||
1413 | case QEvent::Drop: { | 1413 | case QEvent::Drop: { | ||
1414 | QDropEvent *evt = static_cast<QDropEvent *>(event); | 1414 | QDropEvent *evt = static_cast<QDropEvent *>(event); | ||
1415 | const QList<QUrl> urls = KUrlMimeData::urlsFromMimeData(evt->mimeData(), KUrlMimeData::DecodeOptions::PreferLocalUrls); | 1415 | const QList<QUrl> urls = KUrlMimeData::urlsFromMimeData(evt->mimeData(), KUrlMimeData::DecodeOptions::PreferLocalUrls); | ||
1416 | 1416 | | |||
1417 | const QUrl url = urls.constFirst(); | 1417 | const QUrl &url = urls.constFirst(); | ||
1418 | 1418 | | |||
1419 | // stat the url to get details | 1419 | // stat the url to get details | ||
1420 | KIO::StatJob *job = KIO::stat(url, KIO::HideProgressInfo); | 1420 | KIO::StatJob *job = KIO::stat(url, KIO::HideProgressInfo); | ||
1421 | job->exec(); | 1421 | job->exec(); | ||
1422 | 1422 | | |||
1423 | setFocus(); | 1423 | setFocus(); | ||
1424 | 1424 | | |||
1425 | KIO::UDSEntry entry = job->statResult(); | 1425 | KIO::UDSEntry entry = job->statResult(); | ||
▲ Show 20 Lines • Show All 1405 Lines • Show Last 20 Lines |