diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-30 14:14:01 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-30 14:14:01 +0000 |
commit | 0138b4a799f9a40992c6f8ea5a43bf40f8a620f0 (patch) | |
tree | edc25299410679f9af9248a0cfe8c8cb95916d92 /chrome | |
parent | 01d0b90a9dbac157dc639f472a4c2bec51a6118d (diff) | |
download | chromium_src-0138b4a799f9a40992c6f8ea5a43bf40f8a620f0.zip chromium_src-0138b4a799f9a40992c6f8ea5a43bf40f8a620f0.tar.gz chromium_src-0138b4a799f9a40992c6f8ea5a43bf40f8a620f0.tar.bz2 |
Update password manager prefs UI on policy refresh.
Preferences.xib changes: Bind Enabled state of password manager radio matrix and button to the new @properties.
BUG=52830
TEST=Change password manager policy, watch preferences UI.
Review URL: http://codereview.chromium.org/3241005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57857 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/app/nibs/Preferences.xib | 77 | ||||
-rw-r--r-- | chrome/browser/cocoa/preferences_window_controller.h | 4 | ||||
-rw-r--r-- | chrome/browser/cocoa/preferences_window_controller.mm | 15 | ||||
-rw-r--r-- | chrome/browser/gtk/options/content_page_gtk.cc | 22 | ||||
-rw-r--r-- | chrome/browser/gtk/options/content_page_gtk.h | 1 | ||||
-rw-r--r-- | chrome/browser/views/options/content_page_view.cc | 13 |
6 files changed, 67 insertions, 65 deletions
diff --git a/chrome/app/nibs/Preferences.xib b/chrome/app/nibs/Preferences.xib index 1ab2914..b6a22de 100644 --- a/chrome/app/nibs/Preferences.xib +++ b/chrome/app/nibs/Preferences.xib @@ -12,9 +12,9 @@ </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="79"/> - <integer value="74"/> <integer value="482"/> + <integer value="74"/> + <integer value="79"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -3816,38 +3816,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes> </object> <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> - <string key="label">enabled: isPasswordManagerEnabled</string> - <reference key="source" ref="1019357609"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="1019357609"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">enabled: isPasswordManagerEnabled</string> - <string key="NSBinding">enabled</string> - <string key="NSKeyPath">isPasswordManagerEnabled</string> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">713</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> - <string key="label">enabled: isPasswordManagerEnabled</string> - <reference key="source" ref="667220499"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="667220499"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">enabled: isPasswordManagerEnabled</string> - <string key="NSBinding">enabled</string> - <string key="NSKeyPath">isPasswordManagerEnabled</string> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">714</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> <string key="label">enabled: showHomeButtonEnabled</string> <reference key="source" ref="136601899"/> <reference key="destination" ref="1001"/> @@ -4014,6 +3982,38 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes> </object> <int key="connectionID">756</int> </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">enabled: passwordManagerChoiceEnabled</string> + <reference key="source" ref="1019357609"/> + <reference key="destination" ref="1001"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="1019357609"/> + <reference key="NSDestination" ref="1001"/> + <string key="NSLabel">enabled: passwordManagerChoiceEnabled</string> + <string key="NSBinding">enabled</string> + <string key="NSKeyPath">passwordManagerChoiceEnabled</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">757</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">enabled: passwordManagerButtonEnabled</string> + <reference key="source" ref="667220499"/> + <reference key="destination" ref="1001"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="667220499"/> + <reference key="NSDestination" ref="1001"/> + <string key="NSLabel">enabled: passwordManagerButtonEnabled</string> + <string key="NSBinding">enabled</string> + <string key="NSKeyPath">passwordManagerButtonEnabled</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">758</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -5794,7 +5794,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes> </object> </object> <nil key="sourceID"/> - <int key="maxID">756</int> + <int key="maxID">758</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -6068,13 +6068,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes> <string key="className">NSWindow</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> - <string key="minorKey">browser/cocoa/framed_browser_window.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSWindow</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> <string key="minorKey">browser/cocoa/themed_window.h</string> </object> </object> diff --git a/chrome/browser/cocoa/preferences_window_controller.h b/chrome/browser/cocoa/preferences_window_controller.h index 6011364..2afec1f 100644 --- a/chrome/browser/cocoa/preferences_window_controller.h +++ b/chrome/browser/cocoa/preferences_window_controller.h @@ -104,6 +104,8 @@ class ProfileSyncService; scoped_nsobject<NSColor> syncStatusNoErrorBackgroundColor_; scoped_nsobject<NSColor> syncLinkNoErrorBackgroundColor_; scoped_nsobject<NSColor> syncErrorBackgroundColor_; + BOOL passwordManagerChoiceEnabled_; + BOOL passwordManagerButtonEnabled_; BOOL autoFillSettingsButtonEnabled_; // Under the hood panel @@ -188,6 +190,8 @@ class ProfileSyncService; // Usable from cocoa bindings to hook up the custom home pages table. @property (nonatomic, readonly) CustomHomePagesModel* customPagesSource; @property (assign, nonatomic) BOOL showHomeButtonEnabled; +@property (nonatomic) BOOL passwordManagerChoiceEnabled; +@property (nonatomic) BOOL passwordManagerButtonEnabled; @property (assign, nonatomic) BOOL autoFillSettingsButtonEnabled; @property (assign, nonatomic) BOOL proxiesConfigureButtonEnabled; @property (assign, nonatomic) BOOL restoreButtonsEnabled; diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm index 7c62797..a3026f9 100644 --- a/chrome/browser/cocoa/preferences_window_controller.mm +++ b/chrome/browser/cocoa/preferences_window_controller.mm @@ -421,6 +421,8 @@ class ManagedPrefsBannerState : public ManagedPrefsBannerBase { @synthesize showHomeButtonEnabled = showHomeButtonEnabled_; @synthesize autoFillSettingsButtonEnabled = autoFillSettingsButtonEnabled_; +@synthesize passwordManagerChoiceEnabled = passwordManagerChoiceEnabled_; +@synthesize passwordManagerButtonEnabled = passwordManagerButtonEnabled_; @synthesize proxiesConfigureButtonEnabled = proxiesConfigureButtonEnabled_; @synthesize restoreButtonsEnabled = restoreButtonsEnabled_; @synthesize restoreURLsEnabled = restoreURLsEnabled_; @@ -495,6 +497,9 @@ class ManagedPrefsBannerState : public ManagedPrefsBannerBase { bool autofill_disabled_by_policy = autoFillEnabled_.IsManaged() && !autoFillEnabled_.GetValue(); [self setAutoFillSettingsButtonEnabled:!autofill_disabled_by_policy]; + [self setPasswordManagerChoiceEnabled:!askSavePasswords_.IsManaged()]; + [self setPasswordManagerButtonEnabled: + !askSavePasswords_.IsManaged() || askSavePasswords_.GetValue()]; // Initialize the proxy pref set observer. proxyPrefs_.reset( @@ -1237,6 +1242,9 @@ const int kDisabledIndex = 1; if (*prefName == prefs::kPasswordManagerEnabled) { [self setPasswordManagerEnabledIndex:askSavePasswords_.GetValue() ? kEnabledIndex : kDisabledIndex]; + [self setPasswordManagerChoiceEnabled:!askSavePasswords_.IsManaged()]; + [self setPasswordManagerButtonEnabled: + !askSavePasswords_.IsManaged() || askSavePasswords_.GetValue()]; } if (*prefName == prefs::kAutoFillEnabled) { bool autofill_disabled_by_policy = @@ -1364,18 +1372,13 @@ const int kDisabledIndex = 1; else [self recordUserAction:UserMetricsAction( "Options_PasswordManager_Disable")]; - askSavePasswords_.SetValue(value == kEnabledIndex ? true : false); + askSavePasswords_.SetValueIfNotManaged(value == kEnabledIndex ? true : false); } - (NSInteger)passwordManagerEnabledIndex { return askSavePasswords_.GetValue() ? kEnabledIndex : kDisabledIndex; } -// Returns whether the password manager buttons should be enabled. -- (BOOL)isPasswordManagerEnabled { - return !askSavePasswords_.IsManaged(); -} - - (void)setIsUsingDefaultTheme:(BOOL)value { if (value) [self recordUserAction:UserMetricsAction( diff --git a/chrome/browser/gtk/options/content_page_gtk.cc b/chrome/browser/gtk/options/content_page_gtk.cc index 66eb534..13b2cea 100644 --- a/chrome/browser/gtk/options/content_page_gtk.cc +++ b/chrome/browser/gtk/options/content_page_gtk.cc @@ -162,6 +162,14 @@ void ContentPageGtk::NotifyPrefChanged(const std::string* pref_name) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(passwords_neversave_radio_), TRUE); } + bool isPasswordManagerEnabled = !ask_to_save_passwords_.IsManaged(); + gtk_widget_set_sensitive(passwords_asktosave_radio_, + isPasswordManagerEnabled); + gtk_widget_set_sensitive(passwords_neversave_radio_, + isPasswordManagerEnabled); + gtk_widget_set_sensitive(show_passwords_button_, + isPasswordManagerEnabled || + ask_to_save_passwords_.GetValue()); } if (!pref_name || *pref_name == prefs::kAutoFillEnabled) { bool disabled_by_policy = form_autofill_enabled_.IsManaged() && @@ -229,21 +237,13 @@ GtkWidget* ContentPageGtk::InitPasswordSavingGroup() { // depend on the spacing above. GtkWidget* button_hbox = gtk_hbox_new(FALSE, gtk_util::kLabelSpacing); gtk_container_add(GTK_CONTAINER(vbox), button_hbox); - GtkWidget* show_passwords_button = gtk_button_new_with_label( + show_passwords_button_ = gtk_button_new_with_label( l10n_util::GetStringUTF8(IDS_OPTIONS_PASSWORDS_SHOWPASSWORDS).c_str()); - g_signal_connect(show_passwords_button, "clicked", + g_signal_connect(show_passwords_button_, "clicked", G_CALLBACK(OnShowPasswordsButtonClickedThunk), this); - gtk_box_pack_start(GTK_BOX(button_hbox), show_passwords_button, FALSE, + gtk_box_pack_start(GTK_BOX(button_hbox), show_passwords_button_, FALSE, FALSE, 0); - bool isPasswordManagerEnabled = !ask_to_save_passwords_.IsManaged(); - gtk_widget_set_sensitive(passwords_asktosave_radio_, - isPasswordManagerEnabled); - gtk_widget_set_sensitive(passwords_neversave_radio_, - isPasswordManagerEnabled); - gtk_widget_set_sensitive(show_passwords_button, - isPasswordManagerEnabled); - return vbox; } diff --git a/chrome/browser/gtk/options/content_page_gtk.h b/chrome/browser/gtk/options/content_page_gtk.h index 37fc39b..286e28c 100644 --- a/chrome/browser/gtk/options/content_page_gtk.h +++ b/chrome/browser/gtk/options/content_page_gtk.h @@ -68,6 +68,7 @@ class ContentPageGtk : public OptionsPageBase, // Widgets for the Password saving group. GtkWidget* passwords_asktosave_radio_; GtkWidget* passwords_neversave_radio_; + GtkWidget* show_passwords_button_; // Widgets for the AutoFill group. GtkWidget* autofill_button_; diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc index d49c024..41b9ffa 100644 --- a/chrome/browser/views/options/content_page_view.cc +++ b/chrome/browser/views/options/content_page_view.cc @@ -222,12 +222,6 @@ void ContentPageView::InitControlLayout() { profile()->GetPrefs(), this); is_using_default_theme_.Init(prefs::kCurrentThemeID, profile()->GetPrefs(), this); - - // Disable UI elements that are managed via policy. - bool enablePasswordManagerElements = !ask_to_save_passwords_.IsManaged(); - passwords_asktosave_radio_->SetEnabled(enablePasswordManagerElements); - passwords_neversave_radio_->SetEnabled(enablePasswordManagerElements); - show_passwords_button_->SetEnabled(enablePasswordManagerElements); } void ContentPageView::NotifyPrefChanged(const std::string* pref_name) { @@ -237,6 +231,13 @@ void ContentPageView::NotifyPrefChanged(const std::string* pref_name) { } else { passwords_neversave_radio_->SetChecked(true); } + + // Disable UI elements that are managed via policy. + bool enablePasswordManagerElements = !ask_to_save_passwords_.IsManaged(); + passwords_asktosave_radio_->SetEnabled(enablePasswordManagerElements); + passwords_neversave_radio_->SetEnabled(enablePasswordManagerElements); + show_passwords_button_->SetEnabled(enablePasswordManagerElements || + ask_to_save_passwords_.GetValue()); } if (!pref_name || *pref_name == prefs::kAutoFillEnabled) { bool disabled_by_policy = form_autofill_enabled_.IsManaged() && |