- copyToOtherViewAction->setEnabled(capabilitiesDestination.isWritable() && allNotTargetOrigin);
- moveToOtherViewAction->setEnabled((list.isEmpty() || capabilitiesSource.supportsMoving()) && capabilitiesDestination.isWritable()
- && allNotTargetOrigin);
- } else {
- copyToOtherViewAction->setEnabled(false);
- moveToOtherViewAction->setEnabled(false);
+ if (!allNotTargetOrigin) {
+ copyToOtherViewAction->setEnabled(false);
+ m_disabledActionNotifier->setDisabledReason(copyToOtherViewAction,
+ i18nc("@info", "Cannot copy to other view: The other view already contains these items."));
+ moveToOtherViewAction->setEnabled(false);
+ m_disabledActionNotifier->setDisabledReason(moveToOtherViewAction,
+ i18nc("@info", "Cannot move to other view: The other view already contains these items."));
+ } else if (!capabilitiesDestination.isWritable()) {
+ copyToOtherViewAction->setEnabled(false);
+ m_disabledActionNotifier->setDisabledReason(
+ copyToOtherViewAction,
+ i18nc("@info", "Cannot copy to other view: You do not have permission to write into the destination folder."));
+ moveToOtherViewAction->setEnabled(false);
+ m_disabledActionNotifier->setDisabledReason(
+ moveToOtherViewAction,
+ i18nc("@info", "Cannot move to other view: You do not have permission to write into the destination folder."));
+ } else {
+ copyToOtherViewAction->setEnabled(true);
+ moveToOtherViewAction->setEnabled(capabilitiesSource.supportsMoving());
+ m_disabledActionNotifier->setDisabledReason(
+ moveToOtherViewAction,
+ i18nc("@info", "Cannot move to other view: You do not have permission to move items from this folder."));
+ }