OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ui/views/profiles/profile_chooser_view.h" | 5 #include "chrome/browser/ui/views/profiles/profile_chooser_view.h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/metrics/user_metrics.h" | 8 #include "base/metrics/user_metrics.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 int available_width = width - 2 * views::kButtonHEdgeMarginNew; | 694 int available_width = width - 2 * views::kButtonHEdgeMarginNew; |
695 columns->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 0, | 695 columns->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 0, |
696 views::GridLayout::FIXED, available_width, available_width); | 696 views::GridLayout::FIXED, available_width, available_width); |
697 columns->AddPaddingColumn(1, views::kButtonHEdgeMarginNew); | 697 columns->AddPaddingColumn(1, views::kButtonHEdgeMarginNew); |
698 layout->AddColumnSet(1)->AddColumn(views::GridLayout::FILL, | 698 layout->AddColumnSet(1)->AddColumn(views::GridLayout::FILL, |
699 views::GridLayout::FILL, 0,views::GridLayout::FIXED, width, width); | 699 views::GridLayout::FILL, 0,views::GridLayout::FIXED, width, width); |
700 | 700 |
701 layout->StartRowWithPadding(1, 0, 0, kVerticalSpacing); | 701 layout->StartRowWithPadding(1, 0, 0, kVerticalSpacing); |
702 layout->AddView(title_card); | 702 layout->AddView(title_card); |
703 layout->StartRowWithPadding(1, 1, 0, kVerticalSpacing); | 703 layout->StartRowWithPadding(1, 1, 0, kVerticalSpacing); |
704 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 704 layout->AddView(new views::Separator()); |
705 | 705 |
706 layout->StartRow(1, 1); | 706 layout->StartRow(1, 1); |
707 layout->AddView(view); | 707 layout->AddView(view); |
708 | 708 |
709 return titled_view; | 709 return titled_view; |
710 } | 710 } |
711 | 711 |
712 private: | 712 private: |
713 void Layout() override { | 713 void Layout() override { |
714 int back_button_width = back_button_->GetPreferredSize().width(); | 714 int back_button_width = back_button_->GetPreferredSize().width(); |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1287 layout->StartRow(1, 0); | 1287 layout->StartRow(1, 0); |
1288 layout->AddView(tutorial_view); | 1288 layout->AddView(tutorial_view); |
1289 } else { | 1289 } else { |
1290 tutorial_mode_ = profiles::TUTORIAL_MODE_NONE; | 1290 tutorial_mode_ = profiles::TUTORIAL_MODE_NONE; |
1291 } | 1291 } |
1292 | 1292 |
1293 if (sync_error_view) { | 1293 if (sync_error_view) { |
1294 layout->StartRow(1, 0); | 1294 layout->StartRow(1, 0); |
1295 layout->AddView(sync_error_view); | 1295 layout->AddView(sync_error_view); |
1296 layout->StartRow(0, 0); | 1296 layout->StartRow(0, 0); |
1297 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1297 layout->AddView(new views::Separator()); |
1298 } | 1298 } |
1299 | 1299 |
1300 if (!current_profile_view) { | 1300 if (!current_profile_view) { |
1301 // Guest windows don't have an active profile. | 1301 // Guest windows don't have an active profile. |
1302 current_profile_view = CreateGuestProfileView(); | 1302 current_profile_view = CreateGuestProfileView(); |
1303 option_buttons_view = CreateOptionsView(false, avatar_menu); | 1303 option_buttons_view = CreateOptionsView(false, avatar_menu); |
1304 } | 1304 } |
1305 | 1305 |
1306 layout->StartRow(1, 0); | 1306 layout->StartRow(1, 0); |
1307 layout->AddView(current_profile_view); | 1307 layout->AddView(current_profile_view); |
1308 | 1308 |
1309 if (!IsProfileChooser(view_mode_)) { | 1309 if (!IsProfileChooser(view_mode_)) { |
1310 DCHECK(current_profile_accounts); | 1310 DCHECK(current_profile_accounts); |
1311 layout->StartRow(0, 0); | 1311 layout->StartRow(0, 0); |
1312 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1312 layout->AddView(new views::Separator()); |
1313 layout->StartRow(1, 0); | 1313 layout->StartRow(1, 0); |
1314 layout->AddView(current_profile_accounts); | 1314 layout->AddView(current_profile_accounts); |
1315 } | 1315 } |
1316 | 1316 |
1317 if (browser_->profile()->IsSupervised()) { | 1317 if (browser_->profile()->IsSupervised()) { |
1318 if (!switches::IsMaterialDesignUserMenu()) { | 1318 if (!switches::IsMaterialDesignUserMenu()) { |
1319 layout->StartRow(0, 0); | 1319 layout->StartRow(0, 0); |
1320 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1320 layout->AddView(new views::Separator()); |
1321 } | 1321 } |
1322 layout->StartRow(1, 0); | 1322 layout->StartRow(1, 0); |
1323 layout->AddView(CreateSupervisedUserDisclaimerView()); | 1323 layout->AddView(CreateSupervisedUserDisclaimerView()); |
1324 } | 1324 } |
1325 | 1325 |
1326 layout->StartRow(0, 0); | 1326 layout->StartRow(0, 0); |
1327 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1327 layout->AddView(new views::Separator()); |
1328 | 1328 |
1329 if (option_buttons_view) { | 1329 if (option_buttons_view) { |
1330 layout->StartRow(0, 0); | 1330 layout->StartRow(0, 0); |
1331 layout->AddView(option_buttons_view); | 1331 layout->AddView(option_buttons_view); |
1332 } | 1332 } |
1333 } | 1333 } |
1334 | 1334 |
1335 void ProfileChooserView::PopulateMinimalProfileChooserView( | 1335 void ProfileChooserView::PopulateMinimalProfileChooserView( |
1336 views::GridLayout* layout, | 1336 views::GridLayout* layout, |
1337 AvatarMenu* avatar_menu) { | 1337 AvatarMenu* avatar_menu) { |
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1879 gfx::Image image = profiles::GetSizedAvatarIcon( | 1879 gfx::Image image = profiles::GetSizedAvatarIcon( |
1880 item_icon, true, kSmallImageSide, kSmallImageSide); | 1880 item_icon, true, kSmallImageSide, kSmallImageSide); |
1881 | 1881 |
1882 views::LabelButton* button = new BackgroundColorHoverButton( | 1882 views::LabelButton* button = new BackgroundColorHoverButton( |
1883 this, | 1883 this, |
1884 profiles::GetProfileSwitcherTextForItem(item), | 1884 profiles::GetProfileSwitcherTextForItem(item), |
1885 *image.ToImageSkia()); | 1885 *image.ToImageSkia()); |
1886 open_other_profile_indexes_map_[button] = index; | 1886 open_other_profile_indexes_map_[button] = index; |
1887 | 1887 |
1888 layout->StartRow(1, 0); | 1888 layout->StartRow(1, 0); |
1889 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1889 layout->AddView(new views::Separator()); |
1890 layout->StartRow(1, 0); | 1890 layout->StartRow(1, 0); |
1891 layout->AddView(button); | 1891 layout->AddView(button); |
1892 } | 1892 } |
1893 | 1893 |
1894 return view; | 1894 return view; |
1895 } | 1895 } |
1896 | 1896 |
1897 views::View* ProfileChooserView::CreateOptionsView(bool display_lock, | 1897 views::View* ProfileChooserView::CreateOptionsView(bool display_lock, |
1898 AvatarMenu* avatar_menu) { | 1898 AvatarMenu* avatar_menu) { |
1899 views::View* view = new views::View(); | 1899 views::View* view = new views::View(); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1954 } | 1954 } |
1955 users_button_ = new BackgroundColorHoverButton( | 1955 users_button_ = new BackgroundColorHoverButton( |
1956 this, text, gfx::CreateVectorIcon(settings_icon, kIconSize, | 1956 this, text, gfx::CreateVectorIcon(settings_icon, kIconSize, |
1957 gfx::kChromeIconGrey)); | 1957 gfx::kChromeIconGrey)); |
1958 | 1958 |
1959 layout->StartRow(1, 0); | 1959 layout->StartRow(1, 0); |
1960 layout->AddView(users_button_); | 1960 layout->AddView(users_button_); |
1961 | 1961 |
1962 if (!switches::IsMaterialDesignUserMenu() && ShouldShowGoIncognito()) { | 1962 if (!switches::IsMaterialDesignUserMenu() && ShouldShowGoIncognito()) { |
1963 layout->StartRow(1, 0); | 1963 layout->StartRow(1, 0); |
1964 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1964 layout->AddView(new views::Separator()); |
1965 | 1965 |
1966 ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance(); | 1966 ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance(); |
1967 go_incognito_button_ = new BackgroundColorHoverButton( | 1967 go_incognito_button_ = new BackgroundColorHoverButton( |
1968 this, | 1968 this, |
1969 l10n_util::GetStringUTF16(IDS_PROFILES_GO_INCOGNITO_BUTTON), | 1969 l10n_util::GetStringUTF16(IDS_PROFILES_GO_INCOGNITO_BUTTON), |
1970 *rb->GetImageSkiaNamed(IDR_ICON_PROFILES_MENU_INCOGNITO)); | 1970 *rb->GetImageSkiaNamed(IDR_ICON_PROFILES_MENU_INCOGNITO)); |
1971 layout->StartRow(1, 0); | 1971 layout->StartRow(1, 0); |
1972 layout->AddView(go_incognito_button_); | 1972 layout->AddView(go_incognito_button_); |
1973 } | 1973 } |
1974 | 1974 |
1975 if (display_lock) { | 1975 if (display_lock) { |
1976 if (!switches::IsMaterialDesignUserMenu()) { | 1976 if (!switches::IsMaterialDesignUserMenu()) { |
1977 layout->StartRow(1, 0); | 1977 layout->StartRow(1, 0); |
1978 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 1978 layout->AddView(new views::Separator()); |
1979 } | 1979 } |
1980 | 1980 |
1981 lock_button_ = new BackgroundColorHoverButton( | 1981 lock_button_ = new BackgroundColorHoverButton( |
1982 this, l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_SIGNOUT_BUTTON), | 1982 this, l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_SIGNOUT_BUTTON), |
1983 gfx::CreateVectorIcon(gfx::VectorIconId::LOCK, kIconSize, | 1983 gfx::CreateVectorIcon(gfx::VectorIconId::LOCK, kIconSize, |
1984 gfx::kChromeIconGrey)); | 1984 gfx::kChromeIconGrey)); |
1985 layout->StartRow(1, 0); | 1985 layout->StartRow(1, 0); |
1986 layout->AddView(lock_button_); | 1986 layout->AddView(lock_button_); |
1987 } else if (switches::IsMaterialDesignUserMenu() && !is_guest) { | 1987 } else if (switches::IsMaterialDesignUserMenu() && !is_guest) { |
1988 int num_browsers = 0; | 1988 int num_browsers = 0; |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2325 views::Label* content_label = new views::Label( | 2325 views::Label* content_label = new views::Label( |
2326 l10n_util::GetStringFUTF16( | 2326 l10n_util::GetStringFUTF16( |
2327 IDS_PROFILES_NOT_YOU_CONTENT_TEXT, avatar_item.name)); | 2327 IDS_PROFILES_NOT_YOU_CONTENT_TEXT, avatar_item.name)); |
2328 content_label->SetMultiLine(true); | 2328 content_label->SetMultiLine(true); |
2329 content_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 2329 content_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
2330 content_label->SetFontList(small_font_list); | 2330 content_label->SetFontList(small_font_list); |
2331 layout->AddView(content_label); | 2331 layout->AddView(content_label); |
2332 | 2332 |
2333 // Adds "Add person" button. | 2333 // Adds "Add person" button. |
2334 layout->StartRowWithPadding(1, 0, 0, views::kUnrelatedControlVerticalSpacing); | 2334 layout->StartRowWithPadding(1, 0, 0, views::kUnrelatedControlVerticalSpacing); |
2335 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 2335 layout->AddView(new views::Separator()); |
2336 | 2336 |
2337 const int kIconSize = 24; | 2337 const int kIconSize = 24; |
2338 add_person_button_ = new BackgroundColorHoverButton( | 2338 add_person_button_ = new BackgroundColorHoverButton( |
2339 this, l10n_util::GetStringUTF16(IDS_PROFILES_ADD_PERSON_BUTTON), | 2339 this, l10n_util::GetStringUTF16(IDS_PROFILES_ADD_PERSON_BUTTON), |
2340 gfx::CreateVectorIcon(gfx::VectorIconId::ACCOUNT_BOX, kIconSize, | 2340 gfx::CreateVectorIcon(gfx::VectorIconId::ACCOUNT_BOX, kIconSize, |
2341 gfx::kChromeIconGrey)); | 2341 gfx::kChromeIconGrey)); |
2342 layout->StartRow(1, 0); | 2342 layout->StartRow(1, 0); |
2343 layout->AddView(add_person_button_); | 2343 layout->AddView(add_person_button_); |
2344 | 2344 |
2345 // Adds "Disconnect your Google Account" button. | 2345 // Adds "Disconnect your Google Account" button. |
2346 layout->StartRow(1, 0); | 2346 layout->StartRow(1, 0); |
2347 layout->AddView(new views::Separator(views::Separator::HORIZONTAL)); | 2347 layout->AddView(new views::Separator()); |
2348 | 2348 |
2349 disconnect_button_ = new BackgroundColorHoverButton( | 2349 disconnect_button_ = new BackgroundColorHoverButton( |
2350 this, l10n_util::GetStringUTF16(IDS_PROFILES_DISCONNECT_BUTTON), | 2350 this, l10n_util::GetStringUTF16(IDS_PROFILES_DISCONNECT_BUTTON), |
2351 gfx::CreateVectorIcon(gfx::VectorIconId::REMOVE_BOX, kIconSize, | 2351 gfx::CreateVectorIcon(gfx::VectorIconId::REMOVE_BOX, kIconSize, |
2352 gfx::kChromeIconGrey)); | 2352 gfx::kChromeIconGrey)); |
2353 layout->StartRow(1, 0); | 2353 layout->StartRow(1, 0); |
2354 layout->AddView(disconnect_button_); | 2354 layout->AddView(disconnect_button_); |
2355 | 2355 |
2356 TitleCard* title_card = new TitleCard( | 2356 TitleCard* title_card = new TitleCard( |
2357 l10n_util::GetStringFUTF16(IDS_PROFILES_NOT_YOU, avatar_item.name), | 2357 l10n_util::GetStringFUTF16(IDS_PROFILES_NOT_YOU, avatar_item.name), |
2358 this, &switch_user_cancel_button_); | 2358 this, &switch_user_cancel_button_); |
2359 return TitleCard::AddPaddedTitleCard(view, title_card, | 2359 return TitleCard::AddPaddedTitleCard(view, title_card, |
2360 kFixedSwitchUserViewWidth); | 2360 kFixedSwitchUserViewWidth); |
2361 } | 2361 } |
2362 | 2362 |
2363 bool ProfileChooserView::ShouldShowGoIncognito() const { | 2363 bool ProfileChooserView::ShouldShowGoIncognito() const { |
2364 bool incognito_available = | 2364 bool incognito_available = |
2365 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != | 2365 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != |
2366 IncognitoModePrefs::DISABLED; | 2366 IncognitoModePrefs::DISABLED; |
2367 return incognito_available && !browser_->profile()->IsGuestSession(); | 2367 return incognito_available && !browser_->profile()->IsGuestSession(); |
2368 } | 2368 } |
2369 | 2369 |
2370 void ProfileChooserView::PostActionPerformed( | 2370 void ProfileChooserView::PostActionPerformed( |
2371 ProfileMetrics::ProfileDesktopMenu action_performed) { | 2371 ProfileMetrics::ProfileDesktopMenu action_performed) { |
2372 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_); | 2372 ProfileMetrics::LogProfileDesktopMenu(action_performed, gaia_service_type_); |
2373 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE; | 2373 gaia_service_type_ = signin::GAIA_SERVICE_TYPE_NONE; |
2374 } | 2374 } |
OLD | NEW |