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

Side by Side Diff: chrome/browser/views/new_profile_dialog.cc

Issue 660038: Fix issue 32106 (Closed)
Patch Set: Created 10 years, 10 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
« no previous file with comments | « chrome/browser/user_data_manager.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/views/new_profile_dialog.h" 5 #include "chrome/browser/views/new_profile_dialog.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/message_box_flags.h" 10 #include "app/message_box_flags.h"
11 #include "base/file_util.h"
12 #include "base/i18n/file_util_icu.h"
11 #include "base/logging.h" 13 #include "base/logging.h"
12 #include "base/i18n/file_util_icu.h" 14 #include "base/path_service.h"
13 #include "chrome/browser/user_data_manager.h" 15 #include "chrome/browser/user_data_manager.h"
14 #include "grit/chromium_strings.h" 16 #include "grit/chromium_strings.h"
15 #include "grit/generated_resources.h" 17 #include "grit/generated_resources.h"
16 #include "grit/locale_settings.h" 18 #include "grit/locale_settings.h"
17 #include "views/controls/message_box_view.h" 19 #include "views/controls/message_box_view.h"
18 #include "views/controls/textfield/textfield.h" 20 #include "views/controls/textfield/textfield.h"
19 #include "views/view.h" 21 #include "views/view.h"
20 #include "views/window/window.h" 22 #include "views/window/window.h"
21 23
24 #if defined(OS_WIN)
25 #include "base/win_util.h"
26 #endif // defined(OS_WIN)
27
22 namespace browser { 28 namespace browser {
23 29
24 // Declared in browser_dialogs.h so others don't have to depend on our header. 30 // Declared in browser_dialogs.h so others don't have to depend on our header.
25 void ShowNewProfileDialog() { 31 void ShowNewProfileDialog() {
26 NewProfileDialog::RunDialog(); 32 NewProfileDialog::RunDialog();
27 } 33 }
28 34
29 } // namespace browser 35 } // namespace browser
30 36
31 // static 37 // static
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 GetDialogClientView()->UpdateDialogButtons(); 98 GetDialogClientView()->UpdateDialogButtons();
93 } 99 }
94 100
95 bool NewProfileDialog::Accept() { 101 bool NewProfileDialog::Accept() {
96 std::wstring profile_name = message_box_view_->GetInputText(); 102 std::wstring profile_name = message_box_view_->GetInputText();
97 if (profile_name.empty()) { 103 if (profile_name.empty()) {
98 NOTREACHED(); 104 NOTREACHED();
99 return true; 105 return true;
100 } 106 }
101 // Create a desktop shortcut if the corresponding checkbox is checked. 107 // Create a desktop shortcut if the corresponding checkbox is checked.
102 if (message_box_view_->IsCheckBoxSelected()) 108 if (message_box_view_->IsCheckBoxSelected()) {
103 UserDataManager::Get()->CreateDesktopShortcutForProfile( 109 UserDataManager::Get()->CreateDesktopShortcutForProfile(
104 profile_name); 110 profile_name);
111 } else {
112 #if defined(OS_WIN)
113 if (win_util::GetWinVersion() >= win_util::WINVERSION_WIN7) {
114 // For Win7, we need to have a shortcut in a place that Windows would
115 // index to provide correct relaunch info.
116 // See http://crbug.com/32106
117 FilePath temp_path;
118 if (PathService::Get(base::DIR_APP_DATA, &temp_path)) {
119 temp_path = temp_path.Append(
120 L"Microsoft\\Internet Explorer\\Quick Launch\\User Pinned");
121 UserDataManager::Get()->CreateShortcutForProfileInFolder(
122 temp_path,
123 profile_name);
124 }
125 }
126 #endif // defined(OS_WIN)
127 }
105 128
106 UserDataManager::Get()->LaunchChromeForProfile(profile_name); 129 UserDataManager::Get()->LaunchChromeForProfile(profile_name);
107 UserDataManager::Get()->RefreshUserDataDirProfiles(); 130 UserDataManager::Get()->RefreshUserDataDirProfiles();
108 return true; 131 return true;
109 } 132 }
110 133
111 views::View* NewProfileDialog::GetContentsView() { 134 views::View* NewProfileDialog::GetContentsView() {
112 return message_box_view_; 135 return message_box_view_;
113 } 136 }
OLDNEW
« no previous file with comments | « chrome/browser/user_data_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698