• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "ui/app_list/app_list_item.h"
6 
7 #include "base/logging.h"
8 #include "ui/app_list/app_list_item_observer.h"
9 
10 namespace app_list {
11 
AppListItem(const std::string & id)12 AppListItem::AppListItem(const std::string& id)
13     : id_(id),
14       has_shadow_(false),
15       highlighted_(false),
16       is_installing_(false),
17       percent_downloaded_(-1) {
18 }
19 
~AppListItem()20 AppListItem::~AppListItem() {
21 }
22 
SetIcon(const gfx::ImageSkia & icon,bool has_shadow)23 void AppListItem::SetIcon(const gfx::ImageSkia& icon, bool has_shadow) {
24   icon_ = icon;
25   has_shadow_ = has_shadow;
26   FOR_EACH_OBSERVER(AppListItemObserver, observers_, ItemIconChanged());
27 }
28 
SetHighlighted(bool highlighted)29 void AppListItem::SetHighlighted(bool highlighted) {
30   if (highlighted_ == highlighted)
31     return;
32 
33   highlighted_ = highlighted;
34   FOR_EACH_OBSERVER(AppListItemObserver,
35                     observers_,
36                     ItemHighlightedChanged());
37 }
38 
SetIsInstalling(bool is_installing)39 void AppListItem::SetIsInstalling(bool is_installing) {
40   if (is_installing_ == is_installing)
41     return;
42 
43   is_installing_ = is_installing;
44   FOR_EACH_OBSERVER(AppListItemObserver,
45                     observers_,
46                     ItemIsInstallingChanged());
47 }
48 
SetPercentDownloaded(int percent_downloaded)49 void AppListItem::SetPercentDownloaded(int percent_downloaded) {
50   if (percent_downloaded_ == percent_downloaded)
51     return;
52 
53   percent_downloaded_ = percent_downloaded;
54   FOR_EACH_OBSERVER(AppListItemObserver,
55                     observers_,
56                     ItemPercentDownloadedChanged());
57 }
58 
AddObserver(AppListItemObserver * observer)59 void AppListItem::AddObserver(AppListItemObserver* observer) {
60   observers_.AddObserver(observer);
61 }
62 
RemoveObserver(AppListItemObserver * observer)63 void AppListItem::RemoveObserver(AppListItemObserver* observer) {
64   observers_.RemoveObserver(observer);
65 }
66 
Activate(int event_flags)67 void AppListItem::Activate(int event_flags) {
68 }
69 
GetItemType() const70 const char* AppListItem::GetItemType() const {
71   static const char* app_type = "";
72   return app_type;
73 }
74 
GetContextMenuModel()75 ui::MenuModel* AppListItem::GetContextMenuModel() {
76   return NULL;
77 }
78 
FindChildItem(const std::string & id)79 AppListItem* AppListItem::FindChildItem(const std::string& id) {
80   return NULL;
81 }
82 
ChildItemCount() const83 size_t AppListItem::ChildItemCount() const {
84   return 0;
85 }
86 
OnExtensionPreferenceChanged()87 void AppListItem::OnExtensionPreferenceChanged() {}
88 
CompareForTest(const AppListItem * other) const89 bool AppListItem::CompareForTest(const AppListItem* other) const {
90   return id_ == other->id_ &&
91       folder_id_ == other->folder_id_ &&
92       name_ == other->name_ &&
93       short_name_ == other->short_name_ &&
94       GetItemType() == other->GetItemType() &&
95       position_.Equals(other->position_);
96 }
97 
ToDebugString() const98 std::string AppListItem::ToDebugString() const {
99   return id_.substr(0, 8) + " '" + name_ + "'"
100       + " [" + position_.ToDebugString() + "]";
101 }
102 
103 // Protected methods
104 
SetName(const std::string & name)105 void AppListItem::SetName(const std::string& name) {
106   if (name_ == name && (short_name_.empty() || short_name_ == name))
107     return;
108   name_ = name;
109   short_name_.clear();
110   FOR_EACH_OBSERVER(AppListItemObserver, observers_, ItemNameChanged());
111 }
112 
SetNameAndShortName(const std::string & name,const std::string & short_name)113 void AppListItem::SetNameAndShortName(const std::string& name,
114                                       const std::string& short_name) {
115   if (name_ == name && short_name_ == short_name)
116     return;
117   name_ = name;
118   short_name_ = short_name;
119   FOR_EACH_OBSERVER(AppListItemObserver, observers_, ItemNameChanged());
120 }
121 
122 }  // namespace app_list
123