diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-11 22:37:45 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-11 22:37:45 +0000 |
commit | 579e319b672d1e703249fa9f236c6b9dbb7909b5 (patch) | |
tree | d3823bf4be2c4180bd7f174405ecece4a62cc78a /chrome/browser/ui/views/options/cookies_view.cc | |
parent | 7f66520ba5dd150bbdbaad746539a4206d483dc1 (diff) | |
download | chromium_src-579e319b672d1e703249fa9f236c6b9dbb7909b5.zip chromium_src-579e319b672d1e703249fa9f236c6b9dbb7909b5.tar.gz chromium_src-579e319b672d1e703249fa9f236c6b9dbb7909b5.tar.bz2 |
Options: Remove the GTK and Views native options code.
BUG=75320
TEST=none
Review URL: http://codereview.chromium.org/6670011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77878 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/options/cookies_view.cc')
-rw-r--r-- | chrome/browser/ui/views/options/cookies_view.cc | 412 |
1 files changed, 0 insertions, 412 deletions
diff --git a/chrome/browser/ui/views/options/cookies_view.cc b/chrome/browser/ui/views/options/cookies_view.cc deleted file mode 100644 index c29cf74..0000000 --- a/chrome/browser/ui/views/options/cookies_view.cc +++ /dev/null @@ -1,412 +0,0 @@ -// Copyright (c) 2011 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/ui/views/options/cookies_view.h" - -#include <algorithm> - -#include "base/message_loop.h" -#include "base/string_util.h" -#include "chrome/browser/profiles/profile.h" -#include "chrome/browser/ui/views/appcache_info_view.h" -#include "chrome/browser/ui/views/cookie_info_view.h" -#include "chrome/browser/ui/views/database_info_view.h" -#include "chrome/browser/ui/views/indexed_db_info_view.h" -#include "chrome/browser/ui/views/local_storage_info_view.h" -#include "grit/generated_resources.h" -#include "grit/locale_settings.h" -#include "net/base/cookie_monster.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/gfx/canvas.h" -#include "ui/gfx/color_utils.h" -#include "views/border.h" -#include "views/controls/button/native_button.h" -#include "views/controls/label.h" -#include "views/controls/textfield/textfield.h" -#include "views/controls/tree/tree_view.h" -#include "views/layout/grid_layout.h" -#include "views/layout/layout_constants.h" - -// static -views::Window* CookiesView::instance_ = NULL; -static const int kSearchFilterDelayMs = 500; - -/////////////////////////////////////////////////////////////////////////////// -// CookiesTreeView -// Overridden to handle Delete key presses - -class CookiesTreeView : public views::TreeView { - public: - explicit CookiesTreeView(CookiesTreeModel* cookies_model); - virtual ~CookiesTreeView() {} - - // Removes the items associated with the selected node in the TreeView - void RemoveSelectedItems(); - - private: - DISALLOW_COPY_AND_ASSIGN(CookiesTreeView); -}; - -CookiesTreeView::CookiesTreeView(CookiesTreeModel* cookies_model) { - SetModel(cookies_model); - SetRootShown(false); - SetEditable(false); -} - -void CookiesTreeView::RemoveSelectedItems() { - ui::TreeModelNode* selected_node = GetSelectedNode(); - if (selected_node) { - static_cast<CookiesTreeModel*>(model())->DeleteCookieNode( - static_cast<CookieTreeNode*>(GetSelectedNode())); - } -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView::InfoPanelView -// Overridden to handle layout of the various info views. -// -// This view is a child of the CookiesView and participates -// in its GridLayout. The various info views are all children -// of this view. Only one child is expected to be visible at a time. - -class CookiesView::InfoPanelView : public views::View { - public: - virtual void Layout() { - for (int i = 0; i < child_count(); ++i) - GetChildViewAt(i)->SetBounds(0, 0, width(), height()); - } - - virtual gfx::Size GetPreferredSize() { - DCHECK(has_children()); - return GetChildViewAt(0)->GetPreferredSize(); - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, public: - -// static -void CookiesView::ShowCookiesWindow(Profile* profile) { - if (!instance_) { - CookiesView* cookies_view = new CookiesView(profile); - instance_ = views::Window::CreateChromeWindow( - NULL, gfx::Rect(), cookies_view); - } - if (!instance_->IsVisible()) { - instance_->Show(); - } else { - instance_->Activate(); - } -} - -CookiesView::~CookiesView() { - cookies_tree_->SetModel(NULL); -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, TreeModelObserver overrides: - -void CookiesView::TreeNodesAdded(ui::TreeModel* model, - ui::TreeModelNode* parent, - int start, - int count) { - UpdateRemoveButtonsState(); -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, views::Buttonlistener implementation: - -void CookiesView::ButtonPressed( - views::Button* sender, const views::Event& event) { - if (sender == remove_button_) { - cookies_tree_->RemoveSelectedItems(); - if (cookies_tree_model_->GetRoot()->child_count() == 0) - UpdateForEmptyState(); - } else if (sender == remove_all_button_) { - cookies_tree_model_->DeleteAllStoredObjects(); - UpdateForEmptyState(); - } else if (sender == clear_search_button_) { - ResetSearchQuery(); - } -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, views::TextfieldController implementation: - -void CookiesView::ContentsChanged(views::Textfield* sender, - const std::wstring& new_contents) { - clear_search_button_->SetEnabled(!search_field_->text().empty()); - search_update_factory_.RevokeAll(); - MessageLoop::current()->PostDelayedTask(FROM_HERE, - search_update_factory_.NewRunnableMethod( - &CookiesView::UpdateSearchResults), kSearchFilterDelayMs); -} - -bool CookiesView::HandleKeyEvent(views::Textfield* sender, - const views::KeyEvent& key_event) { - if (key_event.key_code() == ui::VKEY_ESCAPE) { - ResetSearchQuery(); - } else if (key_event.key_code() == ui::VKEY_RETURN) { - search_update_factory_.RevokeAll(); - UpdateSearchResults(); - } - return false; -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, views::DialogDelegate implementation: - -int CookiesView::GetDialogButtons() const { - return MessageBoxFlags::DIALOGBUTTON_CANCEL; -} - -views::View* CookiesView::GetInitiallyFocusedView() { - return search_field_; -} - -bool CookiesView::CanResize() const { - return true; -} - -std::wstring CookiesView::GetWindowTitle() const { - return UTF16ToWide( - l10n_util::GetStringUTF16(IDS_COOKIES_WEBSITE_PERMISSIONS_WINDOW_TITLE)); -} - -void CookiesView::WindowClosing() { - instance_ = NULL; -} - -views::View* CookiesView::GetContentsView() { - return this; -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, views::View overrides: - -void CookiesView::Layout() { - // Lay out the Remove/Remove All buttons in the parent view. - gfx::Size ps = remove_button_->GetPreferredSize(); - gfx::Rect parent_bounds = parent()->GetContentsBounds(); - int y_buttons = - parent_bounds.bottom() - ps.height() - views::kButtonVEdgeMargin; - - remove_button_->SetBounds(views::kPanelHorizMargin, y_buttons, ps.width(), - ps.height()); - - ps = remove_all_button_->GetPreferredSize(); - int remove_all_x = remove_button_->x() + remove_button_->width() + - views::kRelatedControlHorizontalSpacing; - remove_all_button_->SetBounds(remove_all_x, y_buttons, ps.width(), - ps.height()); - - // Lay out this View - View::Layout(); -} - -gfx::Size CookiesView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( - IDS_COOKIES_DIALOG_WIDTH_CHARS, - IDS_COOKIES_DIALOG_HEIGHT_LINES)); -} - -void CookiesView::ViewHierarchyChanged(bool is_add, - views::View* parent, - views::View* child) { - if (is_add && child == this) - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, views::TreeViewController overrides: - -void CookiesView::OnTreeViewSelectionChanged(views::TreeView* tree_view) { - UpdateRemoveButtonsState(); - CookieTreeNode::DetailedInfo detailed_info = - static_cast<CookieTreeNode*>(tree_view->GetSelectedNode())-> - GetDetailedInfo(); - if (detailed_info.node_type == CookieTreeNode::DetailedInfo::TYPE_COOKIE) { - UpdateVisibleDetailedInfo(cookie_info_view_); - cookie_info_view_->SetCookie(detailed_info.cookie->Domain(), - *detailed_info.cookie); - } else if (detailed_info.node_type == - CookieTreeNode::DetailedInfo::TYPE_DATABASE) { - UpdateVisibleDetailedInfo(database_info_view_); - database_info_view_->SetDatabaseInfo(*detailed_info.database_info); - } else if (detailed_info.node_type == - CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) { - UpdateVisibleDetailedInfo(local_storage_info_view_); - local_storage_info_view_->SetLocalStorageInfo( - *detailed_info.local_storage_info); - } else if (detailed_info.node_type == - CookieTreeNode::DetailedInfo::TYPE_APPCACHE) { - UpdateVisibleDetailedInfo(appcache_info_view_); - appcache_info_view_->SetAppCacheInfo(detailed_info.appcache_info); - } else if (detailed_info.node_type == - CookieTreeNode::DetailedInfo::TYPE_INDEXED_DB) { - UpdateVisibleDetailedInfo(indexed_db_info_view_); - indexed_db_info_view_->SetIndexedDBInfo(*detailed_info.indexed_db_info); - } else { - UpdateVisibleDetailedInfo(cookie_info_view_); - cookie_info_view_->ClearCookieDisplay(); - } -} - -void CookiesView::OnTreeViewKeyDown(ui::KeyboardCode keycode) { - if (keycode == ui::VKEY_DELETE) - cookies_tree_->RemoveSelectedItems(); -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, public: - -void CookiesView::UpdateSearchResults() { - cookies_tree_model_->UpdateSearchResults(search_field_->text()); - UpdateRemoveButtonsState(); -} - -/////////////////////////////////////////////////////////////////////////////// -// CookiesView, private: - -CookiesView::CookiesView(Profile* profile) - : - search_label_(NULL), - search_field_(NULL), - clear_search_button_(NULL), - description_label_(NULL), - cookies_tree_(NULL), - info_panel_(NULL), - cookie_info_view_(NULL), - database_info_view_(NULL), - local_storage_info_view_(NULL), - appcache_info_view_(NULL), - indexed_db_info_view_(NULL), - remove_button_(NULL), - remove_all_button_(NULL), - profile_(profile), - ALLOW_THIS_IN_INITIALIZER_LIST(search_update_factory_(this)) { -} - -void CookiesView::Init() { - search_label_ = new views::Label( - UTF16ToWide(l10n_util::GetStringUTF16(IDS_COOKIES_SEARCH_LABEL))); - search_field_ = new views::Textfield; - search_field_->SetController(this); - clear_search_button_ = new views::NativeButton( - this, - UTF16ToWide(l10n_util::GetStringUTF16(IDS_COOKIES_CLEAR_SEARCH_LABEL))); - clear_search_button_->SetEnabled(false); - description_label_ = new views::Label( - UTF16ToWide(l10n_util::GetStringUTF16(IDS_COOKIES_INFO_LABEL))); - description_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - cookies_tree_model_.reset(new CookiesTreeModel( - profile_->GetRequestContext()->GetCookieStore()->GetCookieMonster(), - new BrowsingDataDatabaseHelper(profile_), - new BrowsingDataLocalStorageHelper(profile_), - NULL, - new BrowsingDataAppCacheHelper(profile_), - BrowsingDataIndexedDBHelper::Create(profile_))); - cookies_tree_model_->AddCookiesTreeObserver(this); - - info_panel_ = new InfoPanelView; - cookie_info_view_ = new CookieInfoView(false); - database_info_view_ = new DatabaseInfoView; - local_storage_info_view_ = new LocalStorageInfoView; - appcache_info_view_ = new AppCacheInfoView; - indexed_db_info_view_ = new IndexedDBInfoView; - info_panel_->AddChildView(cookie_info_view_); - info_panel_->AddChildView(database_info_view_); - info_panel_->AddChildView(local_storage_info_view_); - info_panel_->AddChildView(appcache_info_view_); - info_panel_->AddChildView(indexed_db_info_view_); - - cookies_tree_ = new CookiesTreeView(cookies_tree_model_.get()); - remove_button_ = new views::NativeButton( - this, - UTF16ToWide(l10n_util::GetStringUTF16(IDS_COOKIES_REMOVE_LABEL))); - remove_all_button_ = new views::NativeButton( - this, - UTF16ToWide(l10n_util::GetStringUTF16(IDS_COOKIES_REMOVE_ALL_LABEL))); - - using views::GridLayout; - using views::ColumnSet; - - GridLayout* layout = GridLayout::CreatePanel(this); - SetLayoutManager(layout); - - const int five_column_layout_id = 0; - ColumnSet* column_set = layout->AddColumnSet(five_column_layout_id); - column_set->AddColumn(GridLayout::FILL, GridLayout::CENTER, 0, - GridLayout::USE_PREF, 0, 0); - column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing); - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, - GridLayout::USE_PREF, 0, 0); - column_set->AddPaddingColumn(0, views::kRelatedControlHorizontalSpacing); - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 0, - GridLayout::USE_PREF, 0, 0); - - const int single_column_layout_id = 1; - column_set = layout->AddColumnSet(single_column_layout_id); - column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, - GridLayout::USE_PREF, 0, 0); - - layout->StartRow(0, five_column_layout_id); - layout->AddView(search_label_); - layout->AddView(search_field_); - layout->AddView(clear_search_button_); - layout->AddPaddingRow(0, views::kUnrelatedControlVerticalSpacing); - - layout->StartRow(0, single_column_layout_id); - layout->AddView(description_label_); - - layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); - layout->StartRow(1, single_column_layout_id); - cookies_tree_->set_lines_at_root(true); - cookies_tree_->set_auto_expand_children(true); - layout->AddView(cookies_tree_); - - cookies_tree_->SetController(this); - - layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); - layout->StartRow(0, single_column_layout_id); - layout->AddView(info_panel_); - - // Add the Remove/Remove All buttons to the ClientView - parent()->AddChildView(remove_button_); - parent()->AddChildView(remove_all_button_); - if (!cookies_tree_model_.get()->GetRoot()->child_count()) { - UpdateForEmptyState(); - } else { - UpdateVisibleDetailedInfo(cookie_info_view_); - UpdateRemoveButtonsState(); - } -} - -void CookiesView::ResetSearchQuery() { - search_field_->SetText(std::wstring()); - clear_search_button_->SetEnabled(false); - UpdateSearchResults(); -} - -void CookiesView::UpdateForEmptyState() { - cookie_info_view_->ClearCookieDisplay(); - remove_button_->SetEnabled(false); - remove_all_button_->SetEnabled(false); - UpdateVisibleDetailedInfo(cookie_info_view_); -} - -void CookiesView::UpdateRemoveButtonsState() { - remove_button_->SetEnabled(cookies_tree_model_->GetRoot()-> - GetTotalNodeCount() > 1 && cookies_tree_->GetSelectedNode()); - remove_all_button_->SetEnabled(cookies_tree_model_->GetRoot()-> - GetTotalNodeCount() > 1); -} - -void CookiesView::UpdateVisibleDetailedInfo(views::View* view) { - cookie_info_view_->SetVisible(view == cookie_info_view_); - database_info_view_->SetVisible(view == database_info_view_); - local_storage_info_view_->SetVisible(view == local_storage_info_view_); - appcache_info_view_->SetVisible(view == appcache_info_view_); - indexed_db_info_view_->SetVisible(view == indexed_db_info_view_); -} |