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

Side by Side Diff: ash/system/user/login_status.cc

Issue 14756019: Adding new user menu section to the SystemTrayMenu & refactoring of user access (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More windows breakages addressed Created 7 years, 7 months 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/system/user/login_status.h" 5 #include "ash/system/user/login_status.h"
6 6
7 #include "ash/session_state_delegate.h"
8 #include "ash/shell.h"
7 #include "base/string_util.h" 9 #include "base/string_util.h"
8 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
9 #include "grit/ash_strings.h" 11 #include "grit/ash_strings.h"
10 #include "ui/base/resource/resource_bundle.h" 12 #include "ui/base/resource/resource_bundle.h"
11 13
12 namespace ash { 14 namespace ash {
13 namespace user { 15 namespace user {
14 16
15 base::string16 GetLocalizedSignOutStringForStatus(LoginStatus status, 17 base::string16 GetLocalizedSignOutStringForStatus(LoginStatus status,
16 bool multiline) { 18 bool multiline) {
17 int message_id; 19 int message_id;
18 switch (status) { 20 switch (status) {
19 case LOGGED_IN_GUEST: 21 case LOGGED_IN_GUEST:
20 message_id = IDS_ASH_STATUS_TRAY_EXIT_GUEST; 22 message_id = IDS_ASH_STATUS_TRAY_EXIT_GUEST;
21 break; 23 break;
22 case LOGGED_IN_RETAIL_MODE: 24 case LOGGED_IN_RETAIL_MODE:
23 message_id = IDS_ASH_STATUS_TRAY_EXIT_KIOSK; 25 message_id = IDS_ASH_STATUS_TRAY_EXIT_KIOSK;
24 break; 26 break;
25 case LOGGED_IN_PUBLIC: 27 case LOGGED_IN_PUBLIC:
26 message_id = IDS_ASH_STATUS_TRAY_EXIT_PUBLIC; 28 message_id = IDS_ASH_STATUS_TRAY_EXIT_PUBLIC;
27 break; 29 break;
28 default: 30 default:
29 message_id = IDS_ASH_STATUS_TRAY_SIGN_OUT; 31 if (ash::Shell::GetInstance()->session_state_delegate()->
32 NumberOfLoggedInUsers() > 1) {
33 message_id = IDS_ASH_STATUS_TRAY_SIGN_OUT_ALL;
34 } else {
35 message_id = IDS_ASH_STATUS_TRAY_SIGN_OUT;
36 }
30 break; 37 break;
31 } 38 }
32 base::string16 message = 39 base::string16 message =
33 ui::ResourceBundle::GetSharedInstance().GetLocalizedString(message_id); 40 ui::ResourceBundle::GetSharedInstance().GetLocalizedString(message_id);
34 // Desirable line breaking points are marked using \n. As the resource 41 // Desirable line breaking points are marked using \n. As the resource
35 // framework does not evaluate escape sequences, the \n need to be explicitly 42 // framework does not evaluate escape sequences, the \n need to be explicitly
36 // handled. Depending on the value of |multiline|, actual line breaks or 43 // handled. Depending on the value of |multiline|, actual line breaks or
37 // spaces are substituted. 44 // spaces are substituted.
38 base::string16 newline = multiline ? ASCIIToUTF16("\n") : ASCIIToUTF16(" "); 45 base::string16 newline = multiline ? ASCIIToUTF16("\n") : ASCIIToUTF16(" ");
39 ReplaceSubstringsAfterOffset(&message, 0, ASCIIToUTF16("\\n"), newline); 46 ReplaceSubstringsAfterOffset(&message, 0, ASCIIToUTF16("\\n"), newline);
40 return message; 47 return message;
41 } 48 }
42 49
43 } // namespace user 50 } // namespace user
44 } // namespace ash 51 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698