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 // C++ bridge class between Chromium and Cocoa to connect the | 5 // C++ bridge class between Chromium and Cocoa to connect the |
6 // Bookmarks (model) with the Bookmark Bar (view). | 6 // Bookmarks (model) with the Bookmark Bar (view). |
7 // | 7 // |
8 // There is exactly one BookmarkBarBridge per BookmarkBarController / | 8 // There is exactly one BookmarkBarBridge per BookmarkBarController / |
9 // BrowserWindowController / Browser. | 9 // BrowserWindowController / Browser. |
10 | 10 |
11 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_BRIDGE_H_ | 11 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_BRIDGE_H_ |
12 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_BRIDGE_H_ | 12 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_BRIDGE_H_ |
13 | 13 |
14 #include "base/basictypes.h" | 14 #include "base/basictypes.h" |
15 #include "base/compiler_specific.h" | 15 #include "base/compiler_specific.h" |
| 16 #include "base/prefs/public/pref_change_registrar.h" |
16 #include "chrome/browser/bookmarks/bookmark_model_observer.h" | 17 #include "chrome/browser/bookmarks/bookmark_model_observer.h" |
17 | 18 |
18 class Browser; | 19 class Profile; |
19 @class BookmarkBarController; | 20 @class BookmarkBarController; |
20 | 21 |
21 class BookmarkBarBridge : public BookmarkModelObserver { | 22 class BookmarkBarBridge : public BookmarkModelObserver { |
22 public: | 23 public: |
23 BookmarkBarBridge(BookmarkBarController* controller, | 24 BookmarkBarBridge(Profile* profile, |
| 25 BookmarkBarController* controller, |
24 BookmarkModel* model); | 26 BookmarkModel* model); |
25 virtual ~BookmarkBarBridge(); | 27 virtual ~BookmarkBarBridge(); |
26 | 28 |
27 // Overridden from BookmarkModelObserver | 29 // Overridden from BookmarkModelObserver |
28 virtual void Loaded(BookmarkModel* model, bool ids_reassigned) OVERRIDE; | 30 virtual void Loaded(BookmarkModel* model, bool ids_reassigned) OVERRIDE; |
29 virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE; | 31 virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE; |
30 virtual void BookmarkNodeMoved(BookmarkModel* model, | 32 virtual void BookmarkNodeMoved(BookmarkModel* model, |
31 const BookmarkNode* old_parent, | 33 const BookmarkNode* old_parent, |
32 int old_index, | 34 int old_index, |
33 const BookmarkNode* new_parent, | 35 const BookmarkNode* new_parent, |
(...skipping 12 matching lines...) Expand all Loading... |
46 virtual void BookmarkNodeChildrenReordered(BookmarkModel* model, | 48 virtual void BookmarkNodeChildrenReordered(BookmarkModel* model, |
47 const BookmarkNode* node) OVERRIDE; | 49 const BookmarkNode* node) OVERRIDE; |
48 virtual void ExtensiveBookmarkChangesBeginning(BookmarkModel* model) OVERRIDE; | 50 virtual void ExtensiveBookmarkChangesBeginning(BookmarkModel* model) OVERRIDE; |
49 virtual void ExtensiveBookmarkChangesEnded(BookmarkModel* model) OVERRIDE; | 51 virtual void ExtensiveBookmarkChangesEnded(BookmarkModel* model) OVERRIDE; |
50 | 52 |
51 private: | 53 private: |
52 BookmarkBarController* controller_; // weak; owns me | 54 BookmarkBarController* controller_; // weak; owns me |
53 BookmarkModel* model_; // weak; it is owned by a Profile. | 55 BookmarkModel* model_; // weak; it is owned by a Profile. |
54 bool batch_mode_; | 56 bool batch_mode_; |
55 | 57 |
| 58 // Needed to react to kShowAppsShortcutInBookmarkBar changes. |
| 59 PrefChangeRegistrar profile_pref_registrar_; |
| 60 |
| 61 // Updates the visibility of the apps shortcut based on the pref value. |
| 62 void OnAppsPageShortcutVisibilityChanged(); |
| 63 |
56 DISALLOW_COPY_AND_ASSIGN(BookmarkBarBridge); | 64 DISALLOW_COPY_AND_ASSIGN(BookmarkBarBridge); |
57 }; | 65 }; |
58 | 66 |
59 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_BRIDGE_H_ | 67 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_BRIDGE_H_ |
OLD | NEW |