Home | History | Annotate | Download | only in app_list
      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 
     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 
     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 
     26 SearchResult::Action::~Action() {}
     27 
     28 SearchResult::SearchResult()
     29     : relevance_(0),
     30       display_type_(DISPLAY_LIST),
     31       is_installing_(false),
     32       percent_downloaded_(0) {
     33 }
     34 
     35 SearchResult::~SearchResult() {
     36   FOR_EACH_OBSERVER(SearchResultObserver, observers_, OnResultDestroying());
     37 }
     38 
     39 void SearchResult::SetIcon(const gfx::ImageSkia& icon) {
     40   icon_ = icon;
     41   FOR_EACH_OBSERVER(SearchResultObserver,
     42                     observers_,
     43                     OnIconChanged());
     44 }
     45 
     46 void SearchResult::SetActions(const Actions& sets) {
     47   actions_ = sets;
     48   FOR_EACH_OBSERVER(SearchResultObserver,
     49                     observers_,
     50                     OnActionsChanged());
     51 }
     52 
     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 
     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 
     73 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 
     84 void SearchResult::NotifyItemInstalled() {
     85   FOR_EACH_OBSERVER(SearchResultObserver, observers_, OnItemInstalled());
     86 }
     87 
     88 void SearchResult::NotifyItemUninstalled() {
     89   FOR_EACH_OBSERVER(SearchResultObserver, observers_, OnItemUninstalled());
     90 }
     91 
     92 void SearchResult::AddObserver(SearchResultObserver* observer) {
     93   observers_.AddObserver(observer);
     94 }
     95 
     96 void SearchResult::RemoveObserver(SearchResultObserver* observer) {
     97   observers_.RemoveObserver(observer);
     98 }
     99 
    100 void SearchResult::Open(int event_flags) {
    101 }
    102 
    103 void SearchResult::InvokeAction(int action_index, int event_flags) {
    104 }
    105 
    106 ui::MenuModel* SearchResult::GetContextMenuModel() {
    107   return NULL;
    108 }
    109 
    110 }  // namespace app_list
    111