| 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 |