[Baloo Runner] Allow opening parent folder

Since the "Open file manager window job" is not yet finished, this only opens the folder
without highlighting the actual file which will hopefully be added in Plasma 5.7

BUG: 340302
FIXED-IN: 5.6.0

Differential Revision: https://phabricator.kde.org/D904
wilder-5.14
Kai Uwe Broulik 10 years ago
parent 4abb289daf
commit a18be0a6e6
  1. 22
      runners/baloo/baloosearchrunner.cpp
  2. 1
      runners/baloo/baloosearchrunner.h

@ -21,6 +21,7 @@
#include "baloosearchrunner.h"
#include <QAction>
#include <QIcon>
#include <QDir>
#include <KRun>
@ -170,9 +171,30 @@ void SearchRunner::match(Plasma::RunnerContext& context)
void SearchRunner::run(const Plasma::RunnerContext&, const Plasma::QueryMatch& match)
{
const QUrl url = match.data().toUrl();
if (match.selectedAction()) {
if (match.selectedAction()->data().toString() == QLatin1String("openParentDir")) {
new KRun(url.adjusted(QUrl::RemoveFilename), nullptr);
return;
}
}
new KRun(url, 0);
}
QList<QAction *> SearchRunner::actionsForMatch(const Plasma::QueryMatch &match)
{
Q_UNUSED(match)
const QString openParentDirId = QStringLiteral("openParentDir");
if (!action(openParentDirId)) {
(addAction(openParentDirId, QIcon::fromTheme(QStringLiteral("document-open-folder")), i18n("Open Containing Folder")))->setData(openParentDirId);
}
return {action(openParentDirId)};
}
QMimeData *SearchRunner::mimeDataForMatch(const Plasma::QueryMatch &match)
{
QMimeData *result = new QMimeData();

@ -41,6 +41,7 @@ public:
virtual QStringList categories() const;
virtual QIcon categoryIcon(const QString& category) const;
QList<QAction *> actionsForMatch(const Plasma::QueryMatch &match) override;
QMimeData *mimeDataForMatch(const Plasma::QueryMatch &match) override;
protected Q_SLOTS:

Loading…
Cancel
Save