diff --git a/privacyfunctions.h b/privacyfunctions.h --- a/privacyfunctions.h +++ b/privacyfunctions.h @@ -136,7 +136,7 @@ public: ClearRecentApplicationAction(QTreeWidgetItem * parent) : PrivacyAction(parent, i18n("Recent Applications"), - i18n("Clears the list of recently used applications from KDE menu")) { } + i18n("Clears the usage history (applications and documents) from Plasma's menus")) { } bool action(); /* reimp */ QString configKey() const { return QStringLiteral("ClearQuickStartMenu"); } }; diff --git a/privacyfunctions.cpp b/privacyfunctions.cpp --- a/privacyfunctions.cpp +++ b/privacyfunctions.cpp @@ -225,8 +225,12 @@ bool ClearRecentApplicationAction::action() { - QDBusMessage message = - QDBusMessage::createSignal(QLatin1String( "/kickoff/RecentAppDoc" ), QLatin1String( "org.kde.plasma" ), QLatin1String( "clearRecentDocumentsAndApplications" )); + QDBusMessage message = QDBusMessage::createMethodCall( + QStringLiteral("org.kde.ActivityManager"), + QStringLiteral("/ActivityManager/Resources/Scoring"), + QStringLiteral("org.kde.ActivityManager.ResourcesScoring"), + QStringLiteral("DeleteRecentStats")); + message << QString() << 0 << QStringLiteral("everything"); QDBusConnection::sessionBus().send(message); return true; diff --git a/sweeper.cpp b/sweeper.cpp --- a/sweeper.cpp +++ b/sweeper.cpp @@ -154,9 +154,9 @@ checklist.append(new ClearSavedClipboardContentsAction(generalCLI)); checklist.append(new ClearRecentDocumentsAction(generalCLI)); checklist.append(new ClearRunCommandHistoryAction(generalCLI)); -#ifdef Q_WS_X11 - checklist.append( new ClearRecentApplicationAction( generalCLI ) ); -#endif + if (QDBusConnection::sessionBus().interface()->isServiceRegistered(QStringLiteral("org.kde.ActivityManager"))) { + checklist.append( new ClearRecentApplicationAction( generalCLI ) ); + } checklist.append(new ClearThumbnailsAction(generalCLI)); checklist.append(new ClearAllCookiesAction(webbrowsingCLI));