1 // Copyright 2014 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.
5 #ifndef ATHENA_HOME_APP_LIST_VIEW_DELEGATE_H_
6 #define ATHENA_HOME_APP_LIST_VIEW_DELEGATE_H_
8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "ui/app_list/app_list_view_delegate.h"
13 class SearchController
;
17 class AppModelBuilder
;
18 class SearchControllerFactory
;
20 class AppListViewDelegate
: public app_list::AppListViewDelegate
{
22 AppListViewDelegate(AppModelBuilder
* model_builder
,
23 SearchControllerFactory
* search_factory
);
24 ~AppListViewDelegate() override
;
27 // Overridden from app_list::AppListViewDelegate:
28 bool ForceNativeDesktop() const override
;
29 void SetProfileByPath(const base::FilePath
& profile_path
) override
;
30 app_list::AppListModel
* GetModel() override
;
31 app_list::SpeechUIModel
* GetSpeechUI() override
;
32 void GetShortcutPathForApp(
33 const std::string
& app_id
,
34 const base::Callback
<void(const base::FilePath
&)>& callback
) override
;
35 void StartSearch() override
;
36 void StopSearch() override
;
37 void OpenSearchResult(app_list::SearchResult
* result
,
39 int event_flags
) override
;
40 void InvokeSearchResultAction(app_list::SearchResult
* result
,
42 int event_flags
) override
;
43 base::TimeDelta
GetAutoLaunchTimeout() override
;
44 void AutoLaunchCanceled() override
;
45 void ViewInitialized() override
;
46 void Dismiss() override
;
47 void ViewClosing() override
;
48 gfx::ImageSkia
GetWindowIcon() override
;
49 void OpenSettings() override
;
50 void OpenHelp() override
;
51 void OpenFeedback() override
;
52 void ToggleSpeechRecognition() override
;
53 void ShowForProfileByPath(const base::FilePath
& profile_path
) override
;
54 views::View
* CreateStartPageWebView(const gfx::Size
& size
) override
;
55 std::vector
<views::View
*> CreateCustomPageWebViews(
56 const gfx::Size
& size
) override
;
57 void CustomLauncherPageAnimationChanged(double progress
) override
;
58 bool IsSpeechRecognitionEnabled() override
;
59 const Users
& GetUsers() const override
;
60 bool ShouldCenterWindow() const override
;
62 scoped_ptr
<app_list::AppListModel
> model_
;
63 scoped_ptr
<app_list::SpeechUIModel
> speech_ui_
;
65 scoped_ptr
<app_list::SearchController
> search_controller_
;
67 DISALLOW_COPY_AND_ASSIGN(AppListViewDelegate
);
72 #endif // ATHENA_HOME_APP_LIST_VIEW_DELEGATE_H_