aprcela added a comment.
In D29006#662058 <https://phabricator.kde.org/D29006#662058>, @meven wrote: > Just a check to add. @meven See inline comment In D29006#662094 <https://phabricator.kde.org/D29006#662094>, @dfaure wrote: > Actually, wait, I vote against Ctrl+F5 <https://phabricator.kde.org/F5>/Ctrl+F6 because these shortcuts, by default, in Plasma, are bound to "Switch to Desktop 5" and "Switch to Desktop 6". > > Shift+F5 <https://phabricator.kde.org/F5>/F6 would be much better, if it's available. > > Meven: drag-n-drop is 'easy' but it requires using the mouse. For accessibility, or for people stuck on a plane with a bad touchpad and no room for a real mouse, or simply for maximum performance in optimized workflows, I can see the benefit of keyboard shortcuts. > > Just not if they switch desktops inadvertently, once you configure 6+ virtual desktops :-) `Shift+F5/F6` seems to bee free. So we could go with that. INLINE COMMENTS > meven wrote in dolphinmainwindow.cpp:1993 > This is not sufficient, you can copy or move to `recentlyused:/files/` for > instance, which fails. > So test the other view url to see if it is writable as well. I'm trying to add a check and it only doesn't work only on this kind of folders. Works fine with local and samba share. See diff: diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 428c61952..5e7c56385 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -1959,7 +1959,7 @@ void DolphinMainWindow::updateFileAndEditActions() { const KFileItemList list = m_activeViewContainer->view()->selectedItems(); const KActionCollection* col = actionCollection(); - KFileItemListProperties capabilities(list); + KFileItemListProperties capabilitiesSource(list); QAction* addToPlacesAction = col->action(QStringLiteral("add_to_places")); QAction* copyToOtherViewAction = col->action(QStringLiteral("copy_to_other_split_view")); @@ -1989,22 +1989,31 @@ void DolphinMainWindow::updateFileAndEditActions() } if (m_tabWidget->currentTabPage()->splitViewEnabled()) { - copyToOtherViewAction->setEnabled(true); - moveToOtherViewAction->setEnabled(capabilities.supportsMoving()); + DolphinTabPage* tabPage = m_tabWidget->currentTabPage(); + KFileItem capabilitiesDestination; + + if (tabPage->primaryViewActive()) { + capabilitiesDestination = tabPage->secondaryViewContainer()->url(); + } else { + capabilitiesDestination = tabPage->primaryViewContainer()->url(); + } + + copyToOtherViewAction->setEnabled(capabilitiesDestination.isWritable()); + moveToOtherViewAction->setEnabled(capabilitiesSource.supportsMoving() && capabilitiesDestination.isWritable()); } else { copyToOtherViewAction->setEnabled(false); moveToOtherViewAction->setEnabled(false); } - const bool enableMoveToTrash = capabilities.isLocal() && capabilities.supportsMoving(); + const bool enableMoveToTrash = capabilitiesSource.isLocal() && capabilitiesSource.supportsMoving(); - renameAction->setEnabled(capabilities.supportsMoving()); + renameAction->setEnabled(capabilitiesSource.supportsMoving()); moveToTrashAction->setEnabled(enableMoveToTrash); - deleteAction->setEnabled(capabilities.supportsDeleting()); - deleteWithTrashShortcut->setEnabled(capabilities.supportsDeleting() && !enableMoveToTrash); - cutAction->setEnabled(capabilities.supportsMoving()); + deleteAction->setEnabled(capabilitiesSource.supportsDeleting()); + deleteWithTrashShortcut->setEnabled(capabilitiesSource.supportsDeleting() && !enableMoveToTrash); + cutAction->setEnabled(capabilitiesSource.supportsMoving()); showTarget->setEnabled(list.length() == 1 && list.at(0).isLink()); - duplicateAction->setEnabled(capabilities.supportsWriting()); + duplicateAction->setEnabled(capabilitiesSource.supportsWriting()); } } REPOSITORY R318 Dolphin REVISION DETAIL https://phabricator.kde.org/D29006 To: aprcela, #dolphin, elvisangelaccio, ngraham, meven, dfaure Cc: yurchor, kde-doc-english, dfaure, meven, kfm-devel, azyx, nikolaik, pberestov, iasensio, aprcela, fprice, gennad, fbampaloukas, alexde, Codezela, feverfew, spoorun, navarromorales, firef, ngraham, andrebarros, skadinna, emmanuelp, rdieter, mikesomov
