OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handle r.h" | 5 #include "chrome/browser/ui/webui/options2/chromeos/set_wallpaper_options_handle r.h" |
6 | 6 |
7 #include "ash/desktop_background/desktop_background_controller.h" | 7 #include "ash/desktop_background/desktop_background_controller.h" |
8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/metrics/histogram.h" | 11 #include "base/metrics/histogram.h" |
12 #include "base/path_service.h" | 12 #include "base/path_service.h" |
13 #include "base/string_number_conversions.h" | 13 #include "base/string_number_conversions.h" |
14 #include "base/string_util.h" | 14 #include "base/string_util.h" |
15 #include "base/values.h" | 15 #include "base/values.h" |
16 #include "chrome/browser/chromeos/login/user_manager.h" | 16 #include "chrome/browser/chromeos/login/user_manager.h" |
17 #include "chrome/browser/chromeos/login/wallpaper_manager.h" | |
17 #include "chrome/browser/ui/browser_finder.h" | 18 #include "chrome/browser/ui/browser_finder.h" |
18 #include "chrome/browser/ui/browser_window.h" | 19 #include "chrome/browser/ui/browser_window.h" |
19 #include "chrome/browser/ui/chrome_select_file_policy.h" | 20 #include "chrome/browser/ui/chrome_select_file_policy.h" |
20 #include "chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source.h " | 21 #include "chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source.h " |
21 #include "chrome/browser/ui/webui/web_ui_util.h" | 22 #include "chrome/browser/ui/webui/web_ui_util.h" |
22 #include "chrome/common/chrome_paths.h" | 23 #include "chrome/common/chrome_paths.h" |
23 #include "content/public/browser/web_ui.h" | 24 #include "content/public/browser/web_ui.h" |
24 #include "grit/generated_resources.h" | 25 #include "grit/generated_resources.h" |
25 #include "ui/base/l10n/l10n_util.h" | 26 #include "ui/base/l10n/l10n_util.h" |
26 #include "ui/base/resource/resource_bundle.h" | 27 #include "ui/base/resource/resource_bundle.h" |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
94 void SetWallpaperOptionsHandler::SetCustomWallpaperThumbnail() { | 95 void SetWallpaperOptionsHandler::SetCustomWallpaperThumbnail() { |
95 web_ui()->CallJavascriptFunction("SetWallpaperOptions.setCustomImage"); | 96 web_ui()->CallJavascriptFunction("SetWallpaperOptions.setCustomImage"); |
96 } | 97 } |
97 | 98 |
98 void SetWallpaperOptionsHandler::FileSelected(const FilePath& path, | 99 void SetWallpaperOptionsHandler::FileSelected(const FilePath& path, |
99 int index, | 100 int index, |
100 void* params) { | 101 void* params) { |
101 UserManager* user_manager = UserManager::Get(); | 102 UserManager* user_manager = UserManager::Get(); |
102 | 103 |
103 // Default wallpaper layout is CENTER_CROPPED. | 104 // Default wallpaper layout is CENTER_CROPPED. |
104 user_manager->SaveUserWallpaperFromFile( | 105 WallpaperManager::Get()->SetUserWallpaperFromFile( |
105 user_manager->GetLoggedInUser().email(), path, ash::CENTER_CROPPED, | 106 user_manager->GetLoggedInUser().email(), path, ash::CENTER_CROPPED, |
106 weak_factory_.GetWeakPtr()); | 107 weak_factory_.GetWeakPtr()); |
107 web_ui()->CallJavascriptFunction("SetWallpaperOptions.didSelectFile"); | 108 web_ui()->CallJavascriptFunction("SetWallpaperOptions.didSelectFile"); |
108 } | 109 } |
109 | 110 |
110 void SetWallpaperOptionsHandler::SendDefaultImages() { | 111 void SetWallpaperOptionsHandler::SendDefaultImages() { |
111 ListValue images; | 112 ListValue images; |
112 DictionaryValue* image_detail; | 113 DictionaryValue* image_detail; |
113 ash::WallpaperInfo image_info; | 114 ash::WallpaperInfo image_info; |
114 | 115 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
154 DCHECK(args && args->empty()); | 155 DCHECK(args && args->empty()); |
155 | 156 |
156 SendDefaultImages(); | 157 SendDefaultImages(); |
157 } | 158 } |
158 | 159 |
159 void SetWallpaperOptionsHandler::HandlePageShown(const base::ListValue* args) { | 160 void SetWallpaperOptionsHandler::HandlePageShown(const base::ListValue* args) { |
160 DCHECK(args && args->empty()); | 161 DCHECK(args && args->empty()); |
161 User::WallpaperType type; | 162 User::WallpaperType type; |
162 int index; | 163 int index; |
163 base::Time date; | 164 base::Time date; |
164 UserManager::Get()->GetLoggedInUserWallpaperProperties(&type, &index, &date); | 165 WallpaperManager::Get()->GetLoggedInUserWallpaperProperties(&type, &index, |
Ivan Korotkov
2012/07/31 21:18:16
Maybe move all arguments to the next line?
bshe
2012/08/01 15:07:35
Done.
| |
166 &date); | |
165 if (type == User::DAILY && date != base::Time::Now().LocalMidnight()) { | 167 if (type == User::DAILY && date != base::Time::Now().LocalMidnight()) { |
166 index = ash::GetNextWallpaperIndex(index); | 168 index = ash::GetNextWallpaperIndex(index); |
167 UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DAILY, | 169 UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DAILY, |
168 index); | 170 index); |
169 ash::Shell::GetInstance()->user_wallpaper_delegate()-> | 171 ash::Shell::GetInstance()->user_wallpaper_delegate()-> |
170 InitializeWallpaper(); | 172 InitializeWallpaper(); |
171 } | 173 } |
172 base::StringValue image_url(GetDefaultWallpaperThumbnailURL(index)); | 174 base::StringValue image_url(GetDefaultWallpaperThumbnailURL(index)); |
173 base::FundamentalValue is_daily(type == User::DAILY); | 175 base::FundamentalValue is_daily(type == User::DAILY); |
174 if (type == User::CUSTOMIZED) { | 176 if (type == User::CUSTOMIZED) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
228 UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DEFAULT, | 230 UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DEFAULT, |
229 user_image_index); | 231 user_image_index); |
230 ash::Shell::GetInstance()->user_wallpaper_delegate()->InitializeWallpaper(); | 232 ash::Shell::GetInstance()->user_wallpaper_delegate()->InitializeWallpaper(); |
231 } | 233 } |
232 } | 234 } |
233 | 235 |
234 void SetWallpaperOptionsHandler::HandleDailyWallpaper(const ListValue* args) { | 236 void SetWallpaperOptionsHandler::HandleDailyWallpaper(const ListValue* args) { |
235 User::WallpaperType type; | 237 User::WallpaperType type; |
236 int index; | 238 int index; |
237 base::Time date; | 239 base::Time date; |
238 UserManager::Get()->GetLoggedInUserWallpaperProperties(&type, &index, &date); | 240 WallpaperManager::Get()->GetLoggedInUserWallpaperProperties(&type, &index, |
241 &date); | |
Ivan Korotkov
2012/07/31 21:18:16
Ditto
bshe
2012/08/01 15:07:35
Done.
| |
239 if (date != base::Time::Now().LocalMidnight()) | 242 if (date != base::Time::Now().LocalMidnight()) |
240 index = ash::GetNextWallpaperIndex(index); | 243 index = ash::GetNextWallpaperIndex(index); |
241 UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DAILY, index); | 244 UserManager::Get()->SaveLoggedInUserWallpaperProperties(User::DAILY, index); |
242 ash::Shell::GetInstance()->desktop_background_controller()-> | 245 ash::Shell::GetInstance()->desktop_background_controller()-> |
243 SetDefaultWallpaper(index); | 246 SetDefaultWallpaper(index); |
244 base::StringValue image_url(GetDefaultWallpaperThumbnailURL(index)); | 247 base::StringValue image_url(GetDefaultWallpaperThumbnailURL(index)); |
245 base::FundamentalValue is_daily(true); | 248 base::FundamentalValue is_daily(true); |
246 web_ui()->CallJavascriptFunction("SetWallpaperOptions.setSelectedImage", | 249 web_ui()->CallJavascriptFunction("SetWallpaperOptions.setSelectedImage", |
247 image_url, is_daily); | 250 image_url, is_daily); |
248 } | 251 } |
249 | 252 |
250 gfx::NativeWindow SetWallpaperOptionsHandler::GetBrowserWindow() const { | 253 gfx::NativeWindow SetWallpaperOptionsHandler::GetBrowserWindow() const { |
251 Browser* browser = | 254 Browser* browser = |
252 browser::FindBrowserWithWebContents(web_ui()->GetWebContents()); | 255 browser::FindBrowserWithWebContents(web_ui()->GetWebContents()); |
253 return browser->window()->GetNativeWindow(); | 256 return browser->window()->GetNativeWindow(); |
254 } | 257 } |
255 | 258 |
256 } // namespace options2 | 259 } // namespace options2 |
257 } // namespace chromeos | 260 } // namespace chromeos |
OLD | NEW |