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 #include <stack> | 5 #include <stack> |
6 | 6 |
7 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.h" | 7 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.h" |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 | 117 |
118 // Adapter to tell BookmarkEditorBaseController when bookmarks change. | 118 // Adapter to tell BookmarkEditorBaseController when bookmarks change. |
119 class BookmarkEditorBaseControllerBridge : public BookmarkModelObserver { | 119 class BookmarkEditorBaseControllerBridge : public BookmarkModelObserver { |
120 public: | 120 public: |
121 BookmarkEditorBaseControllerBridge(BookmarkEditorBaseController* controller) | 121 BookmarkEditorBaseControllerBridge(BookmarkEditorBaseController* controller) |
122 : controller_(controller), | 122 : controller_(controller), |
123 importing_(false) | 123 importing_(false) |
124 { } | 124 { } |
125 | 125 |
126 virtual void BookmarkModelLoaded(BookmarkModel* model, | 126 virtual void BookmarkModelLoaded(BookmarkModel* model, |
127 bool ids_reassigned) OVERRIDE { | 127 bool ids_reassigned) override { |
128 [controller_ modelChangedPreserveSelection:YES]; | 128 [controller_ modelChangedPreserveSelection:YES]; |
129 } | 129 } |
130 | 130 |
131 virtual void BookmarkNodeMoved(BookmarkModel* model, | 131 virtual void BookmarkNodeMoved(BookmarkModel* model, |
132 const BookmarkNode* old_parent, | 132 const BookmarkNode* old_parent, |
133 int old_index, | 133 int old_index, |
134 const BookmarkNode* new_parent, | 134 const BookmarkNode* new_parent, |
135 int new_index) OVERRIDE { | 135 int new_index) override { |
136 if (!importing_ && new_parent->GetChild(new_index)->is_folder()) | 136 if (!importing_ && new_parent->GetChild(new_index)->is_folder()) |
137 [controller_ modelChangedPreserveSelection:YES]; | 137 [controller_ modelChangedPreserveSelection:YES]; |
138 } | 138 } |
139 | 139 |
140 virtual void BookmarkNodeAdded(BookmarkModel* model, | 140 virtual void BookmarkNodeAdded(BookmarkModel* model, |
141 const BookmarkNode* parent, | 141 const BookmarkNode* parent, |
142 int index) OVERRIDE { | 142 int index) override { |
143 if (!importing_ && parent->GetChild(index)->is_folder()) | 143 if (!importing_ && parent->GetChild(index)->is_folder()) |
144 [controller_ modelChangedPreserveSelection:YES]; | 144 [controller_ modelChangedPreserveSelection:YES]; |
145 } | 145 } |
146 | 146 |
147 virtual void BookmarkNodeRemoved( | 147 virtual void BookmarkNodeRemoved( |
148 BookmarkModel* model, | 148 BookmarkModel* model, |
149 const BookmarkNode* parent, | 149 const BookmarkNode* parent, |
150 int old_index, | 150 int old_index, |
151 const BookmarkNode* node, | 151 const BookmarkNode* node, |
152 const std::set<GURL>& removed_urls) OVERRIDE { | 152 const std::set<GURL>& removed_urls) override { |
153 [controller_ nodeRemoved:node fromParent:parent]; | 153 [controller_ nodeRemoved:node fromParent:parent]; |
154 if (node->is_folder()) | 154 if (node->is_folder()) |
155 [controller_ modelChangedPreserveSelection:NO]; | 155 [controller_ modelChangedPreserveSelection:NO]; |
156 } | 156 } |
157 | 157 |
158 virtual void BookmarkAllUserNodesRemoved( | 158 virtual void BookmarkAllUserNodesRemoved( |
159 BookmarkModel* model, | 159 BookmarkModel* model, |
160 const std::set<GURL>& removed_urls) OVERRIDE { | 160 const std::set<GURL>& removed_urls) override { |
161 [controller_ modelChangedPreserveSelection:NO]; | 161 [controller_ modelChangedPreserveSelection:NO]; |
162 } | 162 } |
163 | 163 |
164 virtual void BookmarkNodeChanged(BookmarkModel* model, | 164 virtual void BookmarkNodeChanged(BookmarkModel* model, |
165 const BookmarkNode* node) OVERRIDE { | 165 const BookmarkNode* node) override { |
166 if (!importing_ && node->is_folder()) | 166 if (!importing_ && node->is_folder()) |
167 [controller_ modelChangedPreserveSelection:YES]; | 167 [controller_ modelChangedPreserveSelection:YES]; |
168 } | 168 } |
169 | 169 |
170 virtual void BookmarkNodeChildrenReordered( | 170 virtual void BookmarkNodeChildrenReordered( |
171 BookmarkModel* model, | 171 BookmarkModel* model, |
172 const BookmarkNode* node) OVERRIDE { | 172 const BookmarkNode* node) override { |
173 if (!importing_) | 173 if (!importing_) |
174 [controller_ modelChangedPreserveSelection:YES]; | 174 [controller_ modelChangedPreserveSelection:YES]; |
175 } | 175 } |
176 | 176 |
177 virtual void BookmarkNodeFaviconChanged(BookmarkModel* model, | 177 virtual void BookmarkNodeFaviconChanged(BookmarkModel* model, |
178 const BookmarkNode* node) OVERRIDE { | 178 const BookmarkNode* node) override { |
179 // I care nothing for these 'favicons': I only show folders. | 179 // I care nothing for these 'favicons': I only show folders. |
180 } | 180 } |
181 | 181 |
182 virtual void ExtensiveBookmarkChangesBeginning( | 182 virtual void ExtensiveBookmarkChangesBeginning( |
183 BookmarkModel* model) OVERRIDE { | 183 BookmarkModel* model) override { |
184 importing_ = true; | 184 importing_ = true; |
185 } | 185 } |
186 | 186 |
187 // Invoked after a batch import finishes. This tells observers to update | 187 // Invoked after a batch import finishes. This tells observers to update |
188 // themselves if they were waiting for the update to finish. | 188 // themselves if they were waiting for the update to finish. |
189 virtual void ExtensiveBookmarkChangesEnded(BookmarkModel* model) OVERRIDE { | 189 virtual void ExtensiveBookmarkChangesEnded(BookmarkModel* model) override { |
190 importing_ = false; | 190 importing_ = false; |
191 [controller_ modelChangedPreserveSelection:YES]; | 191 [controller_ modelChangedPreserveSelection:YES]; |
192 } | 192 } |
193 | 193 |
194 private: | 194 private: |
195 BookmarkEditorBaseController* controller_; // weak | 195 BookmarkEditorBaseController* controller_; // weak |
196 bool importing_; | 196 bool importing_; |
197 }; | 197 }; |
198 | 198 |
199 | 199 |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 } | 716 } |
717 | 717 |
718 // Implementing isEqual: allows the NSTreeController to preserve the selection | 718 // Implementing isEqual: allows the NSTreeController to preserve the selection |
719 // and open/shut state of outline items when the data changes. | 719 // and open/shut state of outline items when the data changes. |
720 - (BOOL)isEqual:(id)other { | 720 - (BOOL)isEqual:(id)other { |
721 return [other isKindOfClass:[BookmarkFolderInfo class]] && | 721 return [other isKindOfClass:[BookmarkFolderInfo class]] && |
722 folderNode_ == [(BookmarkFolderInfo*)other folderNode]; | 722 folderNode_ == [(BookmarkFolderInfo*)other folderNode]; |
723 } | 723 } |
724 | 724 |
725 @end | 725 @end |
OLD | NEW |