Chromium Code Reviews| Index: ash/system/bluetooth/tray_bluetooth.cc |
| diff --git a/ash/system/bluetooth/tray_bluetooth.cc b/ash/system/bluetooth/tray_bluetooth.cc |
| index 2569c9191d6f18693400f44a314a752f838731b5..07760f44995fdab115e536a3b7a170a86a9d0990 100644 |
| --- a/ash/system/bluetooth/tray_bluetooth.cc |
| +++ b/ash/system/bluetooth/tray_bluetooth.cc |
| @@ -128,18 +128,24 @@ class BluetoothDetailedView : public TrayDetailsView, |
| void UpdateBlueToothDeviceList() { |
| connected_devices_.clear(); |
| + connecting_devices_.clear(); |
| paired_not_connected_devices_.clear(); |
| discovered_not_paired_devices_.clear(); |
| BluetoothDeviceList list; |
| Shell::GetInstance()->system_tray_delegate()-> |
| GetAvailableBluetoothDevices(&list); |
| for (size_t i = 0; i < list.size(); ++i) { |
| - if (list[i].connected) |
| + if (list[i].connecting) { |
| + list[i].display_name = l10n_util::GetStringFUTF16( |
| + IDS_ASH_STATUS_TRAY_BLUETOOTH_CONNECTING, list[i].display_name); |
| + connecting_devices_.push_back(list[i]); |
| + } else if (list[i].connected) { |
| connected_devices_.push_back(list[i]); |
| - else if (list[i].paired) |
| + } else if (list[i].paired) { |
| paired_not_connected_devices_.push_back(list[i]); |
| - else |
| + } else { |
| discovered_not_paired_devices_.push_back(list[i]); |
| + } |
| } |
| } |
| @@ -199,6 +205,8 @@ class BluetoothDetailedView : public TrayDetailsView, |
| AppendSameTypeDevicesToScrollList( |
| connected_devices_, true, true, bluetooth_enabled); |
| AppendSameTypeDevicesToScrollList( |
| + connecting_devices_, true, false, bluetooth_enabled); |
| + AppendSameTypeDevicesToScrollList( |
| paired_not_connected_devices_, false, false, bluetooth_enabled); |
| if (discovered_not_paired_devices_.size() > 0) |
| AddScrollSeparator(); |
| @@ -224,8 +232,9 @@ class BluetoothDetailedView : public TrayDetailsView, |
| bool checked, |
| bool enabled) { |
| for (size_t i = 0; i < list.size(); ++i) { |
| + string16 display_name = list[i].display_name; |
|
jennyz
2013/04/15 18:47:17
nit, you don't need to use this variable display_n
Jun Mukai
2013/04/15 21:09:45
Done.
|
| HoverHighlightView* container = AddScrollListItem( |
| - list[i].display_name, |
| + display_name, |
| bold? gfx::Font::BOLD : gfx::Font::NORMAL, |
| checked, enabled); |
| device_map_[container] = list[i].address; |
| @@ -264,13 +273,15 @@ class BluetoothDetailedView : public TrayDetailsView, |
| } |
| // Returns true if the device with |device_id| is found in |device_list|, |
| - // and the display_name of the device will be returned in |display_name|. |
| + // and the display_name of the device will be returned in |display_name| if |
| + // it's not NULL. |
| bool FoundDevice(const std::string& device_id, |
| const BluetoothDeviceList& device_list, |
| base::string16* display_name) { |
| for (size_t i = 0; i < device_list.size(); ++i) { |
| if (device_list[i].address == device_id) { |
| - *display_name = device_list[i].display_name; |
| + if (display_name) |
| + *display_name = device_list[i].display_name; |
| return true; |
| } |
| } |
| @@ -315,11 +326,13 @@ class BluetoothDetailedView : public TrayDetailsView, |
| return; |
| std::map<views::View*, std::string>::iterator find; |
| find = device_map_.find(sender); |
| - if (find != device_map_.end()) { |
| - std::string device_id = find->second; |
| - UpdateClickedDevice(device_id, sender); |
| - delegate->ToggleBluetoothConnection(device_id); |
| - } |
| + if (find == device_map_.end()) |
| + return; |
| + std::string device_id = find->second; |
| + if (FoundDevice(device_id, connecting_devices_, NULL)) |
| + return; |
| + UpdateClickedDevice(device_id, sender); |
| + delegate->ToggleBluetoothConnection(device_id); |
| } |
| } |
| @@ -342,6 +355,7 @@ class BluetoothDetailedView : public TrayDetailsView, |
| TrayPopupHeaderButton* toggle_bluetooth_; |
| HoverHighlightView* enable_bluetooth_; |
| BluetoothDeviceList connected_devices_; |
| + BluetoothDeviceList connecting_devices_; |
| BluetoothDeviceList paired_not_connected_devices_; |
| BluetoothDeviceList discovered_not_paired_devices_; |
| bool bluetooth_discovering_; |