diff --git a/src/kits/tracker/Shortcuts.cpp b/src/kits/tracker/Shortcuts.cpp index 093e6adc84..a6b5838af8 100644 --- a/src/kits/tracker/Shortcuts.cpp +++ b/src/kits/tracker/Shortcuts.cpp @@ -1296,7 +1296,8 @@ TShortcuts::UpdatePasteItem(BMenuItem* item) item->SetShortcut(item->Shortcut(), B_COMMAND_KEY | (modifiers() & B_SHIFT_KEY)); if (fInWindow) { - bool isPastable = FSClipboardHasRefs() && !SelectionIsReadOnly() && !IsTrash(); + bool isPastable = FSClipboardHasRefs() && TargetIsReadOnly() == false + && !(IsPrintersDir() || IsRoot() || IsTrash() || InTrash() || IsVirtualDirectory()); item->SetEnabled(IsCurrentFocusOnTextView() || isPastable); item->SetTarget(fContainerWindow); @@ -1421,6 +1422,13 @@ TShortcuts::IsDesktop() const } +bool +TShortcuts::IsPrintersDir() const +{ + return fInWindow && PoseView()->TargetModel()->IsPrintersDir(); +} + + bool TShortcuts::IsQuery() const { diff --git a/src/kits/tracker/Shortcuts.h b/src/kits/tracker/Shortcuts.h index 581566070f..98a571c646 100644 --- a/src/kits/tracker/Shortcuts.h +++ b/src/kits/tracker/Shortcuts.h @@ -199,6 +199,7 @@ public: bool IsCurrentFocusOnTextView() const; bool IsDesktop() const; + bool IsPrintersDir() const; bool IsQuery() const; bool IsQueryTemplate() const; bool IsRoot() const;