• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "ui/app_list/search_result.h"
6 
7 #include "ui/app_list/app_list_constants.h"
8 #include "ui/app_list/search_result_observer.h"
9 
10 namespace app_list {
11 
Action(const gfx::ImageSkia & base_image,const gfx::ImageSkia & hover_image,const gfx::ImageSkia & pressed_image,const base::string16 & tooltip_text)12 SearchResult::Action::Action(const gfx::ImageSkia& base_image,
13                              const gfx::ImageSkia& hover_image,
14                              const gfx::ImageSkia& pressed_image,
15                              const base::string16& tooltip_text)
16     : base_image(base_image),
17       hover_image(hover_image),
18       pressed_image(pressed_image),
19       tooltip_text(tooltip_text) {}
20 
Action(const base::string16 & label_text,const base::string16 & tooltip_text)21 SearchResult::Action::Action(const base::string16& label_text,
22                              const base::string16& tooltip_text)
23     : tooltip_text(tooltip_text),
24       label_text(label_text) {}
25 
~Action()26 SearchResult::Action::~Action() {}
27 
SearchResult()28 SearchResult::SearchResult()
29     : relevance_(0),
30       display_type_(DISPLAY_LIST),
31       is_installing_(false),
32       percent_downloaded_(0) {
33 }
34 
~SearchResult()35 SearchResult::~SearchResult() {
36   FOR_EACH_OBSERVER(SearchResultObserver, observers_, OnResultDestroying());
37 }
38 
SetIcon(const gfx::ImageSkia & icon)39 void SearchResult::SetIcon(const gfx::ImageSkia& icon) {
40   icon_ = icon;
41   FOR_EACH_OBSERVER(SearchResultObserver,
42                     observers_,
43                     OnIconChanged());
44 }
45 
SetActions(const Actions & sets)46 void SearchResult::SetActions(const Actions& sets) {
47   actions_ = sets;
48   FOR_EACH_OBSERVER(SearchResultObserver,
49                     observers_,
50                     OnActionsChanged());
51 }
52 
SetIsInstalling(bool is_installing)53 void SearchResult::SetIsInstalling(bool is_installing) {
54   if (is_installing_ == is_installing)
55     return;
56 
57   is_installing_ = is_installing;
58   FOR_EACH_OBSERVER(SearchResultObserver,
59                     observers_,
60                     OnIsInstallingChanged());
61 }
62 
SetPercentDownloaded(int percent_downloaded)63 void SearchResult::SetPercentDownloaded(int percent_downloaded) {
64   if (percent_downloaded_ == percent_downloaded)
65     return;
66 
67   percent_downloaded_ = percent_downloaded;
68   FOR_EACH_OBSERVER(SearchResultObserver,
69                     observers_,
70                     OnPercentDownloadedChanged());
71 }
72 
GetPreferredIconDimension() const73 int SearchResult::GetPreferredIconDimension() const {
74   switch (display_type_) {
75     case DISPLAY_TILE:
76       return kTileIconSize;
77     case DISPLAY_LIST:
78       return kListIconSize;
79   }
80   NOTREACHED();
81   return 0;
82 }
83 
NotifyItemInstalled()84 void SearchResult::NotifyItemInstalled() {
85   FOR_EACH_OBSERVER(SearchResultObserver, observers_, OnItemInstalled());
86 }
87 
NotifyItemUninstalled()88 void SearchResult::NotifyItemUninstalled() {
89   FOR_EACH_OBSERVER(SearchResultObserver, observers_, OnItemUninstalled());
90 }
91 
AddObserver(SearchResultObserver * observer)92 void SearchResult::AddObserver(SearchResultObserver* observer) {
93   observers_.AddObserver(observer);
94 }
95 
RemoveObserver(SearchResultObserver * observer)96 void SearchResult::RemoveObserver(SearchResultObserver* observer) {
97   observers_.RemoveObserver(observer);
98 }
99 
Open(int event_flags)100 void SearchResult::Open(int event_flags) {
101 }
102 
InvokeAction(int action_index,int event_flags)103 void SearchResult::InvokeAction(int action_index, int event_flags) {
104 }
105 
GetContextMenuModel()106 ui::MenuModel* SearchResult::GetContextMenuModel() {
107   return NULL;
108 }
109 
110 }  // namespace app_list
111