summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/importer_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/importer_view.cc')
-rw-r--r--chrome/browser/views/importer_view.cc287
1 files changed, 0 insertions, 287 deletions
diff --git a/chrome/browser/views/importer_view.cc b/chrome/browser/views/importer_view.cc
deleted file mode 100644
index 4ef686f..0000000
--- a/chrome/browser/views/importer_view.cc
+++ /dev/null
@@ -1,287 +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/importer_view.h"
-
-#include "app/l10n_util.h"
-#include "base/string16.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/browser_list.h"
-#include "chrome/browser/browser_window.h"
-#include "chrome/browser/importer/importer_data_types.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-#include "views/controls/button/checkbox.h"
-#include "views/controls/label.h"
-#include "views/grid_layout.h"
-#include "views/standard_layout.h"
-#include "views/widget/widget.h"
-#include "views/window/window.h"
-
-using views::ColumnSet;
-using views::GridLayout;
-
-namespace browser {
-
-// Declared in browser_dialogs.h so caller's don't have to depend on our header.
-void ShowImporterView(views::Widget* parent,
- Profile* profile) {
- views::Window::CreateChromeWindow(parent->GetNativeView(), gfx::Rect(),
- new ImporterView(profile, importer::ALL))->Show();
-}
-
-} // namespace browser
-
-ImporterView::ImporterView(Profile* profile, int initial_state)
- : import_from_label_(NULL),
- profile_combobox_(NULL),
- import_items_label_(NULL),
- history_checkbox_(NULL),
- favorites_checkbox_(NULL),
- passwords_checkbox_(NULL),
- search_engines_checkbox_(NULL),
- profile_(profile),
- importer_host_(new ImporterHost()),
- initial_state_(initial_state) {
- DCHECK(profile);
- SetupControl();
-}
-
-ImporterView::~ImporterView() {
-}
-
-void ImporterView::SetupControl() {
- // Adds all controls.
- import_from_label_ =
- new views::Label(l10n_util::GetString(IDS_IMPORT_FROM_LABEL));
-
- profile_combobox_ = new views::Combobox(this);
- profile_combobox_->set_listener(this);
- profile_combobox_->SetAccessibleName(import_from_label_->GetText());
-
- import_items_label_ =
- new views::Label(l10n_util::GetString(IDS_IMPORT_ITEMS_LABEL));
-
- history_checkbox_ =
- InitCheckbox(l10n_util::GetString(IDS_IMPORT_HISTORY_CHKBOX),
- (initial_state_ & importer::HISTORY) != 0);
- favorites_checkbox_ =
- InitCheckbox(l10n_util::GetString(IDS_IMPORT_FAVORITES_CHKBOX),
- (initial_state_ & importer::FAVORITES) != 0);
- passwords_checkbox_ =
- InitCheckbox(l10n_util::GetString(IDS_IMPORT_PASSWORDS_CHKBOX),
- (initial_state_ & importer::PASSWORDS) != 0);
- search_engines_checkbox_ =
- InitCheckbox(l10n_util::GetString(IDS_IMPORT_SEARCH_ENGINES_CHKBOX),
- (initial_state_ & importer::SEARCH_ENGINES) != 0);
-
- // 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(import_from_label_);
- layout->AddView(profile_combobox_);
-
- layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing);
- layout->StartRow(0, column_set_id);
- layout->AddView(import_items_label_, 3, 1);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, column_set_id);
- layout->AddView(favorites_checkbox_, 3, 1);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, column_set_id);
- layout->AddView(search_engines_checkbox_, 3, 1);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, column_set_id);
- layout->AddView(passwords_checkbox_, 3, 1);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, column_set_id);
- layout->AddView(history_checkbox_, 3, 1);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
-}
-
-gfx::Size ImporterView::GetPreferredSize() {
- return gfx::Size(views::Window::GetLocalizedContentsSize(
- IDS_IMPORT_DIALOG_WIDTH_CHARS,
- IDS_IMPORT_DIALOG_HEIGHT_LINES));
-}
-
-void ImporterView::Layout() {
- GetLayoutManager()->Layout(this);
-}
-
-std::wstring ImporterView::GetDialogButtonLabel(
- MessageBoxFlags::DialogButton button) const {
- if (button == MessageBoxFlags::DIALOGBUTTON_OK) {
- return l10n_util::GetString(IDS_IMPORT_COMMIT);
- } else {
- return std::wstring();
- }
-}
-
-bool ImporterView::IsDialogButtonEnabled(
- MessageBoxFlags::DialogButton button) const {
- if (button == MessageBoxFlags::DIALOGBUTTON_OK) {
- return history_checkbox_->checked() ||
- favorites_checkbox_->checked() ||
- passwords_checkbox_->checked() ||
- search_engines_checkbox_->checked();
- }
-
- return true;
-}
-
-bool ImporterView::IsModal() const {
- return true;
-}
-
-std::wstring ImporterView::GetWindowTitle() const {
- return l10n_util::GetString(IDS_IMPORT_SETTINGS_TITLE);
-}
-
-bool ImporterView::Accept() {
- if (!IsDialogButtonEnabled(MessageBoxFlags::DIALOGBUTTON_OK)) {
- return false;
- }
-
- uint16 items = GetCheckedItems();
-
- int selected_index = profile_combobox_->selected_item();
- StartImportingWithUI(GetWidget()->GetNativeView(), items,
- importer_host_.get(),
- importer_host_->GetSourceProfileInfoAt(selected_index),
- profile_, this, false);
- // We return false here to prevent the window from being closed. We will be
- // notified back by our implementation of ImportObserver when the import is
- // complete so that we can close ourselves.
- return false;
-}
-
-views::View* ImporterView::GetContentsView() {
- return this;
-}
-
-void ImporterView::ButtonPressed(
- views::Button* sender, const views::Event& event) {
- // When no checkbox is checked we should disable the "Import" button.
- // This forces the button to evaluate what state they should be in.
- GetDialogClientView()->UpdateDialogButtons();
-}
-
-int ImporterView::GetItemCount() {
- DCHECK(importer_host_.get());
- int item_count = importer_host_->GetAvailableProfileCount();
- if (checkbox_items_.size() < static_cast<size_t>(item_count))
- checkbox_items_.resize(item_count, initial_state_);
- return item_count;
-}
-
-string16 ImporterView::GetItemAt(int index) {
- DCHECK(importer_host_.get());
- return WideToUTF16Hack(importer_host_->GetSourceProfileNameAt(index));
-}
-
-void ImporterView::ItemChanged(views::Combobox* combobox,
- int prev_index, int new_index) {
- DCHECK(combobox);
- DCHECK(checkbox_items_.size() >=
- static_cast<size_t>(importer_host_->GetAvailableProfileCount()));
-
- if (prev_index == new_index)
- return;
-
- // Save the current state
- uint16 prev_items = GetCheckedItems();
- checkbox_items_[prev_index] = prev_items;
-
- // Enable/Disable the checkboxes for this Item
- uint16 new_enabled_items = importer_host_->GetSourceProfileInfoAt(
- new_index).services_supported;
- SetCheckedItemsState(new_enabled_items);
-
- // Set the checked items for this Item
- uint16 new_items = checkbox_items_[new_index];
- SetCheckedItems(new_items);
-}
-
-void ImporterView::ImportCanceled() {
- ImportComplete();
-}
-
-void ImporterView::ImportComplete() {
- // Now close this window since the import completed or was canceled.
- window()->Close();
-}
-
-views::Checkbox* ImporterView::InitCheckbox(const std::wstring& text,
- bool checked) {
- views::Checkbox* checkbox = new views::Checkbox(text);
- checkbox->SetChecked(checked);
- checkbox->set_listener(this);
- return checkbox;
-}
-
-uint16 ImporterView::GetCheckedItems() {
- uint16 items = importer::NONE;
- if (history_checkbox_->IsEnabled() && history_checkbox_->checked())
- items |= importer::HISTORY;
- if (favorites_checkbox_->IsEnabled() && favorites_checkbox_->checked())
- items |= importer::FAVORITES;
- if (passwords_checkbox_->IsEnabled() && passwords_checkbox_->checked())
- items |= importer::PASSWORDS;
- if (search_engines_checkbox_->IsEnabled() &&
- search_engines_checkbox_->checked())
- items |= importer::SEARCH_ENGINES;
- return items;
-}
-
-void ImporterView::SetCheckedItemsState(uint16 items) {
- if (items & importer::HISTORY) {
- history_checkbox_->SetEnabled(true);
- } else {
- history_checkbox_->SetEnabled(false);
- history_checkbox_->SetChecked(false);
- }
- if (items & importer::FAVORITES) {
- favorites_checkbox_->SetEnabled(true);
- } else {
- favorites_checkbox_->SetEnabled(false);
- favorites_checkbox_->SetChecked(false);
- }
- if (items & importer::PASSWORDS) {
- passwords_checkbox_->SetEnabled(true);
- } else {
- passwords_checkbox_->SetEnabled(false);
- passwords_checkbox_->SetChecked(false);
- }
- if (items & importer::SEARCH_ENGINES) {
- search_engines_checkbox_->SetEnabled(true);
- } else {
- search_engines_checkbox_->SetEnabled(false);
- search_engines_checkbox_->SetChecked(false);
- }
-}
-
-void ImporterView::SetCheckedItems(uint16 items) {
- if (history_checkbox_->IsEnabled())
- history_checkbox_->SetChecked(!!(items & importer::HISTORY));
-
- if (favorites_checkbox_->IsEnabled())
- favorites_checkbox_->SetChecked(!!(items & importer::FAVORITES));
-
- if (passwords_checkbox_->IsEnabled())
- passwords_checkbox_->SetChecked(!!(items & importer::PASSWORDS));
-
- if (search_engines_checkbox_->IsEnabled())
- search_engines_checkbox_->SetChecked(!!(items &
- importer::SEARCH_ENGINES));
-}