diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 03:25:43 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 03:25:43 +0000 |
commit | b3e83201cd1baff83b3662a4c2a196da36d774a0 (patch) | |
tree | 37359d930d253acdc8aadd585656d2365cba5a0d /chrome/browser/cocoa | |
parent | bb725dc739b494b0ca088ec52ea97381a384a0fa (diff) | |
download | chromium_src-b3e83201cd1baff83b3662a4c2a196da36d774a0.zip chromium_src-b3e83201cd1baff83b3662a4c2a196da36d774a0.tar.gz chromium_src-b3e83201cd1baff83b3662a4c2a196da36d774a0.tar.bz2 |
[Mac] Added (disabled) UI for extensions sync on OS X.
SyncCustomize.xib changes: Added checkbox for extensions and hooked it up
via KVO to SyncCustomizeController.
BUG=32413
TEST=manual
Review URL: http://codereview.chromium.org/2714006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49360 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa')
-rw-r--r-- | chrome/browser/cocoa/sync_customize_controller.h | 4 | ||||
-rw-r--r-- | chrome/browser/cocoa/sync_customize_controller.mm | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/chrome/browser/cocoa/sync_customize_controller.h b/chrome/browser/cocoa/sync_customize_controller.h index 32f626e..da22203 100644 --- a/chrome/browser/cocoa/sync_customize_controller.h +++ b/chrome/browser/cocoa/sync_customize_controller.h @@ -28,6 +28,7 @@ class ProfileSyncService; BOOL preferencesRegistered_; BOOL autofillRegistered_; BOOL themesRegistered_; + BOOL extensionsRegistered_; // The preferred flags indicate which model types the user would // like to sync. @@ -35,6 +36,7 @@ class ProfileSyncService; BOOL preferencesPreferred_; BOOL autofillPreferred_; BOOL themesPreferred_; + BOOL extensionsPreferred_; } // syncService cannot be NULL. @@ -54,11 +56,13 @@ class ProfileSyncService; @property(assign) BOOL preferencesRegistered; @property(assign) BOOL autofillRegistered; @property(assign) BOOL themesRegistered; +@property(assign) BOOL extensionsRegistered; @property(assign) BOOL bookmarksPreferred; @property(assign) BOOL preferencesPreferred; @property(assign) BOOL autofillPreferred; @property(assign) BOOL themesPreferred; +@property(assign) BOOL extensionsPreferred; @property(readonly) BOOL okEnabled; diff --git a/chrome/browser/cocoa/sync_customize_controller.mm b/chrome/browser/cocoa/sync_customize_controller.mm index 5ceface..9bb7cfe 100644 --- a/chrome/browser/cocoa/sync_customize_controller.mm +++ b/chrome/browser/cocoa/sync_customize_controller.mm @@ -22,6 +22,7 @@ @synthesize preferencesRegistered = preferencesRegistered_; @synthesize autofillRegistered = autofillRegistered_; @synthesize themesRegistered = themesRegistered_; +@synthesize extensionsRegistered = extensionsRegistered_; // If you add another ***Preferred variable, you must update okEnabled and // keyPathsForValuesAffectingOkEnabled below. @@ -29,19 +30,21 @@ @synthesize preferencesPreferred = preferencesPreferred_; @synthesize autofillPreferred = autofillPreferred_; @synthesize themesPreferred = themesPreferred_; +@synthesize extensionsPreferred = extensionsPreferred_; // The OK button should be clickable if and only if there's at least one // datatype chosen to sync. - (BOOL)okEnabled { return bookmarksPreferred_ || preferencesPreferred_ || autofillPreferred_ || - themesPreferred_; + themesPreferred_ || extensionsPreferred_; } // Naming convention; makes okEnabled get updated whenever any of the below // "Preferred" variables are updated. + (NSSet*)keyPathsForValuesAffectingOkEnabled { return [NSSet setWithObjects:@"bookmarksPreferred", @"preferencesPreferred", - @"autofillPreferred", @"themesPreferred", nil]; + @"autofillPreferred", @"themesPreferred", + @"extensionsPreferred", nil]; } - (id)initWithProfileSyncService:(ProfileSyncService*)syncService { @@ -100,6 +103,7 @@ syncable::PREFERENCES, syncable::AUTOFILL, syncable::THEMES, + syncable::EXTENSIONS, }; DCHECK(std::includes(expected_types, expected_types + arraysize(expected_types), @@ -114,6 +118,8 @@ syncable::AUTOFILL)]; [self setThemesRegistered:ContainsKey(registered_types, syncable::THEMES)]; + [self setExtensionsRegistered:ContainsKey(registered_types, + syncable::EXTENSIONS)]; syncable::ModelTypeSet preferred_types; syncService_->GetPreferredDataTypes(&preferred_types); @@ -128,6 +134,8 @@ syncable::AUTOFILL)]; [self setThemesPreferred:ContainsKey(preferred_types, syncable::THEMES)]; + [self setExtensionsPreferred:ContainsKey(preferred_types, + syncable::EXTENSIONS)]; } - (void)windowWillClose:(NSNotification*)notification { @@ -158,6 +166,9 @@ if ([self themesPreferred]) { preferred_types.insert(syncable::THEMES); } + if ([self extensionsPreferred]) { + preferred_types.insert(syncable::EXTENSIONS); + } syncService_->ChangePreferredDataTypes(preferred_types); [self endSheet]; } |