diff options
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_context_menu.cc')
-rw-r--r-- | chrome/browser/bookmarks/bookmark_context_menu.cc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/chrome/browser/bookmarks/bookmark_context_menu.cc b/chrome/browser/bookmarks/bookmark_context_menu.cc index 1841f2b..9cdacbf 100644 --- a/chrome/browser/bookmarks/bookmark_context_menu.cc +++ b/chrome/browser/bookmarks/bookmark_context_menu.cc @@ -269,6 +269,20 @@ BookmarkContextMenu::BookmarkContextMenu( l10n_util::GetString(IDS_BOOKMARK_MANAGER_SHOW_IN_FOLDER)); } + if (configuration == BOOKMARK_MANAGER_TABLE || + configuration == BOOKMARK_MANAGER_TABLE_OTHER || + configuration == BOOKMARK_MANAGER_TREE || + configuration == BOOKMARK_MANAGER_ORGANIZE_MENU || + configuration == BOOKMARK_MANAGER_ORGANIZE_MENU_OTHER) { + menu_->AppendSeparator(); + menu_->AppendMenuItemWithLabel( + IDS_CUT, l10n_util::GetString(IDS_CUT)); + menu_->AppendMenuItemWithLabel( + IDS_COPY, l10n_util::GetString(IDS_COPY)); + menu_->AppendMenuItemWithLabel( + IDS_PASTE, l10n_util::GetString(IDS_PASTE)); + } + menu_->AppendSeparator(); menu_->AppendMenuItemWithLabel( @@ -413,6 +427,26 @@ void BookmarkContextMenu::ExecuteCommand(int id) { BookmarkManagerView::Show(profile_); break; + case IDS_COPY: + case IDS_CUT: + bookmark_utils::CopyToClipboard(profile_->GetBookmarkModel(), + selection_, id == IDS_CUT); + break; + + case IDS_PASTE: { + // Always paste to parent. + if (!parent_) + return; + + int index = (selection_.size() == 1) ? + parent_->IndexOfChild(selection_[0]) : -1; + if (index != -1) + index++; + bookmark_utils::PasteFromClipboard(profile_->GetBookmarkModel(), + parent_, index); + break; + } + default: NOTREACHED(); } @@ -452,6 +486,14 @@ bool BookmarkContextMenu::IsCommandEnabled(int id) const { case IDS_BOOMARK_BAR_NEW_FOLDER: case IDS_BOOMARK_BAR_ADD_NEW_BOOKMARK: return GetParentForNewNodes() != NULL; + + case IDS_COPY: + case IDS_CUT: + return selection_.size() > 0 && !is_root_node; + + case IDS_PASTE: + // Always paste to parent. + return bookmark_utils::CanPasteFromClipboard(parent_); } return true; } |