┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDawit Alemayehu <[email protected]>2012-07-17 22:47:10 -0400
committerDawit Alemayehu <[email protected]>2012-07-22 17:29:31 -0400
commitec2d5c7a7f1400f612962b9dc8f8396c882332f9 (patch)
tree68115ecb7d6d7102c1beb1ab08ca6638ceabf092 /src
parent43474e7b9d55c3fe768032cf7e69f46bcf5c14cd (diff)
Show the "Find File" and "Open Terminal" actions in the Tools for file URLs only.
BUG: 279283 FIXED-IN: 4.9.0 REVIEW: 105607
Diffstat (limited to 'src')
-rw-r--r--src/dolphinpart.cpp28
-rw-r--r--src/dolphinpart.h2
2 files changed, 20 insertions, 10 deletions
diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp
index b3b7cd044..d1626e55d 100644
--- a/src/dolphinpart.cpp
+++ b/src/dolphinpart.cpp
@@ -56,6 +56,7 @@ K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart", "dolphin"))
DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args)
: KParts::ReadOnlyPart(parent)
+ ,m_openTerminalAction(0)
{
Q_UNUSED(args)
setComponentData(DolphinPartFactory::componentData(), false);
@@ -190,18 +191,18 @@ void DolphinPart::createActions()
goActionGroup);
// Tools menu
- KAction* findFile = actionCollection()->addAction("find_file");
- findFile->setText(i18nc("@action:inmenu Tools", "Find File..."));
- findFile->setShortcut(Qt::CTRL | Qt::Key_F);
- findFile->setIcon(KIcon("edit-find"));
- connect(findFile, SIGNAL(triggered()), this, SLOT(slotFindFile()));
+ m_findFileAction = actionCollection()->addAction("find_file");
+ m_findFileAction->setText(i18nc("@action:inmenu Tools", "Find File..."));
+ m_findFileAction->setShortcut(Qt::CTRL | Qt::Key_F);
+ m_findFileAction->setIcon(KIcon("edit-find"));
+ connect(m_findFileAction, SIGNAL(triggered()), this, SLOT(slotFindFile()));
if (KAuthorized::authorizeKAction("shell_access")) {
- KAction* action = actionCollection()->addAction("open_terminal");
- action->setIcon(KIcon("utilities-terminal"));
- action->setText(i18nc("@action:inmenu Tools", "Open &Terminal"));
- connect(action, SIGNAL(triggered()), SLOT(slotOpenTerminal()));
- action->setShortcut(Qt::Key_F4);
+ m_openTerminalAction = actionCollection()->addAction("open_terminal");
+ m_openTerminalAction->setIcon(KIcon("utilities-terminal"));
+ m_openTerminalAction->setText(i18nc("@action:inmenu Tools", "Open &Terminal"));
+ connect(m_openTerminalAction, SIGNAL(triggered()), SLOT(slotOpenTerminal()));
+ m_openTerminalAction->setShortcut(Qt::Key_F4);
}
}
@@ -296,6 +297,13 @@ bool DolphinPart::openUrl(const KUrl& url)
emit aboutToOpenURL();
if (reload)
m_view->reload();
+ // Disable "Find File" and "Open Terminal" actions for non-file URLs,
+ // e.g. ftp, smb, etc. #279283
+ const bool isLocalUrl = url.isLocalFile();
+ m_findFileAction->setEnabled(isLocalUrl);
+ if (m_openTerminalAction) {
+ m_openTerminalAction->setEnabled(isLocalUrl);
+ }
return true;
}
diff --git a/src/dolphinpart.h b/src/dolphinpart.h
index 0a8ce07bd..e5693b363 100644
--- a/src/dolphinpart.h
+++ b/src/dolphinpart.h
@@ -238,6 +238,8 @@ private:
DolphinRemoteEncoding* m_remoteEncoding;
DolphinPartBrowserExtension* m_extension;
KNewFileMenu* m_newFileMenu;
+ KAction* m_findFileAction;
+ KAction* m_openTerminalAction;
QString m_nameFilter;
Q_DISABLE_COPY(DolphinPart)
};