diff options
author | mirandac@google.com <mirandac@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-16 16:16:52 +0000 |
---|---|---|
committer | mirandac@google.com <mirandac@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-16 16:16:52 +0000 |
commit | 2f24d2967d2e026cf6c1c517fca44591635ff5d7 (patch) | |
tree | 272bed44e9f223d390acfdcb638460be341eb235 /chrome/browser/views/first_run_customize_view.cc | |
parent | b6f0f13b526b416f2858f0a263d81eab2806092f (diff) | |
download | chromium_src-2f24d2967d2e026cf6c1c517fca44591635ff5d7.zip chromium_src-2f24d2967d2e026cf6c1c517fca44591635ff5d7.tar.gz chromium_src-2f24d2967d2e026cf6c1c517fca44591635ff5d7.tar.bz2 |
New first run sequence for Windows, with no UI. Organic builds will display the Search Engine Dialog, otherwise search engine is set to Google or silently imported, depending on master_preferences. (see go/chromefirstrun for details).
I also removed a no-longer-used SearchSelectObserver from FirstRunSearchView.
BUG=42612
TEST=First run import works as intended (see go/chromefirstrun). master_preferences file can still turn off import of history, search engine, and home page.
Review URL: http://codereview.chromium.org/2934011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52679 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/first_run_customize_view.cc')
-rw-r--r-- | chrome/browser/views/first_run_customize_view.cc | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/chrome/browser/views/first_run_customize_view.cc b/chrome/browser/views/first_run_customize_view.cc deleted file mode 100644 index cbaab1d..0000000 --- a/chrome/browser/views/first_run_customize_view.cc +++ /dev/null @@ -1,247 +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/first_run_customize_view.h" - -#include "app/l10n_util.h" -#include "app/resource_bundle.h" -#include "base/win_util.h" -#include "chrome/browser/importer/importer.h" -#include "chrome/browser/first_run.h" -#include "chrome/browser/metrics/user_metrics.h" -#include "chrome/installer/util/browser_distribution.h" -#include "grit/chromium_strings.h" -#include "grit/generated_resources.h" -#include "grit/locale_settings.h" -#include "grit/theme_resources.h" -#include "views/controls/button/checkbox.h" -#include "views/controls/image_view.h" -#include "views/controls/label.h" -#include "views/controls/throbber.h" -#include "views/standard_layout.h" -#include "views/window/window.h" - -FirstRunCustomizeView::FirstRunCustomizeView( - Profile* profile, - ImporterHost* importer_host, - CustomizeViewObserver* observer, - bool default_browser_checked, - bool homepage_defined, - int import_items, - int dont_import_items, - bool search_engine_experiment, - bool randomize_search_engine_experiment) - : FirstRunViewBase(profile, homepage_defined, import_items, - dont_import_items, search_engine_experiment, - randomize_search_engine_experiment), - main_label_(NULL), - import_cbox_(NULL), - import_from_combo_(NULL), - shortcuts_label_(NULL), - desktop_shortcut_cbox_(NULL), - quick_shortcut_cbox_(NULL), - customize_observer_(observer) { - importer_host_ = importer_host; - DCHECK(importer_host_); - SetupControls(); - - // The checkbox for Default Browser should be the same for FirstRun and - // the customize view, so that the user selection isn't lost when you uncheck - // and then open the Customize dialog. Therefore, we propagate the selection - // status of the default browser here. - if (default_browser_) - default_browser_->SetChecked(default_browser_checked); -} - -FirstRunCustomizeView::~FirstRunCustomizeView() { -} - -views::Checkbox* FirstRunCustomizeView::MakeCheckBox(int label_id) { - views::Checkbox* cbox = new views::Checkbox(l10n_util::GetString(label_id)); - cbox->set_listener(this); - AddChildView(cbox); - return cbox; -} - -void FirstRunCustomizeView::SetupControls() { - using views::Label; - using views::Checkbox; - - main_label_ = new Label(l10n_util::GetString(IDS_FR_CUSTOMIZE_DLG_TEXT)); - main_label_->SetMultiLine(true); - main_label_->SetHorizontalAlignment(Label::ALIGN_LEFT); - AddChildView(main_label_); - - import_cbox_ = MakeCheckBox(IDS_FR_CUSTOMIZE_IMPORT); - - import_from_combo_ = new views::Combobox(this); - AddChildView(import_from_combo_); - - shortcuts_label_ = - new Label(l10n_util::GetString(IDS_FR_CUSTOMIZE_SHORTCUTS)); - shortcuts_label_->SetHorizontalAlignment(Label::ALIGN_LEFT); - AddChildView(shortcuts_label_); - - // The two check boxes for the different shortcut creation. - desktop_shortcut_cbox_ = MakeCheckBox(IDS_FR_CUSTOM_SHORTCUT_DESKTOP); - desktop_shortcut_cbox_->SetChecked(true); - - quick_shortcut_cbox_ = MakeCheckBox(IDS_FR_CUSTOM_SHORTCUT_QUICKL); - // For windows 7 create quick launch default is not checked. - bool ql_default = (win_util::GetWinVersion() < win_util::WINVERSION_WIN7); - quick_shortcut_cbox_->SetChecked(ql_default); -} - -gfx::Size FirstRunCustomizeView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( - IDS_FIRSTRUNCUSTOMIZE_DIALOG_WIDTH_CHARS, - IDS_FIRSTRUNCUSTOMIZE_DIALOG_HEIGHT_LINES)); -} - -void FirstRunCustomizeView::Layout() { - FirstRunViewBase::Layout(); - - const int kVertSpacing = 8; - const int kComboExtraPad = 8; - - gfx::Size canvas = GetPreferredSize(); - - // Welcome label goes in to to the left. It does not go across the - // entire window because the background gets busy on the right. - gfx::Size pref_size = main_label_->GetPreferredSize(); - main_label_->SetBounds(kPanelHorizMargin, kPanelVertMargin, - canvas.width() - pref_size.width(), - pref_size.height()); - AdjustDialogWidth(main_label_); - - int next_v_space = background_image()->y() + - background_image()->height() + kPanelVertMargin; - - pref_size = import_cbox_->GetPreferredSize(); - import_cbox_->SetBounds(kPanelHorizMargin, next_v_space, - pref_size.width(), pref_size.height()); - - import_cbox_->SetChecked(true); - - int x_offset = import_cbox_->x() + - import_cbox_->width(); - - pref_size = import_from_combo_->GetPreferredSize(); - import_from_combo_->SetBounds(x_offset, - next_v_space + - (import_cbox_->height() - - pref_size.height()) / 2, - pref_size.width() + kComboExtraPad, - pref_size.height()); - - AdjustDialogWidth(import_from_combo_); - - next_v_space = import_cbox_->y() + import_cbox_->height() + - kUnrelatedControlVerticalSpacing; - - pref_size = shortcuts_label_->GetPreferredSize(); - shortcuts_label_->SetBounds(kPanelHorizMargin, next_v_space, - pref_size.width(), pref_size.height()); - - AdjustDialogWidth(shortcuts_label_); - - next_v_space += shortcuts_label_->height() + - kRelatedControlVerticalSpacing; - - pref_size = desktop_shortcut_cbox_->GetPreferredSize(); - desktop_shortcut_cbox_->SetBounds(kPanelHorizMargin, next_v_space, - pref_size.width(), pref_size.height()); - - AdjustDialogWidth(desktop_shortcut_cbox_); - - next_v_space += desktop_shortcut_cbox_->height() + - kRelatedControlVerticalSpacing; - - pref_size = quick_shortcut_cbox_->GetPreferredSize(); - quick_shortcut_cbox_->SetBounds(kPanelHorizMargin, next_v_space, - pref_size.width(), pref_size.height()); - - AdjustDialogWidth(quick_shortcut_cbox_); -} - -void FirstRunCustomizeView::ButtonPressed( - views::Button* sender, const views::Event& event) { - if (import_cbox_ == sender) { - // Disable the import combobox if the user unchecks the checkbox. - import_from_combo_->SetEnabled(import_cbox_->checked()); - } - - // Call the function of the base class to update its buttons. - FirstRunViewBase::ButtonPressed(sender, event); -} - -int FirstRunCustomizeView::GetItemCount() { - return importer_host_->GetAvailableProfileCount(); -} - -std::wstring FirstRunCustomizeView::GetItemAt(int index) { - return importer_host_->GetSourceProfileNameAt(index); -} - -std::wstring FirstRunCustomizeView::GetWindowTitle() const { - return l10n_util::GetString(IDS_FR_CUSTOMIZE_DLG_TITLE); -} - -views::View* FirstRunCustomizeView::GetContentsView() { - return this; -} - -bool FirstRunCustomizeView::Accept() { - if (!IsDialogButtonEnabled(MessageBoxFlags::DIALOGBUTTON_OK)) - return false; - - DisableButtons(); - import_cbox_->SetEnabled(false); - import_from_combo_->SetEnabled(false); - desktop_shortcut_cbox_->SetEnabled(false); - quick_shortcut_cbox_->SetEnabled(false); - - if (desktop_shortcut_cbox_->checked()) { - UserMetrics::RecordAction( - UserMetricsAction("FirstRunCustom_Do_DesktopShortcut"), profile_); - CreateDesktopShortcut(); - } - if (quick_shortcut_cbox_->checked()) { - UserMetrics::RecordAction( - UserMetricsAction("FirstRunCustom_Do_QuickLShortcut"), profile_); - CreateQuickLaunchShortcut(); - } - if (!import_cbox_->checked()) { - UserMetrics::RecordAction(UserMetricsAction("FirstRunCustom_No_Import"), - profile_); - } else { - int browser_selected = import_from_combo_->selected_item(); - FirstRun::ImportSettings(profile_, - importer_host_->GetSourceProfileInfoAt(browser_selected).browser_type, - GetImportItems(), window()->GetNativeWindow()); - } - if (default_browser_ && default_browser_->checked()) - SetDefaultBrowser(); - - // The customize observer is responsible for shutting down the startup - // message loop. - if (customize_observer_) { - customize_observer_->CustomizeAccepted(); - } else { - // Exit the message loop we were started with so that startup can continue. - MessageLoop::current()->Quit(); - FirstRunComplete(); - } - return true; -} - -bool FirstRunCustomizeView::Cancel() { - if (customize_observer_) - customize_observer_->CustomizeCanceled(); - - // Don't quit the message loop in this case - we're still showing the main - // First run dialog box underneath ourselves. - - return true; -} |