Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: chrome/browser/ui/bookmarks/bookmark_editor.h

Issue 865163003: bookmarks: Move BookmarkNode into 'bookmarks' namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: enhanced_bookmarks fix Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_EDITOR_H_ 5 #ifndef CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_EDITOR_H_
6 #define CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_EDITOR_H_ 6 #define CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_EDITOR_H_
7 7
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 17 matching lines...) Expand all
28 // If Configuration is SHOW_TREE, a tree is shown allowing the user to 28 // If Configuration is SHOW_TREE, a tree is shown allowing the user to
29 // choose the parent of the node. 29 // choose the parent of the node.
30 SHOW_TREE, 30 SHOW_TREE,
31 NO_TREE 31 NO_TREE
32 }; 32 };
33 33
34 // Describes what the user is editing. 34 // Describes what the user is editing.
35 class EditDetails { 35 class EditDetails {
36 public: 36 public:
37 // Returns the type of the existing or new node. 37 // Returns the type of the existing or new node.
38 BookmarkNode::Type GetNodeType() const; 38 bookmarks::BookmarkNode::Type GetNodeType() const;
39 39
40 // Returns the resource id for the string resource to use on the window 40 // Returns the resource id for the string resource to use on the window
41 // title for this edit operation. 41 // title for this edit operation.
42 int GetWindowTitleId() const; 42 int GetWindowTitleId() const;
43 43
44 // Returns an EditDetails instance for the user editing the given bookmark. 44 // Returns an EditDetails instance for the user editing the given bookmark.
45 static EditDetails EditNode(const BookmarkNode* node); 45 static EditDetails EditNode(const bookmarks::BookmarkNode* node);
46 46
47 // Returns an EditDetails instance for the user adding a bookmark within 47 // Returns an EditDetails instance for the user adding a bookmark within
48 // a given parent node with a specified index. 48 // a given parent node with a specified index.
49 static EditDetails AddNodeInFolder(const BookmarkNode* parent_node, 49 static EditDetails AddNodeInFolder(
50 int index, 50 const bookmarks::BookmarkNode* parent_node,
51 const GURL& url, 51 int index,
52 const base::string16& title); 52 const GURL& url,
53 const base::string16& title);
53 54
54 // Returns an EditDetails instance for the user adding a folder within a 55 // Returns an EditDetails instance for the user adding a folder within a
55 // given parent node with a specified index. 56 // given parent node with a specified index.
56 static EditDetails AddFolder(const BookmarkNode* parent_node, 57 static EditDetails AddFolder(const bookmarks::BookmarkNode* parent_node,
57 int index); 58 int index);
58 59
59 enum Type { 60 enum Type {
60 // The user is editing an existing node in the model. The node the user 61 // The user is editing an existing node in the model. The node the user
61 // is editing is set in |existing_node|. 62 // is editing is set in |existing_node|.
62 EXISTING_NODE, 63 EXISTING_NODE,
63 64
64 // A new bookmark should be created if the user accepts the edit. 65 // A new bookmark should be created if the user accepts the edit.
65 // |existing_node| is null in this case. 66 // |existing_node| is null in this case.
66 NEW_URL, 67 NEW_URL,
67 68
68 // A new folder bookmark should be created if the user accepts the edit. 69 // A new folder bookmark should be created if the user accepts the edit.
69 // The contents of the folder should be that of |urls|. 70 // The contents of the folder should be that of |urls|.
70 // |existing_node| is null in this case. 71 // |existing_node| is null in this case.
71 NEW_FOLDER 72 NEW_FOLDER
72 }; 73 };
73 74
74 ~EditDetails(); 75 ~EditDetails();
75 76
76 // See description of enum value for details. 77 // See description of enum value for details.
77 const Type type; 78 const Type type;
78 79
79 // If type == EXISTING_NODE this gives the existing node. 80 // If type == EXISTING_NODE this gives the existing node.
80 const BookmarkNode* existing_node; 81 const bookmarks::BookmarkNode* existing_node;
81 82
82 // If type == NEW_URL or type == NEW_FOLDER this gives the initial parent 83 // If type == NEW_URL or type == NEW_FOLDER this gives the initial parent
83 // node to place the new node in. 84 // node to place the new node in.
84 const BookmarkNode* parent_node; 85 const bookmarks::BookmarkNode* parent_node;
85 86
86 // If type == NEW_URL or type == NEW_FOLDER this gives the index to insert 87 // If type == NEW_URL or type == NEW_FOLDER this gives the index to insert
87 // the new node at. 88 // the new node at.
88 int index; 89 int index;
89 90
90 // If type == NEW_URL this gives the URL/title. 91 // If type == NEW_URL this gives the URL/title.
91 GURL url; 92 GURL url;
92 base::string16 title; 93 base::string16 title;
93 94
94 // If type == NEW_FOLDER, this is the urls/title pairs to add to the 95 // If type == NEW_FOLDER, this is the urls/title pairs to add to the
95 // folder. 96 // folder.
96 std::vector<std::pair<GURL, base::string16> > urls; 97 std::vector<std::pair<GURL, base::string16> > urls;
97 98
98 private: 99 private:
99 explicit EditDetails(Type node_type); 100 explicit EditDetails(Type node_type);
100 }; 101 };
101 102
102 // Shows the bookmark editor. The bookmark editor allows editing an existing 103 // Shows the bookmark editor. The bookmark editor allows editing an existing
103 // node or creating a new bookmark node (as determined by |details.type|). 104 // node or creating a new bookmark node (as determined by |details.type|).
104 // |details.parent_node| is only used if |details.existing_node| is null. 105 // |details.parent_node| is only used if |details.existing_node| is null.
105 static void Show(gfx::NativeWindow parent_window, 106 static void Show(gfx::NativeWindow parent_window,
106 Profile* profile, 107 Profile* profile,
107 const EditDetails& details, 108 const EditDetails& details,
108 Configuration configuration); 109 Configuration configuration);
109 110
110 // Modifies a bookmark node (assuming that there's no magic that needs to be 111 // Modifies a bookmark node (assuming that there's no magic that needs to be
111 // done regarding moving from one folder to another). If a new node is 112 // done regarding moving from one folder to another). If a new node is
112 // explicitly being added, returns a pointer to the new node that was created. 113 // explicitly being added, returns a pointer to the new node that was created.
113 // Otherwise the return value is identically |node|. 114 // Otherwise the return value is identically |node|.
114 static const BookmarkNode* ApplyEditsWithNoFolderChange( 115 static const bookmarks::BookmarkNode* ApplyEditsWithNoFolderChange(
115 bookmarks::BookmarkModel* model, 116 bookmarks::BookmarkModel* model,
116 const BookmarkNode* parent, 117 const bookmarks::BookmarkNode* parent,
117 const EditDetails& details, 118 const EditDetails& details,
118 const base::string16& new_title, 119 const base::string16& new_title,
119 const GURL& new_url); 120 const GURL& new_url);
120 121
121 // Modifies a bookmark node assuming that the parent of the node may have 122 // Modifies a bookmark node assuming that the parent of the node may have
122 // changed and the node will need to be removed and reinserted. If a new node 123 // changed and the node will need to be removed and reinserted. If a new node
123 // is explicitly being added, returns a pointer to the new node that was 124 // is explicitly being added, returns a pointer to the new node that was
124 // created. Otherwise the return value is identically |node|. 125 // created. Otherwise the return value is identically |node|.
125 static const BookmarkNode* ApplyEditsWithPossibleFolderChange( 126 static const bookmarks::BookmarkNode* ApplyEditsWithPossibleFolderChange(
126 bookmarks::BookmarkModel* model, 127 bookmarks::BookmarkModel* model,
127 const BookmarkNode* new_parent, 128 const bookmarks::BookmarkNode* new_parent,
128 const EditDetails& details, 129 const EditDetails& details,
129 const base::string16& new_title, 130 const base::string16& new_title,
130 const GURL& new_url); 131 const GURL& new_url);
131 }; 132 };
132 133
133 #endif // CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_EDITOR_H_ 134 #endif // CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_EDITOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698