Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / webui / options / chromeos / pointer_handler.cc
blob4390f78cec4eb0c7b97a977727af64de19729759
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.
5 #include "chrome/browser/ui/webui/options/chromeos/pointer_handler.h"
7 #include "base/basictypes.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "base/values.h"
10 #include "chrome/common/url_constants.h"
11 #include "chrome/grit/generated_resources.h"
12 #include "content/public/browser/web_ui.h"
13 #include "ui/base/l10n/l10n_util.h"
15 namespace chromeos {
16 namespace options {
18 PointerHandler::PointerHandler()
19 : has_touchpad_(false),
20 has_mouse_(false) {
23 PointerHandler::~PointerHandler() {
26 void PointerHandler::GetLocalizedValues(
27 base::DictionaryValue* localized_strings) {
28 DCHECK(localized_strings);
30 static OptionsStringResource resources[] = {
31 { "pointerOverlayTitleTouchpadOnly",
32 IDS_OPTIONS_POINTER_TOUCHPAD_OVERLAY_TITLE },
33 { "pointerOverlayTitleMouseOnly",
34 IDS_OPTIONS_POINTER_MOUSE_OVERLAY_TITLE },
35 { "pointerOverlayTitleTouchpadMouse",
36 IDS_OPTIONS_POINTER_TOUCHPAD_MOUSE_OVERLAY_TITLE },
37 { "pointerOverlaySectionTitleTouchpad",
38 IDS_OPTIONS_POINTER_OVERLAY_SECTION_TITLE_TOUCHPAD },
39 { "pointerOverlaySectionTitleMouse",
40 IDS_OPTIONS_POINTER_OVERLAY_SECTION_TITLE_MOUSE },
41 { "enableTapToClick",
42 IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION },
43 { "primaryMouseRight",
44 IDS_OPTIONS_SETTINGS_PRIMARY_MOUSE_RIGHT_DESCRIPTION },
45 { "traditionalScroll",
46 IDS_OPTIONS_SETTINGS_TRADITIONAL_SCROLL_DESCRIPTION },
49 localized_strings->SetString("naturalScroll",
50 l10n_util::GetStringFUTF16(
51 IDS_OPTIONS_SETTINGS_NATURAL_SCROLL_DESCRIPTION,
52 base::ASCIIToUTF16(chrome::kNaturalScrollHelpURL)));
54 RegisterStrings(localized_strings, resources, arraysize(resources));
58 void PointerHandler::TouchpadExists(bool exists) {
59 has_touchpad_ = exists;
60 base::FundamentalValue val(exists);
61 web_ui()->CallJavascriptFunction("PointerOverlay.showTouchpadControls", val);
62 UpdateTitle();
65 void PointerHandler::MouseExists(bool exists) {
66 has_mouse_ = exists;
67 base::FundamentalValue val(exists);
68 web_ui()->CallJavascriptFunction("PointerOverlay.showMouseControls", val);
69 UpdateTitle();
72 void PointerHandler::UpdateTitle() {
73 std::string label;
74 if (has_touchpad_) {
75 label = has_mouse_ ? "pointerOverlayTitleTouchpadMouse" :
76 "pointerOverlayTitleTouchpadOnly";
77 } else {
78 label = has_mouse_ ? "pointerOverlayTitleMouseOnly" : "";
80 base::StringValue val(label);
81 web_ui()->CallJavascriptFunction("PointerOverlay.setTitle", val);
84 } // namespace options
85 } // namespace chromeos