diff --git a/src/filewidgets/kdiroperator.h b/src/filewidgets/kdiroperator.h --- a/src/filewidgets/kdiroperator.h +++ b/src/filewidgets/kdiroperator.h @@ -923,6 +923,7 @@ Q_PRIVATE_SLOT(d, void _k_slotToggleHidden(bool)) Q_PRIVATE_SLOT(d, void _k_togglePreview(bool)) Q_PRIVATE_SLOT(d, void _k_toggleInlinePreviews(bool)) + Q_PRIVATE_SLOT(d, void _k_slotOpen()) Q_PRIVATE_SLOT(d, void _k_slotOpenFileManager()) Q_PRIVATE_SLOT(d, void _k_slotSortByName()) Q_PRIVATE_SLOT(d, void _k_slotSortBySize()) diff --git a/src/filewidgets/kdiroperator.cpp b/src/filewidgets/kdiroperator.cpp --- a/src/filewidgets/kdiroperator.cpp +++ b/src/filewidgets/kdiroperator.cpp @@ -200,6 +200,7 @@ void _k_slotToggleHidden(bool); void _k_togglePreview(bool); void _k_toggleInlinePreviews(bool); + void _k_slotOpen(); void _k_slotOpenFileManager(); void _k_slotSortByName(); void _k_slotSortBySize(); @@ -661,6 +662,18 @@ previewGenerator->setPreviewShown(show); } +void KDirOperator::Private::_k_slotOpen() +{ + const KFileItemList list = parent->selectedItems(); + if (list.isEmpty()) { + new KRun(currUrl, parent); + } else { + foreach (const QUrl &url, list.urlList()) { + new KRun(url, parent); + } + } +} + void KDirOperator::Private::_k_slotOpenFileManager() { const KFileItemList list = parent->selectedItems(); @@ -1977,6 +1990,10 @@ inlinePreview->setShortcut(Qt::Key_F12); connect(inlinePreview, SIGNAL(toggled(bool)), SLOT(_k_toggleInlinePreviews(bool))); + QAction *openItem = new QAction(i18n("Open"), this); + d->actionCollection->addAction(QStringLiteral("open"), openItem); + connect(openItem, SIGNAL(triggered()), SLOT(_k_slotOpen())); + QAction *fileManager = new QAction(i18n("Open Containing Folder"), this); d->actionCollection->addAction(QStringLiteral("file manager"), fileManager); fileManager->setIcon(QIcon::fromTheme(QStringLiteral("system-file-manager"))); @@ -2064,6 +2081,7 @@ } if (whichActions & FileActions) { + d->actionMenu->addAction(d->actionCollection->action(QStringLiteral("open"))); d->actionMenu->addAction(d->actionCollection->action(QStringLiteral("file manager"))); d->actionMenu->addAction(d->actionCollection->action(QStringLiteral("properties"))); }