Chromium Code Reviews| Index: chrome/browser/bookmarks/bookmark_editor.h |
| diff --git a/chrome/browser/bookmarks/bookmark_editor.h b/chrome/browser/bookmarks/bookmark_editor.h |
| index 39e99eac533544b348867008edc45390edf2b1f5..2f2894128b6bbd1b86deee47716213583d0f979a 100644 |
| --- a/chrome/browser/bookmarks/bookmark_editor.h |
| +++ b/chrome/browser/bookmarks/bookmark_editor.h |
| @@ -27,7 +27,19 @@ class BookmarkEditor { |
| }; |
| // Describes what the user is editing. |
| - struct EditDetails { |
| + class EditDetails { |
| + public: |
| + // Returns an EditDetails instance for the user editing the given bookmark. |
| + static EditDetails EditNode(const BookmarkNode* node); |
| + |
| + // Returns an EditDetails instance for the user adding a bookmark within |
| + // a given parent ndoe. |
|
Rick Byers
2011/08/24 18:13:28
s/ndoe/node
flackr
2011/08/25 15:50:37
Done.
|
| + static EditDetails AddNodeInFolder(const BookmarkNode* parent_node); |
| + |
| + // Returns an EditDetails instance for the user adding a folder within a |
| + // given parent node. |
| + static EditDetails AddFolder(const BookmarkNode* parent_node); |
| + |
| enum Type { |
| // The user is editing an existing node in the model. The node the user |
| // is editing is set in |existing_node|. |
| @@ -43,34 +55,50 @@ class BookmarkEditor { |
| NEW_FOLDER |
| }; |
| - EditDetails(); |
| - explicit EditDetails(const BookmarkNode* node); |
| ~EditDetails(); |
| // See description of enum value for details. |
| - Type type; |
| + const Type type; |
| // If type == EXISTING_NODE this gives the existing node. |
| const BookmarkNode* existing_node; |
| + // If type == NEW_URL or type == NEW_FOLDER this gives the parent node |
| + // to place the new node in. |
| + const BookmarkNode* parent_node; |
| + |
| // If type == NEW_FOLDER, this is the urls/title pairs to add to the |
| // folder. |
| std::vector<std::pair<GURL, string16> > urls; |
| + |
| + private: |
| + explicit EditDetails(Type node_type); |
| }; |
| - // Shows the bookmark editor. The bookmark editor allows editing an |
| + // Shows the bookmark editor. If --use-more-webui is enabled use the bookmark |
| + // manager to add or edit bookmarks. The bookmark editor allows editing an |
| // existing node or creating a new bookmark node (as determined by |
| // |details.type|). If |configuration| is SHOW_TREE, a tree is shown allowing |
| // the user to choose the parent of the node. |
| // |parent| gives the initial parent to select in the tree for the node. |
| // |parent| is only used if |details.existing_node| is null. |
| - // TODO(flackr): Rename this to ShowNative and add cross platform Show method |
| - // which will show a WebUI version of the dialog if --pure-views is set. |
| static void Show(gfx::NativeWindow parent_window, |
| Profile* profile, |
| - const BookmarkNode* parent, |
| const EditDetails& details, |
| Configuration configuration); |
| + |
| + private: |
| + // Shows the native bookmark editor. |
| + // TODO(flackr): Remove parent argument. |
| + static void ShowNative(gfx::NativeWindow parent_window, |
| + Profile* profile, |
| + const BookmarkNode* parent, |
| + const EditDetails& details, |
| + Configuration configuration); |
| + |
| + // Shows the WebUI bookmark editor. |
| + static void ShowWebUI(Profile* profile, |
| + const EditDetails& details); |
| }; |
| #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_EDITOR_H_ |