diff options
Diffstat (limited to 'chrome/browser/views/importing_progress_view.cc')
-rw-r--r-- | chrome/browser/views/importing_progress_view.cc | 312 |
1 files changed, 0 insertions, 312 deletions
diff --git a/chrome/browser/views/importing_progress_view.cc b/chrome/browser/views/importing_progress_view.cc deleted file mode 100644 index ae3135e..0000000 --- a/chrome/browser/views/importing_progress_view.cc +++ /dev/null @@ -1,312 +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/importing_progress_view.h" - -#include "app/l10n_util.h" -#include "grit/chromium_strings.h" -#include "grit/generated_resources.h" -#include "grit/locale_settings.h" -#include "views/grid_layout.h" -#include "views/controls/label.h" -#include "views/controls/throbber.h" -#include "views/standard_layout.h" -#include "views/window/window.h" - -//////////////////////////////////////////////////////////////////////////////// -// ImportingProgressView, public: - -ImportingProgressView::ImportingProgressView(const std::wstring& source_name, - int16 items, - ImporterHost* coordinator, - ImportObserver* observer, - HWND parent_window, - bool bookmarks_import) - : state_bookmarks_(new views::CheckmarkThrobber), - state_searches_(new views::CheckmarkThrobber), - state_passwords_(new views::CheckmarkThrobber), - state_history_(new views::CheckmarkThrobber), - state_cookies_(new views::CheckmarkThrobber), - label_bookmarks_(new views::Label( - l10n_util::GetString(IDS_IMPORT_PROGRESS_STATUS_BOOKMARKS))), - label_searches_(new views::Label( - l10n_util::GetString(IDS_IMPORT_PROGRESS_STATUS_SEARCH))), - label_passwords_(new views::Label( - l10n_util::GetString(IDS_IMPORT_PROGRESS_STATUS_PASSWORDS))), - label_history_(new views::Label( - l10n_util::GetString(IDS_IMPORT_PROGRESS_STATUS_HISTORY))), - label_cookies_(new views::Label( - l10n_util::GetString(IDS_IMPORT_PROGRESS_STATUS_COOKIES))), - parent_window_(parent_window), - coordinator_(coordinator), - import_observer_(observer), - items_(items), - importing_(true), - bookmarks_import_(bookmarks_import) { - std::wstring info_text = bookmarks_import ? - l10n_util::GetString(IDS_IMPORT_BOOKMARKS) : - l10n_util::GetStringF(IDS_IMPORT_PROGRESS_INFO, source_name); - label_info_ = new views::Label(info_text); - coordinator_->SetObserver(this); - label_info_->SetMultiLine(true); - label_info_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - label_bookmarks_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - label_searches_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - label_passwords_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - label_history_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - label_cookies_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - - // These are scoped pointers, so we don't need the parent to delete them. - state_bookmarks_->set_parent_owned(false); - state_searches_->set_parent_owned(false); - state_passwords_->set_parent_owned(false); - state_history_->set_parent_owned(false); - state_cookies_->set_parent_owned(false); - label_bookmarks_->set_parent_owned(false); - label_searches_->set_parent_owned(false); - label_passwords_->set_parent_owned(false); - label_history_->set_parent_owned(false); - label_cookies_->set_parent_owned(false); -} - -ImportingProgressView::~ImportingProgressView() { - RemoveChildView(state_bookmarks_.get()); - RemoveChildView(state_searches_.get()); - RemoveChildView(state_passwords_.get()); - RemoveChildView(state_history_.get()); - RemoveChildView(state_cookies_.get()); - RemoveChildView(label_bookmarks_.get()); - RemoveChildView(label_searches_.get()); - RemoveChildView(label_passwords_.get()); - RemoveChildView(label_history_.get()); - RemoveChildView(label_cookies_.get()); - - if (importing_) { - // We're being deleted while importing, clean up state so that the importer - // doesn't have a reference to us and cancel the import. We can get here - // if our parent window is closed, which closes our window and deletes us. - importing_ = false; - coordinator_->SetObserver(NULL); - coordinator_->Cancel(); - if (import_observer_) - import_observer_->ImportComplete(); - } -} - -//////////////////////////////////////////////////////////////////////////////// -// ImportingProgressView, ImporterObserver implementation: - -void ImportingProgressView::ImportItemStarted(importer::ImportItem item) { - DCHECK(items_ & item); - switch (item) { - case importer::FAVORITES: - state_bookmarks_->Start(); - break; - case importer::SEARCH_ENGINES: - state_searches_->Start(); - break; - case importer::PASSWORDS: - state_passwords_->Start(); - break; - case importer::HISTORY: - state_history_->Start(); - break; - case importer::COOKIES: - state_cookies_->Start(); - break; - } -} - -void ImportingProgressView::ImportItemEnded(importer::ImportItem item) { - DCHECK(items_ & item); - switch (item) { - case importer::FAVORITES: - state_bookmarks_->Stop(); - state_bookmarks_->SetChecked(true); - break; - case importer::SEARCH_ENGINES: - state_searches_->Stop(); - state_searches_->SetChecked(true); - break; - case importer::PASSWORDS: - state_passwords_->Stop(); - state_passwords_->SetChecked(true); - break; - case importer::HISTORY: - state_history_->Stop(); - state_history_->SetChecked(true); - break; - case importer::COOKIES: - state_cookies_->Stop(); - state_cookies_->SetChecked(true); - break; - } -} - -void ImportingProgressView::ImportStarted() { - importing_ = true; -} - -void ImportingProgressView::ImportEnded() { - // This can happen because: - // - the import completed successfully. - // - the import was canceled by the user. - // - the user chose to skip the import because they didn't want to shut down - // Firefox. - // In every case, we need to close the UI now. - importing_ = false; - coordinator_->SetObserver(NULL); - window()->Close(); - if (import_observer_) - import_observer_->ImportComplete(); -} - -//////////////////////////////////////////////////////////////////////////////// -// ImportingProgressView, views::View overrides: - -gfx::Size ImportingProgressView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( - IDS_IMPORTPROGRESS_DIALOG_WIDTH_CHARS, - IDS_IMPORTPROGRESS_DIALOG_HEIGHT_LINES)); -} - -void ImportingProgressView::ViewHierarchyChanged(bool is_add, - views::View* parent, - views::View* child) { - if (is_add && child == this) - InitControlLayout(); -} - -//////////////////////////////////////////////////////////////////////////////// -// ImportingProgressView, views::DialogDelegate implementation: - -int ImportingProgressView::GetDialogButtons() const { - return MessageBoxFlags::DIALOGBUTTON_CANCEL; -} - -std::wstring ImportingProgressView::GetDialogButtonLabel( - MessageBoxFlags::DialogButton button) const { - DCHECK(button == MessageBoxFlags::DIALOGBUTTON_CANCEL); - return l10n_util::GetString(IDS_IMPORT_PROGRESS_STATUS_CANCEL); -} - -bool ImportingProgressView::IsModal() const { - return parent_window_ != NULL; -} - -std::wstring ImportingProgressView::GetWindowTitle() const { - return l10n_util::GetString(IDS_IMPORT_PROGRESS_TITLE); -} - -bool ImportingProgressView::Cancel() { - // When the user cancels the import, we need to tell the coordinator to stop - // importing and return false so that the window lives long enough to receive - // ImportEnded, which will close the window. Closing the window results in - // another call to this function and at that point we must return true to - // allow the window to close. - if (!importing_) - return true; // We have received ImportEnded, so we can close. - - // Cancel the import and wait for further instructions. - coordinator_->Cancel(); - return false; -} - -views::View* ImportingProgressView::GetContentsView() { - return this; -} - -//////////////////////////////////////////////////////////////////////////////// -// ImportingProgressView, private: - -void ImportingProgressView::InitControlLayout() { - using views::GridLayout; - using views::ColumnSet; - - GridLayout* layout = CreatePanelGridLayout(this); - SetLayoutManager(layout); - - gfx::Size ps = state_history_->GetPreferredSize(); - - const int single_column_view_set_id = 0; - ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id); - if (bookmarks_import_) { - column_set->AddColumn(GridLayout::CENTER, GridLayout::CENTER, 0, - GridLayout::FIXED, ps.width(), 0); - column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); - } - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, - GridLayout::USE_PREF, 0, 0); - const int double_column_view_set_id = 1; - column_set = layout->AddColumnSet(double_column_view_set_id); - column_set->AddPaddingColumn(0, kUnrelatedControlLargeHorizontalSpacing); - column_set->AddColumn(GridLayout::CENTER, GridLayout::CENTER, 0, - GridLayout::FIXED, ps.width(), 0); - column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); - column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 1, - GridLayout::USE_PREF, 0, 0); - column_set->AddPaddingColumn(0, kUnrelatedControlLargeHorizontalSpacing); - - layout->StartRow(0, single_column_view_set_id); - if (bookmarks_import_) - layout->AddView(state_bookmarks_.get()); - layout->AddView(label_info_); - layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing); - - if (items_ & importer::HISTORY) { - layout->StartRow(0, double_column_view_set_id); - layout->AddView(state_history_.get()); - layout->AddView(label_history_.get()); - layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); - } - if (items_ & importer::FAVORITES && !bookmarks_import_) { - layout->StartRow(0, double_column_view_set_id); - layout->AddView(state_bookmarks_.get()); - layout->AddView(label_bookmarks_.get()); - layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); - } - if (items_ & importer::SEARCH_ENGINES) { - layout->StartRow(0, double_column_view_set_id); - layout->AddView(state_searches_.get()); - layout->AddView(label_searches_.get()); - layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); - } - if (items_ & importer::PASSWORDS) { - layout->StartRow(0, double_column_view_set_id); - layout->AddView(state_passwords_.get()); - layout->AddView(label_passwords_.get()); - layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); - } - if (items_ & importer::COOKIES) { - layout->StartRow(0, double_column_view_set_id); - layout->AddView(state_cookies_.get()); - layout->AddView(label_cookies_.get()); - layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); - } -} - -//////////////////////////////////////////////////////////////////////////////// -// StartImportingWithUI - -void StartImportingWithUI(HWND parent_window, - uint16 items, - ImporterHost* coordinator, - const ProfileInfo& source_profile, - Profile* target_profile, - ImportObserver* observer, - bool first_run) { - DCHECK(items != 0); - ImportingProgressView* v = new ImportingProgressView( - source_profile.description, items, coordinator, observer, parent_window, - source_profile.browser_type == importer::BOOKMARKS_HTML); - views::Window* window = - views::Window::CreateChromeWindow(parent_window, gfx::Rect(), v); - - if (!coordinator->is_headless() && !first_run) - window->Show(); - - coordinator->StartImportSettings(source_profile, target_profile, items, - new ProfileWriter(target_profile), - first_run); -} |