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 | |
433 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { | 392 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { |
434 // Draw badge at (14,14). | 393 // Draw badge at (14,14). |
435 static const int kBadgeX = 14; | 394 static const int kBadgeX = 14; |
436 static const int kBadgeY = 14; | 395 static const int kBadgeY = 14; |
437 | 396 |
438 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); | 397 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); |
439 canvas.DrawBitmapInt(icon, 0, 0); | 398 canvas.DrawBitmapInt(icon, 0, 0); |
440 if (!badge.empty()) | 399 if (!badge.empty()) |
441 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); | 400 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); |
442 return canvas.ExtractBitmap(); | 401 return canvas.ExtractBitmap(); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 } else if (cell_networks[i]->connecting()) { | 522 } else if (cell_networks[i]->connecting()) { |
564 label = l10n_util::GetStringFUTF16( | 523 label = l10n_util::GetStringFUTF16( |
565 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, | 524 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, |
566 ASCIIToUTF16(cell_networks[i]->name()), | 525 ASCIIToUTF16(cell_networks[i]->name()), |
567 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); | 526 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); |
568 } else { | 527 } else { |
569 label = ASCIIToUTF16(cell_networks[i]->name()); | 528 label = ASCIIToUTF16(cell_networks[i]->name()); |
570 } | 529 } |
571 SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(), | 530 SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(), |
572 true); | 531 true); |
573 SkBitmap badge = BadgeForNetworkTechnology(cell_networks[i]); | 532 // TODO(chocobo): Check cellular network 3g/edge. |
| 533 SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G); |
| 534 // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE); |
574 int flag = FLAG_CELLULAR; | 535 int flag = FLAG_CELLULAR; |
575 if (active_cellular && | 536 if (active_cellular && |
576 cell_networks[i]->service_path() == | 537 cell_networks[i]->service_path() == |
577 active_cellular->service_path() && | 538 active_cellular->service_path() && |
578 (cell_networks[i]->connecting() || cell_networks[i]->connected())) | 539 (cell_networks[i]->connecting() || cell_networks[i]->connected())) |
579 flag |= FLAG_ASSOCIATED; | 540 flag |= FLAG_ASSOCIATED; |
580 menu_items_.push_back( | 541 menu_items_.push_back( |
581 MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 542 MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
582 IconForDisplay(icon, badge), | 543 IconForDisplay(icon, badge), |
583 cell_networks[i]->service_path(), flag)); | 544 cell_networks[i]->service_path(), flag)); |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 chromeos::TYPE_WIFI); | 685 chromeos::TYPE_WIFI); |
725 browser->ShowOptionsTab(page); | 686 browser->ShowOptionsTab(page); |
726 } | 687 } |
727 } else { | 688 } else { |
728 const bool kFocusLogin = true; | 689 const bool kFocusLogin = true; |
729 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); | 690 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); |
730 } | 691 } |
731 } | 692 } |
732 | 693 |
733 } // namespace chromeos | 694 } // namespace chromeos |
OLD | NEW |