private:
// Overridden from AppListItemListObserver:
- virtual void OnListItemAdded(size_t index, AppListItem* item) OVERRIDE {
+ void OnListItemAdded(size_t index, AppListItem* item) override {
[parent_ listItemAdded:index
item:item];
}
- virtual void OnListItemRemoved(size_t index, AppListItem* item) OVERRIDE {
+ void OnListItemRemoved(size_t index, AppListItem* item) override {
[parent_ listItemRemoved:index];
}
- virtual void OnListItemMoved(size_t from_index,
- size_t to_index,
- AppListItem* item) OVERRIDE {
+ void OnListItemMoved(size_t from_index,
+ size_t to_index,
+ AppListItem* item) override {
[parent_ listItemMovedFromIndex:from_index
toModelIndex:to_index];
}
+ void OnAppListItemHighlight(size_t index, bool highlight) override {
+ // NSCollectionView (or -[AppsGridController scrollToPage]) ensures only one
+ // item is highlighted, so clearing a highlight isn't necessary.
+ if (!highlight)
+ return;
+
+ [parent_ selectItemAtIndex:index];
+ [parent_ scrollToPage:index / kItemsPerPage];
+ }
AppsGridController* parent_; // Weak, owns us.