mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
Show the "Find File" and "Open Terminal" actions in the Tools for file URLs only.
BUG: 279283 FIXED-IN: 4.9.0 REVIEW: 105607
This commit is contained in:
parent
95d655683c
commit
9a622c16d9
2 changed files with 20 additions and 10 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue