From 24ed38d77f4bc6db71ba2608452fa0cd401bddac Mon Sep 17 00:00:00 2001 From: Elvis Angelaccio Date: Mon, 2 Jan 2017 14:52:37 +0100 Subject: [PATCH] Properly disable create_dir action in Trash `isFolderWritable` is set in DolphinView::updateWritableState() according to KFileItemListProperties::supportsWriting(). However, `writing=true` does not imply `makedir=true`, in an ioslave's .protocol file. An example is the trash protocol. So we need to enable the `create_dir` action only if the protocol is actually able to create folders. CCBUG: 332463 REVIEW: 129712 --- src/views/dolphinviewactionhandler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 858f9299b9..5c0b49cd20 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include "dolphindebug.h" @@ -486,7 +487,8 @@ void DolphinViewActionHandler::slotHiddenFilesShownChanged(bool shown) void DolphinViewActionHandler::slotWriteStateChanged(bool isFolderWritable) { - m_actionCollection->action(QStringLiteral("create_dir"))->setEnabled(isFolderWritable); + m_actionCollection->action(QStringLiteral("create_dir"))->setEnabled(isFolderWritable && + KProtocolManager::supportsMakeDir(currentView()->url())); } KToggleAction* DolphinViewActionHandler::iconsModeAction()