diff --git a/src/filewidgets/kfileplacesmodel.cpp b/src/filewidgets/kfileplacesmodel.cpp --- a/src/filewidgets/kfileplacesmodel.cpp +++ b/src/filewidgets/kfileplacesmodel.cpp @@ -1043,23 +1043,30 @@ void KFilePlacesModel::addPlace(const QString &text, const QUrl &url, const QString &iconName, const QString &appName) { - addPlace(text, url, iconName, appName, QModelIndex()); + KBookmark bookmark = KFilePlacesItem::createBookmark(d->bookmarkManager, text, url, iconName); + + if (!appName.isEmpty()) { + bookmark.setMetaDataItem(QStringLiteral("OnlyInApp"), appName); + } + + refresh(); } void KFilePlacesModel::addPlace(const QString &text, const QUrl &url, const QString &iconName, const QString &appName, const QModelIndex &after) { - KBookmark bookmark = KFilePlacesItem::createBookmark(d->bookmarkManager, - text, url, iconName); + KBookmark bookmark = KFilePlacesItem::createBookmark(d->bookmarkManager, text, url, iconName); if (!appName.isEmpty()) { bookmark.setMetaDataItem(QStringLiteral("OnlyInApp"), appName); } if (after.isValid()) { KFilePlacesItem *item = static_cast(after.internalPointer()); d->bookmarkManager->root().moveBookmark(bookmark, item->bookmark()); + } else { + d->bookmarkManager->root().moveBookmark(bookmark, KBookmark()); } refresh();