summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/password_manager_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/password_manager_view.cc')
-rw-r--r--chrome/browser/views/password_manager_view.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/views/password_manager_view.cc b/chrome/browser/views/password_manager_view.cc
index 644e09f..bdc877d 100644
--- a/chrome/browser/views/password_manager_view.cc
+++ b/chrome/browser/views/password_manager_view.cc
@@ -135,6 +135,7 @@ void PasswordManagerTableModel::OnWebDataServiceRequestDone(
saved_signons_[i] = new PasswordRow(
gfx::SortedDisplayURL(rows[i]->origin, languages), rows[i]);
}
+ instance_->SetRemoveAllEnabled(RowCount() != 0);
if (observer_)
observer_->OnModelChanged();
}
@@ -159,6 +160,7 @@ void PasswordManagerTableModel::ForgetAndRemoveSignon(int row) {
web_data_service()->RemoveLogin(*(password_row->form.get()));
delete password_row;
saved_signons_.erase(target_iter);
+ instance_->SetRemoveAllEnabled(RowCount() != 0);
if (observer_)
observer_->OnItemsRemoved(row, 1);
}
@@ -172,6 +174,7 @@ void PasswordManagerTableModel::ForgetAndRemoveAllSignons() {
delete row;
iter = saved_signons_.erase(iter);
}
+ instance_->SetRemoveAllEnabled(false);
if (observer_)
observer_->OnModelChanged();
}
@@ -355,6 +358,10 @@ std::wstring PasswordManagerView::GetWindowTitle() const {
return l10n_util::GetString(IDS_PASSWORD_MANAGER_VIEW_TITLE);
}
+void PasswordManagerView::SetRemoveAllEnabled(bool enabled) {
+ instance_->remove_all_button_.SetEnabled(enabled);
+}
+
void PasswordManagerView::ButtonPressed(views::NativeButton* sender) {
DCHECK(window());
// Close will result in our destruction.