From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sat, 9 Apr 2022 23:01:55 +0200 Subject: Bookmarks select all menu entry License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../java/res/menu/bookmark_action_bar_menu.xml | 7 +++++++ .../browser/bookmarks/BookmarkActionBar.java | 15 +++++++++++++++ .../ui/android/strings/android_chrome_strings.grd | 3 +++ 3 files changed, 25 insertions(+) diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml --- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml +++ b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml @@ -21,6 +21,13 @@ android:visible="false" app:showAsAction="ifRoom" app:iconTint="@color/default_icon_color_secondary_tint_list" /> + new TabDelegate(true), mDelegate.getModel()); selectionDelegate.clearSelection(); return true; + } else if (menuItem.getItemId() == R.id.select_all_menu_id) { + BookmarkModel bookmarkModel = mDelegate.getModel(); + if (bookmarkModel.isBookmarkModelLoaded()) { + List items = bookmarkModel.getBookmarksForFolder(mCurrentFolder.getId()); + HashSet ids = new HashSet<>(items.size()); + for (BookmarkItem item : items) { + ids.add(item.getId()); + } + selectionDelegate.setSelectedItems(ids); + } + return true; } assert false : "Unhandled menu click."; @@ -146,6 +158,7 @@ public class BookmarkActionBar extends SelectableListToolbar void showLoadingUi() { setTitle(null); setNavigationButton(NAVIGATION_BUTTON_NONE); + getMenu().findItem(R.id.select_all_menu_id).setVisible(false); getMenu().findItem(R.id.import_menu_id).setVisible(false); getMenu().findItem(R.id.export_menu_id).setVisible(false); getMenu().findItem(R.id.search_menu_id).setVisible(false); @@ -157,6 +170,7 @@ public class BookmarkActionBar extends SelectableListToolbar super.showNormalView(); if (mDelegate == null) { + getMenu().findItem(R.id.select_all_menu_id).setVisible(false); getMenu().findItem(R.id.import_menu_id).setVisible(false); getMenu().findItem(R.id.export_menu_id).setVisible(false); getMenu().findItem(R.id.search_menu_id).setVisible(false); @@ -188,6 +202,7 @@ public class BookmarkActionBar extends SelectableListToolbar @Override public void onFolderStateSet(BookmarkId folder) { mCurrentFolder = mDelegate.getModel().getBookmarkById(folder); + getMenu().findItem(R.id.select_all_menu_id).setVisible(true); getMenu().findItem(R.id.import_menu_id).setVisible(true); getMenu().findItem(R.id.export_menu_id).setVisible(true); getMenu().findItem(R.id.search_menu_id).setVisible(true); diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd @@ -243,6 +243,9 @@ CHAR_LIMIT guidelines: Sites + + Select all + Import -- 2.25.1