Chromium Code Reviews| Index: chrome/browser/ui/views/passwords/manage_password_item_view.cc |
| diff --git a/chrome/browser/ui/views/passwords/manage_password_item_view.cc b/chrome/browser/ui/views/passwords/manage_password_item_view.cc |
| index 3a28538ffdcff203507a8147dadb3a48b99b830a..fb9c61caaa728ed7278749c5f9d0887c583be76f 100644 |
| --- a/chrome/browser/ui/views/passwords/manage_password_item_view.cc |
| +++ b/chrome/browser/ui/views/passwords/manage_password_item_view.cc |
| @@ -6,12 +6,15 @@ |
| #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
| #include "chrome/grit/generated_resources.h" |
| -#include "components/password_manager/core/common/password_manager_ui.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/resources/grit/ui_resources.h" |
| +#include "ui/views/border.h" |
| #include "ui/views/controls/button/button.h" |
| #include "ui/views/controls/button/image_button.h" |
| +#include "ui/views/controls/label.h" |
| +#include "ui/views/controls/link.h" |
| +#include "ui/views/controls/link_listener.h" |
| #include "ui/views/layout/fill_layout.h" |
| #include "ui/views/layout/grid_layout.h" |
| #include "ui/views/layout/layout_constants.h" |
| @@ -89,7 +92,15 @@ views::Label* GeneratePasswordLabel(const autofill::PasswordForm& form) { |
| } // namespace |
| -// Pending View |
| +// Render credentials in two columns: username and password. |
| +class ManagePasswordItemView::PendingView : public views::View { |
| + public: |
| + explicit PendingView(ManagePasswordItemView* parent); |
| + |
| + private: |
| + virtual ~PendingView() {} |
|
vabr (Chromium)
2014/09/02 13:29:28
Please do not inline the destructors in the classe
vasilii
2014/09/02 15:33:33
Done.
|
| +}; |
| + |
| ManagePasswordItemView::PendingView::PendingView( |
| ManagePasswordItemView* parent) { |
| views::GridLayout* layout = new views::GridLayout(this); |
| @@ -103,10 +114,23 @@ ManagePasswordItemView::PendingView::PendingView( |
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
| } |
| -ManagePasswordItemView::PendingView::~PendingView() { |
| -} |
| +// Render credentials in three columns: username, password, and delete. |
| +class ManagePasswordItemView::ManageView : public views::View, |
| + public views::ButtonListener { |
| + public: |
| + explicit ManageView(ManagePasswordItemView* parent); |
| + |
| + private: |
| + virtual ~ManageView() {} |
| + |
| + // views::ButtonListener: |
| + virtual void ButtonPressed(views::Button* sender, |
| + const ui::Event& event) OVERRIDE; |
| + |
| + views::ImageButton* delete_button_; |
| + ManagePasswordItemView* parent_; |
| +}; |
| -// Manage View |
| ManagePasswordItemView::ManageView::ManageView(ManagePasswordItemView* parent) |
| : parent_(parent) { |
| views::GridLayout* layout = new views::GridLayout(this); |
| @@ -136,10 +160,23 @@ void ManagePasswordItemView::ManageView::ButtonPressed(views::Button* sender, |
| parent_->NotifyClickedDelete(); |
| } |
| -ManagePasswordItemView::ManageView::~ManageView() { |
| -} |
| +// Render a notification to the user that a password has been removed, and |
| +// offer an undo link. |
| +class ManagePasswordItemView::UndoView : public views::View, |
| + public views::LinkListener { |
| + public: |
| + explicit UndoView(ManagePasswordItemView* parent); |
| + |
| + private: |
| + virtual ~UndoView() {} |
| + |
| + // views::LinkListener: |
| + virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE; |
| + |
| + views::Link* undo_link_; |
| + ManagePasswordItemView* parent_; |
| +}; |
| -// Undo View |
| ManagePasswordItemView::UndoView::UndoView(ManagePasswordItemView* parent) |
| : parent_(parent) { |
| views::GridLayout* layout = new views::GridLayout(this); |
| @@ -173,9 +210,6 @@ void ManagePasswordItemView::UndoView::LinkClicked(views::Link* sender, |
| parent_->NotifyClickedUndo(); |
| } |
| -ManagePasswordItemView::UndoView::~UndoView() { |
| -} |
| - |
| // ManagePasswordItemView |
| ManagePasswordItemView::ManagePasswordItemView( |
| ManagePasswordsBubbleModel* manage_passwords_bubble_model, |
| @@ -209,6 +243,16 @@ ManagePasswordItemView::ManagePasswordItemView( |
| ManagePasswordItemView::~ManagePasswordItemView() { |
| } |
| +void ManagePasswordItemView::NotifyClickedDelete() { |
| + delete_password_ = true; |
| + Refresh(); |
| +} |
| + |
| +void ManagePasswordItemView::NotifyClickedUndo() { |
| + delete_password_ = false; |
| + Refresh(); |
| +} |
| + |
| void ManagePasswordItemView::Refresh() { |
| DCHECK(!password_manager::ui::IsPendingState(model_->state())); |
| @@ -226,13 +270,3 @@ void ManagePasswordItemView::Refresh() { |
| ? ManagePasswordsBubbleModel::REMOVE_PASSWORD |
| : ManagePasswordsBubbleModel::ADD_PASSWORD); |
| } |
| - |
| -void ManagePasswordItemView::NotifyClickedDelete() { |
| - delete_password_ = true; |
| - Refresh(); |
| -} |
| - |
| -void ManagePasswordItemView::NotifyClickedUndo() { |
| - delete_password_ = false; |
| - Refresh(); |
| -} |