| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/chromeos/status/network_menu.h" | 5 #include "chrome/browser/chromeos/status/network_menu.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "app/resource_bundle.h" | 8 #include "app/resource_bundle.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 images = kBarsImagesLowData; | 382 images = kBarsImagesLowData; |
| 383 break; | 383 break; |
| 384 case CellularNetwork::DATA_NORMAL: | 384 case CellularNetwork::DATA_NORMAL: |
| 385 images = kBarsImages; | 385 images = kBarsImages; |
| 386 break; | 386 break; |
| 387 } | 387 } |
| 388 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); | 388 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); |
| 389 } | 389 } |
| 390 | 390 |
| 391 // static | 391 // static |
| 392 // TODO(ers) update for GSM when we have the necessary images |
| 393 SkBitmap NetworkMenu::BadgeForNetworkTechnology( |
| 394 const CellularNetwork* cellular) { |
| 395 |
| 396 int id; |
| 397 if (cellular->network_technology() == NETWORK_TECHNOLOGY_EVDO) { |
| 398 switch (cellular->data_left()) { |
| 399 case CellularNetwork::DATA_NONE: |
| 400 case CellularNetwork::DATA_VERY_LOW: |
| 401 id = IDR_STATUSBAR_NETWORK_3G_ERROR; |
| 402 break; |
| 403 case CellularNetwork::DATA_LOW: |
| 404 id = IDR_STATUSBAR_NETWORK_3G_WARN; |
| 405 break; |
| 406 case CellularNetwork::DATA_NORMAL: |
| 407 id = IDR_STATUSBAR_NETWORK_3G; |
| 408 break; |
| 409 } |
| 410 } else if (cellular->network_technology() == NETWORK_TECHNOLOGY_1XRTT) { |
| 411 switch (cellular->data_left()) { |
| 412 case CellularNetwork::DATA_NONE: |
| 413 case CellularNetwork::DATA_VERY_LOW: |
| 414 id = IDR_STATUSBAR_NETWORK_1X_ERROR; |
| 415 break; |
| 416 case CellularNetwork::DATA_LOW: |
| 417 id = IDR_STATUSBAR_NETWORK_1X_WARN; |
| 418 break; |
| 419 case CellularNetwork::DATA_NORMAL: |
| 420 id = IDR_STATUSBAR_NETWORK_1X; |
| 421 break; |
| 422 } |
| 423 } else { |
| 424 id = -1; |
| 425 } |
| 426 if (id == -1) |
| 427 return SkBitmap(); |
| 428 else |
| 429 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(id); |
| 430 } |
| 431 |
| 432 // static |
| 392 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { | 433 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { |
| 393 // Draw badge at (14,14). | 434 // Draw badge at (14,14). |
| 394 static const int kBadgeX = 14; | 435 static const int kBadgeX = 14; |
| 395 static const int kBadgeY = 14; | 436 static const int kBadgeY = 14; |
| 396 | 437 |
| 397 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); | 438 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); |
| 398 canvas.DrawBitmapInt(icon, 0, 0); | 439 canvas.DrawBitmapInt(icon, 0, 0); |
| 399 if (!badge.empty()) | 440 if (!badge.empty()) |
| 400 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); | 441 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); |
| 401 return canvas.ExtractBitmap(); | 442 return canvas.ExtractBitmap(); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 522 } else if (cell_networks[i]->connecting()) { | 563 } else if (cell_networks[i]->connecting()) { |
| 523 label = l10n_util::GetStringFUTF16( | 564 label = l10n_util::GetStringFUTF16( |
| 524 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, | 565 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, |
| 525 ASCIIToUTF16(cell_networks[i]->name()), | 566 ASCIIToUTF16(cell_networks[i]->name()), |
| 526 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); | 567 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); |
| 527 } else { | 568 } else { |
| 528 label = ASCIIToUTF16(cell_networks[i]->name()); | 569 label = ASCIIToUTF16(cell_networks[i]->name()); |
| 529 } | 570 } |
| 530 SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(), | 571 SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(), |
| 531 true); | 572 true); |
| 532 // TODO(chocobo): Check cellular network 3g/edge. | 573 SkBitmap badge = BadgeForNetworkTechnology(cell_networks[i]); |
| 533 SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G); | |
| 534 // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE); | |
| 535 int flag = FLAG_CELLULAR; | 574 int flag = FLAG_CELLULAR; |
| 536 if (active_cellular && | 575 if (active_cellular && |
| 537 cell_networks[i]->service_path() == | 576 cell_networks[i]->service_path() == |
| 538 active_cellular->service_path() && | 577 active_cellular->service_path() && |
| 539 (cell_networks[i]->connecting() || cell_networks[i]->connected())) | 578 (cell_networks[i]->connecting() || cell_networks[i]->connected())) |
| 540 flag |= FLAG_ASSOCIATED; | 579 flag |= FLAG_ASSOCIATED; |
| 541 menu_items_.push_back( | 580 menu_items_.push_back( |
| 542 MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 581 MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
| 543 IconForDisplay(icon, badge), | 582 IconForDisplay(icon, badge), |
| 544 cell_networks[i]->service_path(), flag)); | 583 cell_networks[i]->service_path(), flag)); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 chromeos::TYPE_WIFI); | 724 chromeos::TYPE_WIFI); |
| 686 browser->ShowOptionsTab(page); | 725 browser->ShowOptionsTab(page); |
| 687 } | 726 } |
| 688 } else { | 727 } else { |
| 689 const bool kFocusLogin = true; | 728 const bool kFocusLogin = true; |
| 690 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); | 729 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); |
| 691 } | 730 } |
| 692 } | 731 } |
| 693 | 732 |
| 694 } // namespace chromeos | 733 } // namespace chromeos |
| OLD | NEW |