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

Unified Diff: ash/system/bluetooth/tray_bluetooth.cc

Issue 12385064: Introduce 'connecting' field to bluetooth device info for system tray (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ash/system/tray/system_tray_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | ash/system/tray/system_tray_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698