Changeset View
Changeset View
Standalone View
Standalone View
applets/kicker/plugin/recentusagemodel.cpp
Show All 35 Lines | |||||
36 | 36 | | |||
37 | #include <KActivities/ResourceInstance> | 37 | #include <KActivities/ResourceInstance> | ||
38 | #include <KFileItem> | 38 | #include <KFileItem> | ||
39 | #include <KLocalizedString> | 39 | #include <KLocalizedString> | ||
40 | #include <KMimeTypeTrader> | 40 | #include <KMimeTypeTrader> | ||
41 | #include <KRun> | 41 | #include <KRun> | ||
42 | #include <KService> | 42 | #include <KService> | ||
43 | #include <KStartupInfo> | 43 | #include <KStartupInfo> | ||
44 | #include <KIO/OpenFileManagerWindowJob> | ||||
44 | 45 | | |||
45 | #include <KActivities/Stats/Cleaning> | 46 | #include <KActivities/Stats/Cleaning> | ||
46 | #include <KActivities/Stats/ResultModel> | 47 | #include <KActivities/Stats/ResultModel> | ||
47 | #include <KActivities/Stats/Terms> | 48 | #include <KActivities/Stats/Terms> | ||
48 | 49 | | |||
49 | namespace KAStats = KActivities::Stats; | 50 | namespace KAStats = KActivities::Stats; | ||
50 | 51 | | |||
51 | using namespace KAStats; | 52 | using namespace KAStats; | ||
▲ Show 20 Lines • Show All 206 Lines • ▼ Show 20 Line(s) | 253 | #endif | |||
258 | if (role == Qt::DisplayRole) { | 259 | if (role == Qt::DisplayRole) { | ||
259 | return fileItem.text(); | 260 | return fileItem.text(); | ||
260 | } else if (role == Qt::DecorationRole) { | 261 | } else if (role == Qt::DecorationRole) { | ||
261 | return QIcon::fromTheme(fileItem.iconName(), QIcon::fromTheme(QStringLiteral("unknown"))); | 262 | return QIcon::fromTheme(fileItem.iconName(), QIcon::fromTheme(QStringLiteral("unknown"))); | ||
262 | } else if (role == Kicker::GroupRole) { | 263 | } else if (role == Kicker::GroupRole) { | ||
263 | return i18n("Documents"); | 264 | return i18n("Documents"); | ||
264 | } else if (role == Kicker::FavoriteIdRole || role == Kicker::UrlRole) { | 265 | } else if (role == Kicker::FavoriteIdRole || role == Kicker::UrlRole) { | ||
265 | return url.toString(); | 266 | return url.toString(); | ||
267 | } else if (role == Kicker::DescriptionRole) { | ||||
268 | QString desc = fileItem.localPath(); | ||||
269 | desc.truncate(desc.lastIndexOf(QChar('/'))); | ||||
broulik: Can you use the "~" for HOME like the runners do please | |||||
I am thinking about adding this utility feature to KCoreAddons and avoid more duplication. meven: I am thinking about adding this utility feature to KCoreAddons and avoid more duplication. | |||||
meven: https://phabricator.kde.org/D26122 | |||||
270 | return desc; | ||||
266 | } else if (role == Kicker::UrlRole) { | 271 | } else if (role == Kicker::UrlRole) { | ||
267 | return url; | 272 | return url; | ||
268 | } else if (role == Kicker::HasActionListRole) { | 273 | } else if (role == Kicker::HasActionListRole) { | ||
269 | return true; | 274 | return true; | ||
270 | } else if (role == Kicker::ActionListRole) { | 275 | } else if (role == Kicker::ActionListRole) { | ||
271 | QVariantList actionList = Kicker::createActionListForFileItem(fileItem); | 276 | QVariantList actionList = Kicker::createActionListForFileItem(fileItem); | ||
272 | 277 | | |||
273 | actionList << Kicker::createSeparatorActionItem(); | 278 | actionList << Kicker::createSeparatorActionItem(); | ||
274 | 279 | | |||
280 | const QVariantMap &openParentFolder = Kicker::createActionItem(i18n("Open Containing folder"), QStringLiteral("openParentFolder")); | ||||
281 | actionList << openParentFolder; | ||||
282 | | ||||
275 | const QVariantMap &forgetAction = Kicker::createActionItem(i18n("Forget Document"), QStringLiteral("forget")); | 283 | const QVariantMap &forgetAction = Kicker::createActionItem(i18n("Forget Document"), QStringLiteral("forget")); | ||
276 | actionList << forgetAction; | 284 | actionList << forgetAction; | ||
277 | 285 | | |||
278 | const QVariantMap &forgetAllAction = Kicker::createActionItem(forgetAllActionName(), QStringLiteral("forgetAll")); | 286 | const QVariantMap &forgetAllAction = Kicker::createActionItem(forgetAllActionName(), QStringLiteral("forgetAll")); | ||
279 | actionList << forgetAllAction; | 287 | actionList << forgetAllAction; | ||
280 | 288 | | |||
281 | return actionList; | 289 | return actionList; | ||
282 | } | 290 | } | ||
▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Line(s) | 349 | while (sourceProxy) { | |||
342 | idx = sourceProxy->mapToSource(idx); | 350 | idx = sourceProxy->mapToSource(idx); | ||
343 | sourceProxy = qobject_cast<QSortFilterProxyModel *>(sourceProxy->sourceModel()); | 351 | sourceProxy = qobject_cast<QSortFilterProxyModel *>(sourceProxy->sourceModel()); | ||
344 | } | 352 | } | ||
345 | 353 | | |||
346 | static_cast<ResultModel *>(m_activitiesModel.data())->forgetResource(idx.row()); | 354 | static_cast<ResultModel *>(m_activitiesModel.data())->forgetResource(idx.row()); | ||
347 | } | 355 | } | ||
348 | 356 | | |||
349 | return false; | 357 | return false; | ||
358 | } else if (actionId == QLatin1String("openParentFolder") && withinBounds) { | ||||
359 | const auto url = QUrl::fromUserInput(resourceAt(row)); | ||||
360 | KIO::highlightInFileManager({url}); | ||||
Probably worth just doing this in a single line rather than defining a variable used only once ngraham: Probably worth just doing this in a single line rather than defining a variable used only once | |||||
I did this for readability, I think we should keep this. KIO::highlightInFileManager({QUrl::fromUserInput(resourceAt(row))}); meven: I did this for readability, I think we should keep this.
The alternative is a little convoluted… | |||||
350 | } else if (actionId == QLatin1String("forgetAll")) { | 361 | } else if (actionId == QLatin1String("forgetAll")) { | ||
351 | if (m_activitiesModel) { | 362 | if (m_activitiesModel) { | ||
352 | static_cast<ResultModel *>(m_activitiesModel.data())->forgetAllResources(); | 363 | static_cast<ResultModel *>(m_activitiesModel.data())->forgetAllResources(); | ||
353 | } | 364 | } | ||
354 | 365 | | |||
355 | return false; | 366 | return false; | ||
356 | } else if (withinBounds) { | 367 | } else if (withinBounds) { | ||
357 | const QString &resource = resourceAt(row); | 368 | const QString &resource = resourceAt(row); | ||
▲ Show 20 Lines • Show All 134 Lines • Show Last 20 Lines |
Can you use the "~" for HOME like the runners do please