OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
11 #include "chrome/browser/chromeos/cros/cros_library.h" | 11 #include "chrome/browser/chromeos/cros/cros_library.h" |
12 #include "chrome/browser/chromeos/webui/network_menu_ui.h" | |
13 #include "chrome/browser/ui/browser.h" | 12 #include "chrome/browser/ui/browser.h" |
14 #include "chrome/browser/ui/browser_list.h" | 13 #include "chrome/browser/ui/browser_list.h" |
15 #include "chrome/common/url_constants.h" | 14 #include "chrome/common/url_constants.h" |
16 #include "chrome/browser/ui/views/window.h" | 15 #include "chrome/browser/ui/views/window.h" |
17 #include "grit/generated_resources.h" | 16 #include "grit/generated_resources.h" |
18 #include "grit/theme_resources.h" | 17 #include "grit/theme_resources.h" |
19 #include "net/base/escape.h" | 18 #include "net/base/escape.h" |
20 #include "ui/base/l10n/l10n_util.h" | 19 #include "ui/base/l10n/l10n_util.h" |
21 #include "ui/base/resource/resource_bundle.h" | 20 #include "ui/base/resource/resource_bundle.h" |
22 #include "ui/gfx/canvas_skia.h" | 21 #include "ui/gfx/canvas_skia.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 const int NetworkMenu::kNumAnimatingImages = 10; | 81 const int NetworkMenu::kNumAnimatingImages = 10; |
83 | 82 |
84 // static | 83 // static |
85 SkBitmap NetworkMenu::kAnimatingImages[kNumAnimatingImages]; | 84 SkBitmap NetworkMenu::kAnimatingImages[kNumAnimatingImages]; |
86 | 85 |
87 // static | 86 // static |
88 SkBitmap NetworkMenu::kAnimatingImagesBlack[kNumAnimatingImages]; | 87 SkBitmap NetworkMenu::kAnimatingImagesBlack[kNumAnimatingImages]; |
89 | 88 |
90 NetworkMenu::NetworkMenu() | 89 NetworkMenu::NetworkMenu() |
91 : min_width_(-1) { | 90 : min_width_(-1) { |
92 network_menu_.reset(NetworkMenuUI::CreateMenu2(this)); | 91 network_menu_.reset(new views::Menu2(this)); |
93 } | 92 } |
94 | 93 |
95 NetworkMenu::~NetworkMenu() { | 94 NetworkMenu::~NetworkMenu() { |
96 } | 95 } |
97 | 96 |
98 bool NetworkMenu::GetNetworkAt(int index, NetworkInfo* info) const { | 97 bool NetworkMenu::GetNetworkAt(int index, NetworkInfo* info) const { |
99 DCHECK(info); | 98 DCHECK(info); |
100 bool res = true; // True unless a network doesn't exist. | 99 bool res = true; // True unless a network doesn't exist. |
101 int flags = menu_items_[index].flags; | 100 int flags = menu_items_[index].flags; |
102 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); | 101 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 return true; | 241 return true; |
243 } | 242 } |
244 // Clicked on a disconnected cellular network, so connect to it. | 243 // Clicked on a disconnected cellular network, so connect to it. |
245 cros->ConnectToCellularNetwork(cellular); | 244 cros->ConnectToCellularNetwork(cellular); |
246 } else { | 245 } else { |
247 // If we are attempting to connect to a network that no longer exists, | 246 // If we are attempting to connect to a network that no longer exists, |
248 // display a notification. | 247 // display a notification. |
249 // TODO(stevenjb): Show notification. | 248 // TODO(stevenjb): Show notification. |
250 } | 249 } |
251 } else if (flags & FLAG_OTHER_NETWORK) { | 250 } else if (flags & FLAG_OTHER_NETWORK) { |
252 if (MenuUI::IsEnabled()) { | 251 ShowOther(); |
253 // default is true | |
254 bool auto_connect_bool = auto_connect == 0 ? false : true; | |
255 cros->ConnectToWifiNetwork( | |
256 passphrase.empty() ? SECURITY_NONE : SECURITY_UNKNOWN, | |
257 ssid, passphrase, std::string(), std::string(), auto_connect_bool); | |
258 } else { | |
259 ShowOther(); | |
260 } | |
261 } | 252 } |
262 return true; | 253 return true; |
263 } | 254 } |
264 | 255 |
265 //////////////////////////////////////////////////////////////////////////////// | 256 //////////////////////////////////////////////////////////////////////////////// |
266 // NetworkMenu, ui::MenuModel implementation: | 257 // NetworkMenu, ui::MenuModel implementation: |
267 | 258 |
268 int NetworkMenu::GetItemCount() const { | 259 int NetworkMenu::GetItemCount() const { |
269 return static_cast<int>(menu_items_.size()); | 260 return static_cast<int>(menu_items_.size()); |
270 } | 261 } |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
766 // ui::MenuModel::TYPE_CHECK : ui::MenuModel::TYPE_COMMAND, | 757 // ui::MenuModel::TYPE_CHECK : ui::MenuModel::TYPE_COMMAND, |
767 // l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OFFLINE_MODE), | 758 // l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_OFFLINE_MODE), |
768 // SkBitmap(), std::string(), FLAG_TOGGLE_OFFLINE)); | 759 // SkBitmap(), std::string(), FLAG_TOGGLE_OFFLINE)); |
769 | 760 |
770 bool connected = cros->Connected(); // always call for test expectations. | 761 bool connected = cros->Connected(); // always call for test expectations. |
771 bool oobe = !ShouldOpenButtonOptions(); // we don't show options for OOBE. | 762 bool oobe = !ShouldOpenButtonOptions(); // we don't show options for OOBE. |
772 // Network settings. (And IP Address) | 763 // Network settings. (And IP Address) |
773 if (!oobe) { | 764 if (!oobe) { |
774 menu_items_.push_back(MenuItem()); // Separator | 765 menu_items_.push_back(MenuItem()); // Separator |
775 | 766 |
776 if (!MenuUI::IsEnabled() && connected) { | 767 if (connected) { |
777 std::string ip_address = cros->IPAddress(); | 768 std::string ip_address = cros->IPAddress(); |
778 if (!ip_address.empty()) { | 769 if (!ip_address.empty()) { |
779 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, | 770 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, |
780 ASCIIToUTF16(cros->IPAddress()), SkBitmap(), std::string(), | 771 ASCIIToUTF16(cros->IPAddress()), SkBitmap(), std::string(), |
781 FLAG_DISABLED)); | 772 FLAG_DISABLED)); |
782 } | 773 } |
783 } | 774 } |
784 | 775 |
785 label = l10n_util::GetStringUTF16(IsBrowserMode() ? | 776 label = l10n_util::GetStringUTF16(IsBrowserMode() ? |
786 IDS_STATUSBAR_NETWORK_OPEN_OPTIONS_DIALOG : | 777 IDS_STATUSBAR_NETWORK_OPEN_OPTIONS_DIALOG : |
(...skipping 29 matching lines...) Expand all Loading... |
816 | 807 |
817 void NetworkMenu::ActivateCellular(const CellularNetwork* cellular) const { | 808 void NetworkMenu::ActivateCellular(const CellularNetwork* cellular) const { |
818 DCHECK(cellular); | 809 DCHECK(cellular); |
819 Browser* browser = BrowserList::GetLastActive(); | 810 Browser* browser = BrowserList::GetLastActive(); |
820 if (!browser) | 811 if (!browser) |
821 return; | 812 return; |
822 browser->OpenMobilePlanTabAndActivate(); | 813 browser->OpenMobilePlanTabAndActivate(); |
823 } | 814 } |
824 | 815 |
825 void NetworkMenu::ShowOther() const { | 816 void NetworkMenu::ShowOther() const { |
826 if (MenuUI::IsEnabled()) { | 817 ShowNetworkConfigView(new NetworkConfigView()); |
827 Browser* browser = BrowserList::GetLastActive(); | |
828 if (browser) { | |
829 std::string page = StringPrintf("%s?networkType=%d", | |
830 chrome::kInternetOptionsSubPage, | |
831 chromeos::TYPE_WIFI); | |
832 browser->ShowOptionsTab(page); | |
833 } | |
834 } else { | |
835 ShowNetworkConfigView(new NetworkConfigView()); | |
836 } | |
837 } | 818 } |
838 | 819 |
839 } // namespace chromeos | 820 } // namespace chromeos |
OLD | NEW |