diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,7 @@ ${CMAKE_MODULE_PATH} ) +add_definitions(-DQT_NO_URL_CAST_FROM_STRING) add_definitions (-DTRANSLATION_DOMAIN=\"kactivities5\") if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ki18n_install (po) diff --git a/src/service/plugins/sqlite/ResourceLinking.cpp b/src/service/plugins/sqlite/ResourceLinking.cpp --- a/src/service/plugins/sqlite/ResourceLinking.cpp +++ b/src/service/plugins/sqlite/ResourceLinking.cpp @@ -104,13 +104,13 @@ if (!usedActivity.isEmpty()) { // qDebug() << "Sending link event added: activities:/" << usedActivity; - org::kde::KDirNotify::emitFilesAdded(QStringLiteral("activities:/") - + usedActivity); + org::kde::KDirNotify::emitFilesAdded(QUrl(QStringLiteral("activities:/") + + usedActivity)); if (usedActivity == StatsPlugin::self()->currentActivity()) { // qDebug() << "Sending link event added: activities:/current"; org::kde::KDirNotify::emitFilesAdded( - QStringLiteral("activities:/current")); + QUrl(QStringLiteral("activities:/current"))); } } @@ -164,12 +164,12 @@ // qDebug() << "Sending link event removed: activities:/" << usedActivity << '/' << mangled; org::kde::KDirNotify::emitFilesRemoved( - { QStringLiteral("activities:/") + usedActivity + '/' + mangled }); + { QUrl(QStringLiteral("activities:/") + usedActivity + '/' + mangled) }); if (usedActivity == StatsPlugin::self()->currentActivity()) { // qDebug() << "Sending link event removed: activities:/current/" << mangled; org::kde::KDirNotify::emitFilesRemoved({ - QStringLiteral("activities:/current/") + mangled}); + QUrl(QStringLiteral("activities:/current/") + mangled) }); } } @@ -265,15 +265,15 @@ // Notify KIO // qDebug() << "Added: activities:/ (" << activity << ")"; - org::kde::KDirNotify::emitFilesAdded(QStringLiteral("activities:/")); + org::kde::KDirNotify::emitFilesAdded(QUrl(QStringLiteral("activities:/"))); } void ResourceLinking::onActivityRemoved(const QString &activity) { // Notify KIO // qDebug() << "Removed: activities:/" << activity; org::kde::KDirNotify::emitFilesRemoved( - { QStringLiteral("activities:/") + activity }); + { QUrl(QStringLiteral("activities:/") + activity) }); // Remove statistics for the activity } @@ -285,5 +285,5 @@ // Notify KIO // qDebug() << "Changed: activities:/current -> " << activity; org::kde::KDirNotify::emitFilesAdded( - { QStringLiteral("activities:/current") }); + { QUrl(QStringLiteral("activities:/current")) }); } diff --git a/src/service/plugins/sqlite/StatsPlugin.cpp b/src/service/plugins/sqlite/StatsPlugin.cpp --- a/src/service/plugins/sqlite/StatsPlugin.cpp +++ b/src/service/plugins/sqlite/StatsPlugin.cpp @@ -215,19 +215,15 @@ void StatsPlugin::detectResourceInfo(const QString &_uri) { - QString file = _uri; + const QUrl uri = QUrl::fromUserInput(_uri); - if (!file.startsWith('/')) { - QUrl uri(_uri); + if (!uri.isLocalFile()) return; - if (!uri.isLocalFile()) return; + const QString file = uri.toLocalFile(); - file = uri.toLocalFile(); + if (!QFile::exists(file)) return; - if (!QFile::exists(file)) return; - } - - KFileItem item(file); + KFileItem item(uri); if (insertResourceInfo(file)) { saveResourceMimetype(file, item.mimetype(), true);