OnListItemMoved(from_index, to_index, item));
}
+void AppListItemList::HighlightItemInstalledFromUI(const std::string& id) {
+ // Items within folders are not highlighted (apps are never installed to a
+ // folder initially). So just search the top-level list.
+ size_t index;
+ if (FindItemIndex(highlighted_id_, &index)) {
+ item_at(index)->set_highlighted(false);
+ FOR_EACH_OBSERVER(AppListItemListObserver,
+ observers_,
+ OnAppListItemHighlight(index, false));
+ }
+ highlighted_id_ = id;
+ if (!FindItemIndex(highlighted_id_, &index)) {
+ // If the item isin't in the app list yet, it will be highlighted later, in
+ // AddItem().
+ return;
+ }
+
+ item_at(index)->set_highlighted(true);
+ FOR_EACH_OBSERVER(
+ AppListItemListObserver, observers_, OnAppListItemHighlight(index, true));
+}
+
// AppListItemList private
syncer::StringOrdinal AppListItemList::CreatePositionBefore(
FOR_EACH_OBSERVER(AppListItemListObserver,
observers_,
OnListItemAdded(index, item));
+
+ if (item->id() == highlighted_id_) {
+ // Item not present when highlight requested, so highlight it now.
+ item->set_highlighted(true);
+ FOR_EACH_OBSERVER(AppListItemListObserver,
+ observers_,
+ OnAppListItemHighlight(index, true));
+ }
return item;
}