summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/select_profile_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/select_profile_dialog.cc')
-rw-r--r--chrome/browser/views/select_profile_dialog.cc146
1 files changed, 0 insertions, 146 deletions
diff --git a/chrome/browser/views/select_profile_dialog.cc b/chrome/browser/views/select_profile_dialog.cc
deleted file mode 100644
index f57fe6f..0000000
--- a/chrome/browser/views/select_profile_dialog.cc
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/views/select_profile_dialog.h"
-
-#include <string>
-
-#include "app/l10n_util.h"
-#include "base/logging.h"
-#include "base/string_util.h"
-#include "chrome/browser/user_data_manager.h"
-#include "chrome/browser/views/new_profile_dialog.h"
-#include "grit/chromium_strings.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-#include "views/controls/label.h"
-#include "views/controls/message_box_view.h"
-#include "views/grid_layout.h"
-#include "views/standard_layout.h"
-#include "views/view.h"
-#include "views/window/window.h"
-
-using views::ColumnSet;
-using views::GridLayout;
-
-namespace browser {
-
-// Defined in browser_dialogs so callers don't have to depend on our header.
-void ShowSelectProfileDialog() {
- SelectProfileDialog::RunDialog();
-}
-
-} // namespace browser
-
-// static
-void SelectProfileDialog::RunDialog() {
- // When the window closes, it will delete itself.
- SelectProfileDialog* dlg = new SelectProfileDialog();
- views::Window::CreateChromeWindow(NULL, gfx::Rect(), dlg)->Show();
-}
-
-SelectProfileDialog::SelectProfileDialog()
- : ALLOW_THIS_IN_INITIALIZER_LIST(helper_(new GetProfilesHelper(this))) {
- // We first create an instance of the helper and then setup controls. This
- // doesn't lead to race condition because once the helper is done with
- // enumerating profiles by examining the file system, it posts a task on the
- // thread it was called on. This is the same thread that the current code is
- // running on. So that task wouldn't get executed until we are done with
- // setup controls. Given that, we start the helper before setup controls so
- // that file enumeration can be done as soon as possible.
- helper_->GetProfiles(NULL);
- SetupControls();
-}
-
-SelectProfileDialog::~SelectProfileDialog() {
- helper_->OnDelegateDeleted();
-}
-
-gfx::Size SelectProfileDialog::GetPreferredSize() {
- return gfx::Size(views::Window::GetLocalizedContentsSize(
- IDS_SELECT_PROFILE_DIALOG_WIDTH_CHARS,
- IDS_SELECT_PROFILE_DIALOG_HEIGHT_LINES));
-}
-
-void SelectProfileDialog::PopulateProfilesComboBox(
- const std::vector<std::wstring>& profiles) {
- profiles_.insert(profiles_.begin(), profiles.begin(), profiles.end());
- profile_combobox_->ModelChanged();
- GetDialogClientView()->UpdateDialogButtons();
-}
-
-void SelectProfileDialog::Layout() {
- GetLayoutManager()->Layout(this);
-}
-
-views::View* SelectProfileDialog::GetInitiallyFocusedView() {
- return profile_combobox_;
-}
-
-std::wstring SelectProfileDialog::GetWindowTitle() const {
- return l10n_util::GetString(IDS_SELECT_PROFILE_DIALOG_TITLE);
-}
-
-bool SelectProfileDialog::Accept() {
- size_t index = profile_combobox_->selected_item();
- DCHECK_LE(index, profiles_.size());
- if (index == profiles_.size())
- NewProfileDialog::RunDialog();
- else
- UserDataManager::Get()->LaunchChromeForProfile(profiles_[index]);
- return true;
-}
-
-bool SelectProfileDialog::Cancel() {
- return true;
-}
-
-views::View* SelectProfileDialog::GetContentsView() {
- return this;
-}
-
-int SelectProfileDialog::GetItemCount() {
- // Always show one more item in the combo box that allows the user to select
- // <New Profile>.
- return profiles_.size() + 1;
-}
-
-std::wstring SelectProfileDialog::GetItemAt(int index) {
- size_t index_size_t = index;
- DCHECK_LE(index_size_t, profiles_.size());
- // For the last item in the drop down, return the <New Profile> text,
- // otherwise return the corresponding profile name from the vector.
- return index_size_t == profiles_.size() ?
- l10n_util::GetString(IDS_SELECT_PROFILE_DIALOG_NEW_PROFILE_ENTRY) :
- profiles_[index];
-}
-
-void SelectProfileDialog::OnGetProfilesDone(
- const std::vector<std::wstring>& profiles) {
- PopulateProfilesComboBox(profiles);
-}
-
-void SelectProfileDialog::SetupControls() {
- // Adds all controls.
- select_profile_label_ = new views::Label(
- l10n_util::GetString(IDS_SELECT_PROFILE_DIALOG_LABEL_TEXT));
- profile_combobox_ = new views::Combobox(this);
-
- // Arranges controls by using GridLayout.
- const int column_set_id = 0;
- GridLayout* layout = CreatePanelGridLayout(this);
- SetLayoutManager(layout);
- ColumnSet* column_set = layout->AddColumnSet(column_set_id);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
- GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
- column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 0,
- GridLayout::FIXED, 200, 0);
-
- layout->StartRow(0, column_set_id);
- layout->AddView(select_profile_label_);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, column_set_id);
- layout->AddView(profile_combobox_);
-}