| Index: ash/system/bluetooth/tray_bluetooth.cc
|
| diff --git a/ash/system/bluetooth/tray_bluetooth.cc b/ash/system/bluetooth/tray_bluetooth.cc
|
| index 962a3ff82ccc38d29a64fc62f6fb488eab5e73a5..26625a6414373cd4bf17a166c9da6411482d0728 100644
|
| --- a/ash/system/bluetooth/tray_bluetooth.cc
|
| +++ b/ash/system/bluetooth/tray_bluetooth.cc
|
| @@ -24,10 +24,10 @@
|
| #include "ash/system/tray/tri_view.h"
|
| #include "device/bluetooth/bluetooth_common.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/base/resource/resource_bundle.h"
|
| #include "ui/gfx/color_palette.h"
|
| #include "ui/gfx/image/image.h"
|
| #include "ui/gfx/paint_vector_icon.h"
|
| +#include "ui/gfx/vector_icon_types.h"
|
| #include "ui/views/controls/button/toggle_button.h"
|
| #include "ui/views/controls/image_view.h"
|
| #include "ui/views/controls/label.h"
|
| @@ -119,11 +119,10 @@ class BluetoothDefaultView : public TrayItemMore {
|
| void Update() {
|
| TrayBluetoothHelper* helper = Shell::Get()->tray_bluetooth_helper();
|
| if (helper->GetBluetoothAvailable()) {
|
| - ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
|
| - const base::string16 label =
|
| - rb.GetLocalizedString(helper->GetBluetoothEnabled()
|
| - ? IDS_ASH_STATUS_TRAY_BLUETOOTH_ENABLED
|
| - : IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED);
|
| + const base::string16 label = l10n_util::GetStringUTF16(
|
| + helper->GetBluetoothEnabled()
|
| + ? IDS_ASH_STATUS_TRAY_BLUETOOTH_ENABLED
|
| + : IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED);
|
| SetLabel(label);
|
| SetAccessibleName(label);
|
| SetVisible(true);
|
| @@ -163,8 +162,8 @@ class BluetoothDefaultView : public TrayItemMore {
|
|
|
| bool has_connected_device = false;
|
| BluetoothDeviceList list = helper->GetAvailableBluetoothDevices();
|
| - for (size_t i = 0; i < list.size(); ++i) {
|
| - if (list[i].connected) {
|
| + for (const auto& device : list) {
|
| + if (device.connected) {
|
| has_connected_device = true;
|
| break;
|
| }
|
| @@ -235,21 +234,20 @@ class BluetoothDetailedView : public TrayDetailsView {
|
|
|
| BluetoothDeviceList list =
|
| Shell::Get()->tray_bluetooth_helper()->GetAvailableBluetoothDevices();
|
| - for (size_t i = 0; i < list.size(); ++i) {
|
| - if (list[i].connecting) {
|
| - new_connecting_devices.insert(list[i].address);
|
| - UpdateBluetoothDeviceListHelper(&connecting_devices_, list[i]);
|
| - } else if (list[i].connected && list[i].paired) {
|
| - new_connected_devices.insert(list[i].address);
|
| - UpdateBluetoothDeviceListHelper(&connected_devices_, list[i]);
|
| - } else if (list[i].paired) {
|
| - new_paired_not_connected_devices.insert(list[i].address);
|
| - UpdateBluetoothDeviceListHelper(&paired_not_connected_devices_,
|
| - list[i]);
|
| + for (const auto& device : list) {
|
| + if (device.connecting) {
|
| + new_connecting_devices.insert(device.address);
|
| + UpdateBluetoothDeviceListHelper(&connecting_devices_, device);
|
| + } else if (device.connected && device.paired) {
|
| + new_connected_devices.insert(device.address);
|
| + UpdateBluetoothDeviceListHelper(&connected_devices_, device);
|
| + } else if (device.paired) {
|
| + new_paired_not_connected_devices.insert(device.address);
|
| + UpdateBluetoothDeviceListHelper(&paired_not_connected_devices_, device);
|
| } else {
|
| - new_discovered_not_paired_devices.insert(list[i].address);
|
| + new_discovered_not_paired_devices.insert(device.address);
|
| UpdateBluetoothDeviceListHelper(&discovered_not_paired_devices_,
|
| - list[i]);
|
| + device);
|
| }
|
| }
|
| RemoveObsoleteBluetoothDevicesFromList(&connecting_devices_,
|
| @@ -293,7 +291,7 @@ class BluetoothDetailedView : public TrayDetailsView {
|
| connecting_devices_.size() +
|
| paired_not_connected_devices_.size();
|
| if (num_paired_devices > 0) {
|
| - AddSubHeader(IDS_ASH_STATUS_TRAY_BLUETOOTH_PAIRED_DEVICES);
|
| + AddScrollListSubHeader(IDS_ASH_STATUS_TRAY_BLUETOOTH_PAIRED_DEVICES);
|
| AppendSameTypeDevicesToScrollList(connected_devices_, true, true,
|
| bluetooth_enabled);
|
| AppendSameTypeDevicesToScrollList(connecting_devices_, true, false,
|
| @@ -306,7 +304,7 @@ class BluetoothDetailedView : public TrayDetailsView {
|
| // present, also add a section header above the unpaired devices.
|
| if (discovered_not_paired_devices_.size() > 0) {
|
| if (num_paired_devices > 0)
|
| - AddSubHeader(IDS_ASH_STATUS_TRAY_BLUETOOTH_UNPAIRED_DEVICES);
|
| + AddScrollListSubHeader(IDS_ASH_STATUS_TRAY_BLUETOOTH_UNPAIRED_DEVICES);
|
| AppendSameTypeDevicesToScrollList(discovered_not_paired_devices_, false,
|
| false, bluetooth_enabled);
|
| }
|
| @@ -328,83 +326,41 @@ class BluetoothDetailedView : public TrayDetailsView {
|
| bool highlight,
|
| bool checked,
|
| bool enabled) {
|
| - for (size_t i = 0; i < list.size(); ++i) {
|
| - HoverHighlightView* container = nullptr;
|
| - gfx::ImageSkia icon_image = CreateVectorIcon(
|
| - GetBluetoothDeviceIcon(list[i].device_type, list[i].connected),
|
| - kMenuIconColor);
|
| - container = AddScrollListItem(list[i].display_name, icon_image,
|
| - list[i].connected, list[i].connecting);
|
| - device_map_[container] = list[i].address;
|
| - }
|
| - }
|
| -
|
| - HoverHighlightView* AddScrollListItem(const base::string16& text,
|
| - const gfx::ImageSkia& image,
|
| - bool connected,
|
| - bool connecting) {
|
| - HoverHighlightView* container = new HoverHighlightView(this);
|
| - if (connected) {
|
| - SetupConnectedItem(container, text, image);
|
| - } else if (connecting) {
|
| - SetupConnectingItem(container, text, image);
|
| - } else {
|
| - container->AddIconAndLabel(image, text);
|
| + for (const auto& device : list) {
|
| + const gfx::VectorIcon& icon =
|
| + GetBluetoothDeviceIcon(device.device_type, device.connected);
|
| + HoverHighlightView* container =
|
| + AddScrollListItem(icon, device.display_name);
|
| + if (device.connected)
|
| + SetupConnectedItem(container);
|
| + else if (device.connecting)
|
| + SetupConnectingItem(container);
|
| + device_map_[container] = device.address;
|
| }
|
| - scroll_content()->AddChildView(container);
|
| - return container;
|
| }
|
|
|
| - void AddSubHeader(int message_id) {
|
| - TriView* header = TrayPopupUtils::CreateSubHeaderRowView();
|
| - TrayPopupUtils::ConfigureAsStickyHeader(header);
|
| -
|
| - views::Label* label = TrayPopupUtils::CreateDefaultLabel();
|
| - label->SetText(l10n_util::GetStringUTF16(message_id));
|
| - TrayPopupItemStyle style(TrayPopupItemStyle::FontStyle::SUB_HEADER);
|
| - style.SetupLabel(label);
|
| - header->AddView(TriView::Container::CENTER, label);
|
| -
|
| - scroll_content()->AddChildView(header);
|
| - }
|
| -
|
| - void SetupConnectedItem(HoverHighlightView* container,
|
| - const base::string16& text,
|
| - const gfx::ImageSkia& image) {
|
| - container->AddIconAndLabels(
|
| - image, text, l10n_util::GetStringUTF16(
|
| - IDS_ASH_STATUS_TRAY_NETWORK_STATUS_CONNECTED));
|
| + void SetupConnectedItem(HoverHighlightView* container) {
|
| + container->SetSubText(l10n_util::GetStringUTF16(
|
| + IDS_ASH_STATUS_TRAY_NETWORK_STATUS_CONNECTED));
|
| TrayPopupItemStyle style(TrayPopupItemStyle::FontStyle::CAPTION);
|
| style.set_color_style(TrayPopupItemStyle::ColorStyle::CONNECTED);
|
| style.SetupLabel(container->sub_text_label());
|
| }
|
|
|
| - void SetupConnectingItem(HoverHighlightView* container,
|
| - const base::string16& text,
|
| - const gfx::ImageSkia& image) {
|
| - container->AddIconAndLabels(
|
| - image, text, l10n_util::GetStringUTF16(
|
| - IDS_ASH_STATUS_TRAY_NETWORK_STATUS_CONNECTING));
|
| + void SetupConnectingItem(HoverHighlightView* container) {
|
| + container->SetSubText(l10n_util::GetStringUTF16(
|
| + IDS_ASH_STATUS_TRAY_NETWORK_STATUS_CONNECTING));
|
| ThrobberView* throbber = new ThrobberView;
|
| throbber->Start();
|
| container->AddRightView(throbber);
|
| }
|
|
|
| - // 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| if
|
| - // it's not NULL.
|
| + // Returns true if the device with |device_id| is found in |device_list|.
|
| bool FoundDevice(const std::string& device_id,
|
| - const BluetoothDeviceList& device_list,
|
| - base::string16* display_name,
|
| - device::BluetoothDeviceType* device_type) {
|
| - for (size_t i = 0; i < device_list.size(); ++i) {
|
| - if (device_list[i].address == device_id) {
|
| - if (display_name)
|
| - *display_name = device_list[i].display_name;
|
| - if (device_type)
|
| - *device_type = device_list[i].device_type;
|
| + const BluetoothDeviceList& device_list) {
|
| + for (const auto& device : device_list) {
|
| + if (device.address == device_id)
|
| return true;
|
| - }
|
| }
|
| return false;
|
| }
|
| @@ -413,18 +369,10 @@ class BluetoothDetailedView : public TrayDetailsView {
|
| // or disconnected if such an operation is going to be performed underway.
|
| void UpdateClickedDevice(const std::string& device_id,
|
| views::View* item_container) {
|
| - base::string16 display_name;
|
| - device::BluetoothDeviceType device_type;
|
| - if (FoundDevice(device_id, paired_not_connected_devices_, &display_name,
|
| - &device_type)) {
|
| - item_container->RemoveAllChildViews(true);
|
| + if (FoundDevice(device_id, paired_not_connected_devices_)) {
|
| HoverHighlightView* container =
|
| static_cast<HoverHighlightView*>(item_container);
|
| - TrayPopupItemStyle style(
|
| - TrayPopupItemStyle::FontStyle::DETAILED_VIEW_LABEL);
|
| - gfx::ImageSkia icon_image = CreateVectorIcon(
|
| - GetBluetoothDeviceIcon(device_type, false), style.GetIconColor());
|
| - SetupConnectingItem(container, display_name, icon_image);
|
| + SetupConnectingItem(container);
|
| scroll_content()->SizeToPreferredSize();
|
| scroller()->Layout();
|
| }
|
| @@ -442,7 +390,7 @@ class BluetoothDetailedView : public TrayDetailsView {
|
| return;
|
|
|
| const std::string device_id = find->second;
|
| - if (FoundDevice(device_id, connecting_devices_, nullptr, nullptr))
|
| + if (FoundDevice(device_id, connecting_devices_))
|
| return;
|
|
|
| UpdateClickedDevice(device_id, view);
|
| @@ -536,8 +484,7 @@ class BluetoothDetailedView : public TrayDetailsView {
|
| container->AddChildView(image_view);
|
|
|
| views::Label* label = new views::Label(
|
| - ui::ResourceBundle::GetSharedInstance().GetLocalizedString(
|
| - IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED));
|
| + l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_BLUETOOTH_DISABLED));
|
| style.SetupLabel(label);
|
| label->SetBorder(views::CreateEmptyBorder(
|
| kDisabledPanelLabelBaselineY - label->GetBaseline(), 0, 0, 0));
|
|
|