| Index: chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm
|
| index e172131151c3656c7eb743e9bf10582ea3d40ad7..e57bf053cc2995d241c82094d4f478f42cf6d509 100644
|
| --- a/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm
|
| @@ -10,6 +10,8 @@
|
| #include "base/logging.h"
|
| #include "base/mac/bundle_locations.h"
|
| #include "base/mac/foundation_util.h"
|
| +#include "base/mac/mac_util.h"
|
| +#import "base/mac/sdk_forward_declarations.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| #include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
| #include "chrome/browser/bookmarks/managed_bookmark_service_factory.h"
|
| @@ -20,17 +22,33 @@
|
| #import "chrome/browser/ui/cocoa/bookmarks/bookmark_name_folder_controller.h"
|
| #import "chrome/browser/ui/cocoa/bookmarks/bookmark_tree_browser_cell.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_controller.h"
|
| +#include "chrome/common/chrome_features.h"
|
| +#include "chrome/grit/generated_resources.h"
|
| #include "components/bookmarks/browser/bookmark_model.h"
|
| #include "components/bookmarks/managed/managed_bookmark_service.h"
|
| #include "components/strings/grit/components_strings.h"
|
| +#include "ui/base/cocoa/touch_bar_util.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/l10n/l10n_util_mac.h"
|
| #include "ui/base/material_design/material_design_controller.h"
|
| +#include "ui/strings/grit/ui_strings.h"
|
|
|
| using bookmarks::BookmarkExpandedStateTracker;
|
| using bookmarks::BookmarkModel;
|
| using bookmarks::BookmarkNode;
|
|
|
| +namespace {
|
| +
|
| +// Touch bar identifier.
|
| +NSString* const kBookmarkEditDialogTouchBarId = @"bookmark-edit-dialog";
|
| +
|
| +// Touch bar item identifiers.
|
| +NSString* const kNewFolderTouchBarId = @"NEW-FOLDER";
|
| +NSString* const kCancelTouchBarId = @"CANCEL";
|
| +NSString* const kSaveTouchBarId = @"SAVE";
|
| +
|
| +} // end namespace
|
| +
|
| @interface BookmarkEditorBaseController ()
|
|
|
| // Return the folder tree object for the given path.
|
| @@ -341,6 +359,52 @@ NSString* const kOkEnabledName = @"okEnabled";
|
| [self autorelease];
|
| }
|
|
|
| +- (NSTouchBar*)makeTouchBar {
|
| + if (!base::FeatureList::IsEnabled(features::kBrowserTouchBar))
|
| + return nil;
|
| +
|
| + base::scoped_nsobject<NSTouchBar> touchBar([[ui::NSTouchBar() alloc] init]);
|
| + [touchBar setCustomizationIdentifier:ui::GetTouchBarId(
|
| + kBookmarkEditDialogTouchBarId)];
|
| + [touchBar setDelegate:self];
|
| +
|
| + NSArray* dialogItems = @[
|
| + ui::GetTouchBarItemId(kBookmarkEditDialogTouchBarId, kNewFolderTouchBarId),
|
| + ui::GetTouchBarItemId(kBookmarkEditDialogTouchBarId, kCancelTouchBarId),
|
| + ui::GetTouchBarItemId(kBookmarkEditDialogTouchBarId, kSaveTouchBarId)
|
| + ];
|
| +
|
| + [touchBar setDefaultItemIdentifiers:dialogItems];
|
| + [touchBar setCustomizationAllowedItemIdentifiers:dialogItems];
|
| + return touchBar.autorelease();
|
| +}
|
| +
|
| +- (NSTouchBarItem*)touchBar:(NSTouchBar*)touchBar
|
| + makeItemForIdentifier:(NSTouchBarItemIdentifier)identifier {
|
| + NSButton* button = nil;
|
| + if ([identifier hasSuffix:kNewFolderTouchBarId]) {
|
| + button =
|
| + [NSButton buttonWithTitle:l10n_util::GetNSString(
|
| + IDS_BOOKMARK_EDITOR_NEW_FOLDER_BUTTON)
|
| + target:self
|
| + action:@selector(newFolder:)];
|
| + } else if ([identifier hasSuffix:kCancelTouchBarId]) {
|
| + button = [NSButton buttonWithTitle:l10n_util::GetNSString(IDS_APP_CANCEL)
|
| + target:self
|
| + action:@selector(cancel:)];
|
| + } else if ([identifier hasSuffix:kSaveTouchBarId]) {
|
| + button = ui::GetBlueTouchBarButton(l10n_util::GetNSString(IDS_SAVE), self,
|
| + @selector(ok:));
|
| + } else {
|
| + return nil;
|
| + }
|
| +
|
| + base::scoped_nsobject<NSCustomTouchBarItem> item(
|
| + [[ui::NSCustomTouchBarItem() alloc] initWithIdentifier:identifier]);
|
| + [item setView:button];
|
| + return item.autorelease();
|
| +}
|
| +
|
| #pragma mark Folder Tree Management
|
|
|
| - (BookmarkModel*)bookmarkModel {
|
|
|