diff options
| -rw-r--r-- | src/dolphincontextmenu.cpp | 5 | ||||
| -rw-r--r-- | src/dolphinviewcontainer.cpp | 9 |
2 files changed, 6 insertions, 8 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 68f6dbd21..3ce1d1d51 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -381,9 +381,8 @@ bool DolphinContextMenu::placeExists(const QUrl &url) const { const KFilePlacesModel *placesModel = DolphinPlacesModelSingleton::instance().placesModel(); - const auto &matchedPlaces = placesModel->match(placesModel->index(0, 0), KFilePlacesModel::UrlRole, url, 1, Qt::MatchExactly); - - return !matchedPlaces.isEmpty(); + QModelIndex url_index = placesModel->closestItem(url); + return url_index.isValid() && placesModel->url(url_index).matches(url, QUrl::StripTrailingSlash); } QAction *DolphinContextMenu::createPasteAction() diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index ef76042b8..e55519d04 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -552,12 +552,11 @@ QString DolphinViewContainer::caption() const } KFilePlacesModel *placesModel = DolphinPlacesModelSingleton::instance().placesModel(); - const QString pattern = url().adjusted(QUrl::StripTrailingSlash).toString(QUrl::FullyEncoded).append("/?"); - const auto &matchedPlaces = - placesModel->match(placesModel->index(0, 0), KFilePlacesModel::UrlRole, QRegularExpression::anchoredPattern(pattern), 1, Qt::MatchRegularExpression); - if (!matchedPlaces.isEmpty()) { - return placesModel->text(matchedPlaces.first()); + QModelIndex url_index = placesModel->closestItem(url()); + + if (url_index.isValid() && placesModel->url(url_index).matches(url(), QUrl::StripTrailingSlash)) { + return placesModel->text(url_index); } if (!url().isLocalFile()) { |
