From 24ed38d77f4bc6db71ba2608452fa0cd401bddac Mon Sep 17 00:00:00 2001 From: Elvis Angelaccio Date: Mon, 2 Jan 2017 14:52:37 +0100 Subject: 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(-) (limited to 'src/views/dolphinviewactionhandler.cpp') diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 858f9299b..5c0b49cd2 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() -- cgit v1.3 From 85121a8115c5a8b6b7c0a01073663d51bd64e6ae Mon Sep 17 00:00:00 2001 From: Elvis Angelaccio Date: Sat, 14 Jan 2017 12:52:58 +0100 Subject: Don't overwrite custom icons for the show_hidden_files action BUG: 374508 FIXED-IN: 16.12.2 REVIEW: 129789 --- src/views/dolphinviewactionhandler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/views/dolphinviewactionhandler.cpp') diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 5c0b49cd2..273bcdd76 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -482,6 +482,12 @@ void DolphinViewActionHandler::slotHiddenFilesShownChanged(bool shown) QAction* showHiddenFilesAction = m_actionCollection->action(QStringLiteral("show_hidden_files")); showHiddenFilesAction->setChecked(shown); + // #374508: don't overwrite custom icons. + const QString iconName = showHiddenFilesAction->icon().name(); + if (!iconName.isEmpty() && iconName != QLatin1String("visibility") && iconName != QLatin1String("hint")) { + return; + } + showHiddenFilesAction->setIcon(QIcon::fromTheme(shown ? QStringLiteral("visibility") : QStringLiteral("hint"))); } -- cgit v1.3