OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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++ controller for the bookmark menu; one per AppController (which | 5 // C++ controller for the bookmark menu; one per AppController (which |
6 // means there is only one). When bookmarks are changed, this class | 6 // means there is only one). When bookmarks are changed, this class |
7 // takes care of updating Cocoa bookmark menus. This is not named | 7 // takes care of updating Cocoa bookmark menus. This is not named |
8 // BookmarkMenuController to help avoid confusion between languages. | 8 // BookmarkMenuController to help avoid confusion between languages. |
9 // This class needs to be C++, not ObjC, since it derives from | 9 // This class needs to be C++, not ObjC, since it derives from |
10 // BookmarkModelObserver. | 10 // BookmarkModelObserver. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 protected: | 83 protected: |
84 // Rebuilds the bookmark content of supplied menu. | 84 // Rebuilds the bookmark content of supplied menu. |
85 void UpdateMenuInternal(NSMenu* bookmark_menu, bool is_submenu); | 85 void UpdateMenuInternal(NSMenu* bookmark_menu, bool is_submenu); |
86 | 86 |
87 // Clear all bookmarks from the given bookmark menu. | 87 // Clear all bookmarks from the given bookmark menu. |
88 void ClearBookmarkMenu(NSMenu* menu); | 88 void ClearBookmarkMenu(NSMenu* menu); |
89 | 89 |
90 // Mark the bookmark menu as being invalid. | 90 // Mark the bookmark menu as being invalid. |
91 void InvalidateMenu() { menuIsValid_ = false; } | 91 void InvalidateMenu() { menuIsValid_ = false; } |
92 | 92 |
93 // Helper for adding the node as a submenu to the menu with the | 93 // Helper for adding the node as a submenu to the menu with the |node|'s title |
94 // given title. | 94 // and the given |image| as its icon. |
95 // If |add_extra_items| is true, also adds extra menu items at bottom of | 95 // If |add_extra_items| is true, also adds extra menu items at bottom of |
96 // menu, such as "Open All Bookmarks". | 96 // menu, such as "Open All Bookmarks". |
97 void AddNodeAsSubmenu(NSMenu* menu, | 97 void AddNodeAsSubmenu(NSMenu* menu, |
98 const BookmarkNode* node, | 98 const BookmarkNode* node, |
| 99 NSImage* image, |
99 bool add_extra_items); | 100 bool add_extra_items); |
100 | 101 |
101 // Helper for recursively adding items to our bookmark menu. | 102 // Helper for recursively adding items to our bookmark menu. |
102 // All children of |node| will be added to |menu|. | 103 // All children of |node| will be added to |menu|. |
103 // If |add_extra_items| is true, also adds extra menu items at bottom of | 104 // If |add_extra_items| is true, also adds extra menu items at bottom of |
104 // menu, such as "Open All Bookmarks". | 105 // menu, such as "Open All Bookmarks". |
105 // TODO(jrg): add a counter to enforce maximum nodes added | 106 // TODO(jrg): add a counter to enforce maximum nodes added |
106 void AddNodeToMenu(const BookmarkNode* node, NSMenu* menu, | 107 void AddNodeToMenu(const BookmarkNode* node, NSMenu* menu, |
107 bool add_extra_items); | 108 bool add_extra_items); |
108 | 109 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 | 145 |
145 // The folder image so we can use one copy for all. | 146 // The folder image so we can use one copy for all. |
146 base::scoped_nsobject<NSImage> folder_image_; | 147 base::scoped_nsobject<NSImage> folder_image_; |
147 | 148 |
148 // In order to appropriately update items in the bookmark menu, without | 149 // In order to appropriately update items in the bookmark menu, without |
149 // forcing a rebuild, map the model's nodes to menu items. | 150 // forcing a rebuild, map the model's nodes to menu items. |
150 std::map<const BookmarkNode*, NSMenuItem*> bookmark_nodes_; | 151 std::map<const BookmarkNode*, NSMenuItem*> bookmark_nodes_; |
151 }; | 152 }; |
152 | 153 |
153 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_MENU_BRIDGE_H_ | 154 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_MENU_BRIDGE_H_ |
OLD | NEW |