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

Side by Side Diff: chrome/browser/chromeos/login/network_selection_view.cc

Issue 4324001: Add proxy settings to network control at upper row of controls at login screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 10 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/login/network_selection_view.h" 5 #include "chrome/browser/chromeos/login/network_selection_view.h"
6 6
7 #include <signal.h> 7 #include <signal.h>
8 #include <sys/types.h> 8 #include <sys/types.h>
9 #include <string> 9 #include <string>
10 10
11 #include "app/l10n_util.h" 11 #include "app/l10n_util.h"
12 #include "app/resource_bundle.h" 12 #include "app/resource_bundle.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "chrome/browser/chromeos/login/helper.h" 14 #include "chrome/browser/chromeos/login/helper.h"
15 #include "chrome/browser/chromeos/login/keyboard_switch_menu.h" 15 #include "chrome/browser/chromeos/login/keyboard_switch_menu.h"
16 #include "chrome/browser/chromeos/login/language_switch_menu.h" 16 #include "chrome/browser/chromeos/login/language_switch_menu.h"
17 #include "chrome/browser/chromeos/login/network_screen_delegate.h" 17 #include "chrome/browser/chromeos/login/network_screen_delegate.h"
18 #include "chrome/browser/chromeos/login/proxy_settings_dialog.h"
18 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" 19 #include "chrome/browser/chromeos/login/rounded_rect_painter.h"
19 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h" 20 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
20 #include "chrome/browser/chromeos/status/network_dropdown_button.h" 21 #include "chrome/browser/chromeos/status/network_dropdown_button.h"
21 #include "gfx/size.h" 22 #include "gfx/size.h"
22 #include "grit/chromium_strings.h" 23 #include "grit/chromium_strings.h"
23 #include "grit/generated_resources.h" 24 #include "grit/generated_resources.h"
24 #include "grit/theme_resources.h" 25 #include "grit/theme_resources.h"
25 #include "views/controls/button/native_button.h" 26 #include "views/controls/button/native_button.h"
26 #include "views/controls/label.h" 27 #include "views/controls/label.h"
27 #include "views/controls/throbber.h" 28 #include "views/controls/throbber.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // Vertical addition to the menu window to make it appear exactly below 75 // Vertical addition to the menu window to make it appear exactly below
75 // MenuButton. 76 // MenuButton.
76 const int kMenuVerticalOffset = -1; 77 const int kMenuVerticalOffset = -1;
77 78
78 // Offset that compensates menu width so that it matches 79 // Offset that compensates menu width so that it matches
79 // menu button visual width when being in pushed state. 80 // menu button visual width when being in pushed state.
80 const int kMenuWidthOffset = 6; 81 const int kMenuWidthOffset = 6;
81 82
82 const SkColor kWelcomeColor = 0xFFCDD3D6; 83 const SkColor kWelcomeColor = 0xFFCDD3D6;
83 84
84 // Hints for size of proxy settings dialog.
85 static const int kProxySettingsDialogReasonableWidth = 750;
86 static const int kProxySettingsDialogReasonableHeight = 460;
87 static const int kProxySettingsDialogReasonableWidthRatio = 0.4;
88 static const int kProxySettingsDialogReasonableHeightRatio = 0.4;
89
90 // Initializes menu button default properties. 85 // Initializes menu button default properties.
91 static void InitMenuButtonProperties(views::MenuButton* menu_button) { 86 static void InitMenuButtonProperties(views::MenuButton* menu_button) {
92 menu_button->SetFocusable(true); 87 menu_button->SetFocusable(true);
93 menu_button->SetNormalHasBorder(true); 88 menu_button->SetNormalHasBorder(true);
94 menu_button->SetEnabledColor(SK_ColorBLACK); 89 menu_button->SetEnabledColor(SK_ColorBLACK);
95 menu_button->SetHighlightColor(SK_ColorBLACK); 90 menu_button->SetHighlightColor(SK_ColorBLACK);
96 menu_button->SetHoverColor(SK_ColorBLACK); 91 menu_button->SetHoverColor(SK_ColorBLACK);
97 menu_button->set_animate_on_state_change(false); 92 menu_button->set_animate_on_state_change(false);
98 // Menu is positioned by bottom right corner of the MenuButton. 93 // Menu is positioned by bottom right corner of the MenuButton.
99 menu_button->set_menu_offset(kMenuHorizontalOffset, kMenuVerticalOffset); 94 menu_button->set_menu_offset(kMenuHorizontalOffset, kMenuVerticalOffset);
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 bool NetworkSelectionView::IsContinueEnabled() const { 427 bool NetworkSelectionView::IsContinueEnabled() const {
433 return continue_button_ && continue_button_->IsEnabled(); 428 return continue_button_ && continue_button_->IsEnabled();
434 } 429 }
435 430
436 //////////////////////////////////////////////////////////////////////////////// 431 ////////////////////////////////////////////////////////////////////////////////
437 // views::LinkController implementation: 432 // views::LinkController implementation:
438 433
439 void NetworkSelectionView::LinkActivated(views::Link* source, int) { 434 void NetworkSelectionView::LinkActivated(views::Link* source, int) {
440 if (source == proxy_settings_link_) { 435 if (source == proxy_settings_link_) {
441 if (!proxy_settings_dialog_.get()) { 436 if (!proxy_settings_dialog_.get()) {
442 static const char kProxySettingsURL[] = 437 proxy_settings_dialog_.reset(
443 "chrome://settings/proxy?menu=off"; 438 new ProxySettingsDialog(this, GetNativeWindow()));
444 proxy_settings_dialog_.reset(new LoginHtmlDialog(
445 this,
446 GetNativeWindow(),
447 std::wstring(),
448 GURL(kProxySettingsURL),
449 LoginHtmlDialog::STYLE_BUBBLE));
450 gfx::Rect screen_bounds(chromeos::CalculateScreenBounds(gfx::Size()));
451 proxy_settings_dialog_->SetDialogSize(
452 std::min(
453 screen_bounds.width(),
454 std::max(kProxySettingsDialogReasonableWidth, static_cast<int>(
455 kProxySettingsDialogReasonableWidthRatio *
456 screen_bounds.width()))),
457 std::min(
458 screen_bounds.height(),
459 std::max(kProxySettingsDialogReasonableHeight, static_cast<int>(
460 kProxySettingsDialogReasonableHeightRatio *
461 screen_bounds.height()))));
462 } 439 }
463 proxy_settings_dialog_->Show(); 440 proxy_settings_dialog_->Show();
464 } 441 }
465 } 442 }
466 443
467 //////////////////////////////////////////////////////////////////////////////// 444 ////////////////////////////////////////////////////////////////////////////////
468 // NetworkSelectionView, private: 445 // NetworkSelectionView, private:
469 446
470 void NetworkSelectionView::RecreateNativeControls() { 447 void NetworkSelectionView::RecreateNativeControls() {
471 // There is no way to get native button preferred size after the button was 448 // There is no way to get native button preferred size after the button was
472 // sized so delete and recreate the button on text update. 449 // sized so delete and recreate the button on text update.
473 bool is_continue_enabled = IsContinueEnabled(); 450 bool is_continue_enabled = IsContinueEnabled();
474 delete continue_button_; 451 delete continue_button_;
475 continue_button_ = new views::NativeButton( 452 continue_button_ = new views::NativeButton(
476 delegate_, 453 delegate_,
477 l10n_util::GetString(IDS_NETWORK_SELECTION_CONTINUE_BUTTON)); 454 l10n_util::GetString(IDS_NETWORK_SELECTION_CONTINUE_BUTTON));
478 continue_button_->SetEnabled(is_continue_enabled); 455 continue_button_->SetEnabled(is_continue_enabled);
479 } 456 }
480 457
481 void NetworkSelectionView::UpdateConnectingNetworkLabel() { 458 void NetworkSelectionView::UpdateConnectingNetworkLabel() {
482 connecting_network_label_->SetText(l10n_util::GetStringF( 459 connecting_network_label_->SetText(l10n_util::GetStringF(
483 IDS_NETWORK_SELECTION_CONNECTING, UTF16ToWide(network_id_))); 460 IDS_NETWORK_SELECTION_CONNECTING, UTF16ToWide(network_id_)));
484 } 461 }
485 462
486 } // namespace chromeos 463 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/background_view.cc ('k') | chrome/browser/chromeos/login/proxy_settings_dialog.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698