Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: chrome/browser/ui/webui/options/chromeos/system_options_handler.cc

Issue 8366016: Split out bluetooth UI handler from system UI handler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with trunk. Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/options/chromeos/system_options_handler.h" 5 #include "chrome/browser/ui/webui/options/chromeos/system_options_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION)); 72 IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION));
73 localized_strings->SetString("sensitivity", 73 localized_strings->SetString("sensitivity",
74 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SENSITIVITY_DESCRIPTION)); 74 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SENSITIVITY_DESCRIPTION));
75 localized_strings->SetString("sensitivityLess", 75 localized_strings->SetString("sensitivityLess",
76 l10n_util::GetStringUTF16( 76 l10n_util::GetStringUTF16(
77 IDS_OPTIONS_SETTINGS_SENSITIVITY_LESS_DESCRIPTION)); 77 IDS_OPTIONS_SETTINGS_SENSITIVITY_LESS_DESCRIPTION));
78 localized_strings->SetString("sensitivityMore", 78 localized_strings->SetString("sensitivityMore",
79 l10n_util::GetStringUTF16( 79 l10n_util::GetStringUTF16(
80 IDS_OPTIONS_SETTINGS_SENSITIVITY_MORE_DESCRIPTION)); 80 IDS_OPTIONS_SETTINGS_SENSITIVITY_MORE_DESCRIPTION));
81 81
82 localized_strings->SetString("bluetooth",
83 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_BLUETOOTH));
84 localized_strings->SetString("enableBluetooth",
85 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_ENABLE));
86 localized_strings->SetString("findBluetoothDevices",
87 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_FIND_BLUETOOTH_DEVICES));
88 localized_strings->SetString("bluetoothScanning",
89 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_SCANNING));
90 localized_strings->SetString("bluetoothDeviceConnected",
91 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_CONNECTED));
92 localized_strings->SetString("bluetoothDeviceNotPaired",
93 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_NOT_PAIRED));
94 localized_strings->SetString("bluetoothConnectDevice",
95 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_CONNECT));
96 localized_strings->SetString("bluetoothDisconnectDevice",
97 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_BLUETOOTH_DISCONNECT));
98
99 localized_strings->SetString("language", 82 localized_strings->SetString("language",
100 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_LANGUAGE)); 83 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_LANGUAGE));
101 localized_strings->SetString("languageCustomize", 84 localized_strings->SetString("languageCustomize",
102 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_LANGUAGES_CUSTOMIZE)); 85 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_LANGUAGES_CUSTOMIZE));
103 localized_strings->SetString("modifierKeysCustomize", 86 localized_strings->SetString("modifierKeysCustomize",
104 l10n_util::GetStringUTF16( 87 l10n_util::GetStringUTF16(
105 IDS_OPTIONS_SETTINGS_LANGUAGES_MODIFIER_KEYS_CUSTOMIZE)); 88 IDS_OPTIONS_SETTINGS_LANGUAGES_MODIFIER_KEYS_CUSTOMIZE));
106 89
107 localized_strings->SetString("accessibilityTitle", 90 localized_strings->SetString("accessibilityTitle",
108 l10n_util::GetStringUTF16( 91 l10n_util::GetStringUTF16(
109 IDS_OPTIONS_SETTINGS_SECTION_TITLE_ACCESSIBILITY)); 92 IDS_OPTIONS_SETTINGS_SECTION_TITLE_ACCESSIBILITY));
110 localized_strings->SetString("accessibility", 93 localized_strings->SetString("accessibility",
111 l10n_util::GetStringUTF16( 94 l10n_util::GetStringUTF16(
112 IDS_OPTIONS_SETTINGS_ACCESSIBILITY_DESCRIPTION)); 95 IDS_OPTIONS_SETTINGS_ACCESSIBILITY_DESCRIPTION));
113 96
114 localized_strings->Set("timezoneList", 97 localized_strings->Set("timezoneList",
115 reinterpret_cast<chromeos::SystemSettingsProvider*>( 98 reinterpret_cast<chromeos::SystemSettingsProvider*>(
116 settings_provider_.get())->GetTimezoneList()); 99 settings_provider_.get())->GetTimezoneList());
117 } 100 }
118 101
119 void SystemOptionsHandler::Initialize() { 102 void SystemOptionsHandler::Initialize() {
120 DCHECK(web_ui_); 103 DCHECK(web_ui_);
121 PrefService* pref_service = g_browser_process->local_state(); 104 PrefService* pref_service = g_browser_process->local_state();
122 bool acc_enabled = pref_service->GetBoolean(prefs::kAccessibilityEnabled); 105 bool acc_enabled = pref_service->GetBoolean(prefs::kAccessibilityEnabled);
123 base::FundamentalValue checked(acc_enabled); 106 base::FundamentalValue checked(acc_enabled);
124 web_ui_->CallJavascriptFunction( 107 web_ui_->CallJavascriptFunction(
125 "options.SystemOptions.SetAccessibilityCheckboxState", checked); 108 "options.SystemOptions.SetAccessibilityCheckboxState", checked);
126
127 // Bluetooth support is a work in progress. Supress the feature unless
128 // explicitly enabled via a command line flag.
129 // TODO (kevers) - Test for presence of bluetooth hardware.
130 if (CommandLine::ForCurrentProcess()
131 ->HasSwitch(switches::kEnableBluetooth)) {
132 web_ui_->CallJavascriptFunction(
133 "options.SystemOptions.showBluetoothSettings");
134 }
135 } 109 }
136 110
137 void SystemOptionsHandler::RegisterMessages() { 111 void SystemOptionsHandler::RegisterMessages() {
138 DCHECK(web_ui_); 112 DCHECK(web_ui_);
139 web_ui_->RegisterMessageCallback("accessibilityChange", 113 web_ui_->RegisterMessageCallback("accessibilityChange",
140 base::Bind(&SystemOptionsHandler::AccessibilityChangeCallback, 114 base::Bind(&SystemOptionsHandler::AccessibilityChangeCallback,
141 base::Unretained(this))); 115 base::Unretained(this)));
142 116
143 web_ui_->RegisterMessageCallback("decreaseScreenBrightness", 117 web_ui_->RegisterMessageCallback("decreaseScreenBrightness",
144 base::Bind(&SystemOptionsHandler::DecreaseScreenBrightnessCallback, 118 base::Bind(&SystemOptionsHandler::DecreaseScreenBrightnessCallback,
145 base::Unretained(this))); 119 base::Unretained(this)));
146 web_ui_->RegisterMessageCallback("increaseScreenBrightness", 120 web_ui_->RegisterMessageCallback("increaseScreenBrightness",
147 base::Bind(&SystemOptionsHandler::IncreaseScreenBrightnessCallback, 121 base::Bind(&SystemOptionsHandler::IncreaseScreenBrightnessCallback,
148 base::Unretained(this))); 122 base::Unretained(this)));
149
150 web_ui_->RegisterMessageCallback("bluetoothEnableChange",
151 base::Bind(&SystemOptionsHandler::BluetoothEnableChangeCallback,
152 base::Unretained(this)));
153 web_ui_->RegisterMessageCallback("findBluetoothDevices",
154 base::Bind(&SystemOptionsHandler::FindBluetoothDevicesCallback,
155 base::Unretained(this)));
156 } 123 }
157 124
158 void SystemOptionsHandler::AccessibilityChangeCallback(const ListValue* args) { 125 void SystemOptionsHandler::AccessibilityChangeCallback(const ListValue* args) {
159 std::string checked_str; 126 std::string checked_str;
160 args->GetString(0, &checked_str); 127 args->GetString(0, &checked_str);
161 bool accessibility_enabled = (checked_str == "true"); 128 bool accessibility_enabled = (checked_str == "true");
162 129
163 chromeos::accessibility::EnableAccessibility(accessibility_enabled, NULL); 130 chromeos::accessibility::EnableAccessibility(accessibility_enabled, NULL);
164 } 131 }
165 132
166 void SystemOptionsHandler::DecreaseScreenBrightnessCallback( 133 void SystemOptionsHandler::DecreaseScreenBrightnessCallback(
167 const ListValue* args) { 134 const ListValue* args) {
168 // Do not allow the options button to turn off the backlight, as that 135 // Do not allow the options button to turn off the backlight, as that
169 // can make it very difficult to see the increase brightness button. 136 // can make it very difficult to see the increase brightness button.
170 chromeos::DBusThreadManager::Get()->power_manager_client()-> 137 chromeos::DBusThreadManager::Get()->power_manager_client()->
171 DecreaseScreenBrightness(false); 138 DecreaseScreenBrightness(false);
172 } 139 }
173 140
174 void SystemOptionsHandler::IncreaseScreenBrightnessCallback( 141 void SystemOptionsHandler::IncreaseScreenBrightnessCallback(
175 const ListValue* args) { 142 const ListValue* args) {
176 chromeos::DBusThreadManager::Get()->power_manager_client()-> 143 chromeos::DBusThreadManager::Get()->power_manager_client()->
177 IncreaseScreenBrightness(); 144 IncreaseScreenBrightness();
178 } 145 }
179
180 void SystemOptionsHandler::BluetoothEnableChangeCallback(
181 const ListValue* args) {
182 // TODO (kevers) - Call Bluetooth API to enable or disable.
183 }
184
185 void SystemOptionsHandler::FindBluetoothDevicesCallback(
186 const ListValue* args) {
187 // TODO (kevers) - Call Bluetooth API to fetch devices.
188 // Generate a fake list until the bluetooth API is ready.
189 // Afterwards keep fake list only for cases where emulating
190 // ChromeOS from the desktop launch.
191 GenerateFakeDeviceList();
192 }
193
194 void SystemOptionsHandler::BluetoothDeviceNotification(
195 const DictionaryValue& device) {
196 web_ui_->CallJavascriptFunction(
197 "options.SystemOptions.addBluetoothDevice", device);
198 }
199
200 void SystemOptionsHandler::GenerateFakeDeviceList() {
201 // TODO (kevers) - Send notifications asynchronously simulating that the
202 // process of discovering bluetooth devices takes time.
203 // Fire each notification using OneShotTimer with a
204 // varying delay.
205 std::string data[9] = {
206 "Fake Wireless Keyboard", "01-02-03-04-05", "keyboard",
207 "Fake Wireless Mouse", "02-03-04-05-01", "mouse",
208 "Fake Wireless Headset", "03-04-05-01-02", "headset"};
209
210 for (int i = 0; i < 3; i++) {
211 DictionaryValue device;
212 device.SetString("deviceName", data[3*i]);
213 device.SetString("deviceId", data[3*i+1]);
214 device.SetString("deviceType", data[3*i+2]);
215 device.SetString("deviceStatus", "bluetoothDeviceNotPaired");
216 web_ui_->CallJavascriptFunction(
217 "options.SystemOptions.addBluetoothDevice", device);
218 }
219 web_ui_->CallJavascriptFunction(
220 "options.SystemOptions.notifyBluetoothSearchComplete");
221 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/chromeos/system_options_handler.h ('k') | chrome/browser/ui/webui/options/options_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698