OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" | 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" |
6 | 6 |
7 #include "base/mac/bundle_locations.h" | 7 #include "base/mac/bundle_locations.h" |
8 #include "base/strings/sys_string_conversions.h" | 8 #include "base/strings/sys_string_conversions.h" |
9 #import "chrome/browser/bookmarks/bookmark_model_factory.h" | 9 #import "chrome/browser/bookmarks/bookmark_model_factory.h" |
10 #import "chrome/browser/bookmarks/chrome_bookmark_client.h" | 10 #import "chrome/browser/bookmarks/managed_bookmark_service_factory.h" |
11 #import "chrome/browser/bookmarks/chrome_bookmark_client_factory.h" | |
12 #import "chrome/browser/profiles/profile.h" | 11 #import "chrome/browser/profiles/profile.h" |
13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" | 12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" |
14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" | 13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" |
15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell.h" | 14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell.h" |
16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_hover_state.h" | 15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_hover_state.h" |
17 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_view.h" | 16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_view.h" |
18 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_window.h" | 17 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_window.h" |
19 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_folder_target.h" | 18 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_folder_target.h" |
20 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h" | 19 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h" |
21 #import "chrome/browser/ui/cocoa/browser_window_controller.h" | 20 #import "chrome/browser/ui/cocoa/browser_window_controller.h" |
22 #include "components/bookmarks/browser/bookmark_model.h" | 21 #include "components/bookmarks/browser/bookmark_model.h" |
23 #include "components/bookmarks/browser/bookmark_node_data.h" | 22 #include "components/bookmarks/browser/bookmark_node_data.h" |
| 23 #import "components/bookmarks/managed/managed_bookmark_service.h" |
24 #include "ui/base/theme_provider.h" | 24 #include "ui/base/theme_provider.h" |
25 | 25 |
26 using bookmarks::BookmarkModel; | 26 using bookmarks::BookmarkModel; |
27 using bookmarks::BookmarkNode; | 27 using bookmarks::BookmarkNode; |
28 using bookmarks::BookmarkNodeData; | 28 using bookmarks::BookmarkNodeData; |
29 using bookmarks::kBookmarkBarMenuCornerRadius; | 29 using bookmarks::kBookmarkBarMenuCornerRadius; |
30 | 30 |
31 namespace { | 31 namespace { |
32 | 32 |
33 // Frequency of the scrolling timer in seconds. | 33 // Frequency of the scrolling timer in seconds. |
(...skipping 1239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1273 // Drop it at the end. | 1273 // Drop it at the end. |
1274 destIndex = [button bookmarkNode]->child_count(); | 1274 destIndex = [button bookmarkNode]->child_count(); |
1275 } else { | 1275 } else { |
1276 // Else we're dropping somewhere in the folder, so find the right spot. | 1276 // Else we're dropping somewhere in the folder, so find the right spot. |
1277 destParent = [parentButton_ bookmarkNode]; | 1277 destParent = [parentButton_ bookmarkNode]; |
1278 destIndex = [self indexForDragToPoint:point]; | 1278 destIndex = [self indexForDragToPoint:point]; |
1279 // Be careful if the number of buttons != number of nodes. | 1279 // Be careful if the number of buttons != number of nodes. |
1280 destIndex += [[parentButton_ cell] startingChildIndex]; | 1280 destIndex += [[parentButton_ cell] startingChildIndex]; |
1281 } | 1281 } |
1282 | 1282 |
1283 ChromeBookmarkClient* client = | 1283 bookmarks::ManagedBookmarkService* managed = |
1284 ChromeBookmarkClientFactory::GetForProfile(profile_); | 1284 ManagedBookmarkServiceFactory::GetForProfile(profile_); |
1285 if (!client->CanBeEditedByUser(destParent)) | 1285 if (!managed->CanBeEditedByUser(destParent)) |
1286 return NO; | 1286 return NO; |
1287 if (!client->CanBeEditedByUser(sourceNode)) | 1287 if (!managed->CanBeEditedByUser(sourceNode)) |
1288 copy = YES; | 1288 copy = YES; |
1289 | 1289 |
1290 // Prevent cycles. | 1290 // Prevent cycles. |
1291 BOOL wasCopiedOrMoved = NO; | 1291 BOOL wasCopiedOrMoved = NO; |
1292 if (!destParent->HasAncestor(sourceNode)) { | 1292 if (!destParent->HasAncestor(sourceNode)) { |
1293 if (copy) | 1293 if (copy) |
1294 [self bookmarkModel]->Copy(sourceNode, destParent, destIndex); | 1294 [self bookmarkModel]->Copy(sourceNode, destParent, destIndex); |
1295 else | 1295 else |
1296 [self bookmarkModel]->Move(sourceNode, destParent, destIndex); | 1296 [self bookmarkModel]->Move(sourceNode, destParent, destIndex); |
1297 wasCopiedOrMoved = YES; | 1297 wasCopiedOrMoved = YES; |
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1845 // Drop it at the end. | 1845 // Drop it at the end. |
1846 destIndex = [button bookmarkNode]->child_count(); | 1846 destIndex = [button bookmarkNode]->child_count(); |
1847 } else { | 1847 } else { |
1848 // Else we're dropping somewhere in the folder, so find the right spot. | 1848 // Else we're dropping somewhere in the folder, so find the right spot. |
1849 destParent = [parentButton_ bookmarkNode]; | 1849 destParent = [parentButton_ bookmarkNode]; |
1850 destIndex = [self indexForDragToPoint:point]; | 1850 destIndex = [self indexForDragToPoint:point]; |
1851 // Be careful if the number of buttons != number of nodes. | 1851 // Be careful if the number of buttons != number of nodes. |
1852 destIndex += [[parentButton_ cell] startingChildIndex]; | 1852 destIndex += [[parentButton_ cell] startingChildIndex]; |
1853 } | 1853 } |
1854 | 1854 |
1855 ChromeBookmarkClient* client = | 1855 bookmarks::ManagedBookmarkService* managed = |
1856 ChromeBookmarkClientFactory::GetForProfile(profile_); | 1856 ManagedBookmarkServiceFactory::GetForProfile(profile_); |
1857 if (!client->CanBeEditedByUser(destParent)) | 1857 if (!managed->CanBeEditedByUser(destParent)) |
1858 return NO; | 1858 return NO; |
1859 | 1859 |
1860 // Create and add the new bookmark nodes. | 1860 // Create and add the new bookmark nodes. |
1861 size_t urlCount = [urls count]; | 1861 size_t urlCount = [urls count]; |
1862 for (size_t i = 0; i < urlCount; ++i) { | 1862 for (size_t i = 0; i < urlCount; ++i) { |
1863 GURL gurl; | 1863 GURL gurl; |
1864 const char* string = [[urls objectAtIndex:i] UTF8String]; | 1864 const char* string = [[urls objectAtIndex:i] UTF8String]; |
1865 if (string) | 1865 if (string) |
1866 gurl = GURL(string); | 1866 gurl = GURL(string); |
1867 // We only expect to receive valid URLs. | 1867 // We only expect to receive valid URLs. |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2029 | 2029 |
2030 - (void)setIgnoreAnimations:(BOOL)ignore { | 2030 - (void)setIgnoreAnimations:(BOOL)ignore { |
2031 ignoreAnimations_ = ignore; | 2031 ignoreAnimations_ = ignore; |
2032 } | 2032 } |
2033 | 2033 |
2034 - (BookmarkButton*)buttonThatMouseIsIn { | 2034 - (BookmarkButton*)buttonThatMouseIsIn { |
2035 return buttonThatMouseIsIn_; | 2035 return buttonThatMouseIsIn_; |
2036 } | 2036 } |
2037 | 2037 |
2038 @end // BookmarkBarFolderController | 2038 @end // BookmarkBarFolderController |
OLD | NEW |