]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/places/placesitemmodel.cpp
Exclude m_terminalPanel references when built on Windows
[dolphin.git] / src / panels / places / placesitemmodel.cpp
index 422db8fc3fe14d3cec48090242fd0a98396cc4a9..ad01ea87e736d3ed0ddcf20bb881e323d84b50d2 100644 (file)
@@ -56,6 +56,17 @@ namespace {
     // Hence a prefix to the application-name of the stored bookmarks is
     // added, which is only read by PlacesItemModel.
     const char AppNamePrefix[] = "-places-panel";
+
+    static QList<QUrl> balooURLs = {
+        QUrl(QStringLiteral("timeline:/today")),
+        QUrl(QStringLiteral("timeline:/yesterday")),
+        QUrl(QStringLiteral("timeline:/thismonth")),
+        QUrl(QStringLiteral("timeline:/lastmonth")),
+        QUrl(QStringLiteral("search:/documents")),
+        QUrl(QStringLiteral("search:/images")),
+        QUrl(QStringLiteral("search:/audio")),
+        QUrl(QStringLiteral("search:/videos"))
+    };
 }
 
 PlacesItemModel::PlacesItemModel(QObject* parent) :
@@ -630,6 +641,12 @@ bool PlacesItemModel::acceptBookmark(const KBookmark& bookmark) const
     const QString udi = bookmark.metaDataItem(QStringLiteral("UDI"));
     const QUrl url = bookmark.url();
     const QString appName = bookmark.metaDataItem(QStringLiteral("OnlyInApp"));
+
+    if (balooURLs.contains(url) && appName.isEmpty()) {
+        // Does not accept baloo URLS with empty appName, this came from new KIO model and will cause duplications
+        qCWarning(DolphinDebug) << "Ignore KIO url:" << url;
+        return false;
+    }
     const bool allowedHere = (appName.isEmpty()
                               || appName == KAboutData::applicationData().componentName()
                               || appName == KAboutData::applicationData().componentName() + AppNamePrefix);