diff --git a/applets/kicker/plugin/recentusagemodel.cpp b/applets/kicker/plugin/recentusagemodel.cpp --- a/applets/kicker/plugin/recentusagemodel.cpp +++ b/applets/kicker/plugin/recentusagemodel.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -263,6 +264,10 @@ return i18n("Documents"); } else if (role == Kicker::FavoriteIdRole || role == Kicker::UrlRole) { return url.toString(); + } else if (role == Kicker::DescriptionRole) { + QString desc = fileItem.localPath(); + desc.truncate(desc.lastIndexOf(QChar('/'))); + return desc; } else if (role == Kicker::UrlRole) { return url; } else if (role == Kicker::HasActionListRole) { @@ -272,6 +277,9 @@ actionList << Kicker::createSeparatorActionItem(); + const QVariantMap &openParentFolder = Kicker::createActionItem(i18n("Open Containing Folder"), QStringLiteral("openParentFolder")); + actionList << openParentFolder; + const QVariantMap &forgetAction = Kicker::createActionItem(i18n("Forget Document"), QStringLiteral("forget")); actionList << forgetAction; @@ -347,6 +355,9 @@ } return false; + } else if (actionId == QLatin1String("openParentFolder") && withinBounds) { + const auto url = QUrl::fromUserInput(resourceAt(row)); + KIO::highlightInFileManager({url}); } else if (actionId == QLatin1String("forgetAll")) { if (m_activitiesModel) { static_cast(m_activitiesModel.data())->forgetAllResources();