aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomáš Znamenáček2014-08-05 16:42:31 +0200
committerTomáš Znamenáček2015-01-07 15:27:51 +0100
commit1cebcd3acf013b2b09087750e79dda7b90e93b5f (patch)
treeef156d8287a1978ff167e8542732904f72047d56
parentfdc9e250fd320ef176d0a9c90e36d28e11d91b60 (diff)
downloadMASShortcut-1cebcd3acf013b2b09087750e79dda7b90e93b5f.tar.bz2
Removed -data and shortcutWithData: from MASShortcut.
Using NSKeyedUnarchiver and NSKeyedArchiver directly is almost the same amount of typing and it’s much clearer what goes on.
-rw-r--r--Framework/MASShortcut+UserDefaults.m4
-rw-r--r--Framework/MASShortcut.h2
-rw-r--r--Framework/MASShortcut.m11
-rw-r--r--Framework/MASShortcutView+UserDefaults.m6
4 files changed, 5 insertions, 18 deletions
diff --git a/Framework/MASShortcut+UserDefaults.m b/Framework/MASShortcut+UserDefaults.m
index 94b035d..006c579 100644
--- a/Framework/MASShortcut+UserDefaults.m
+++ b/Framework/MASShortcut+UserDefaults.m
@@ -39,7 +39,7 @@
+ (void)setGlobalShortcut:(MASShortcut *)shortcut forUserDefaultsKey:(NSString *)userDefaultsKey
{
- NSData *shortcutData = shortcut.data;
+ NSData *shortcutData = [NSArchiver archivedDataWithRootObject:shortcut];
if (shortcutData)
[[NSUserDefaults standardUserDefaults] setObject:shortcutData forKey:userDefaultsKey];
else
@@ -90,7 +90,7 @@ void *MASShortcutUserDefaultsContext = &MASShortcutUserDefaultsContext;
- (void)installHotKeyFromUserDefaults
{
NSData *data = [[NSUserDefaults standardUserDefaults] dataForKey:_userDefaultsKey];
- MASShortcut *shortcut = [MASShortcut shortcutWithData:data];
+ MASShortcut *shortcut = [NSKeyedUnarchiver unarchiveObjectWithData:data];
if (shortcut == nil) return;
self.monitor = [MASShortcut addGlobalHotkeyMonitorWithShortcut:shortcut handler:self.handler];
}
diff --git a/Framework/MASShortcut.h b/Framework/MASShortcut.h
index 6873dd9..aa3dfb0 100644
--- a/Framework/MASShortcut.h
+++ b/Framework/MASShortcut.h
@@ -9,12 +9,10 @@
@property (nonatomic, readonly) NSString *keyCodeString;
@property (nonatomic, readonly) NSString *keyCodeStringForKeyEquivalent;
@property (nonatomic, readonly) NSString *modifierFlagsString;
-@property (nonatomic, readonly) NSData *data;
- (instancetype)initWithKeyCode:(NSUInteger)code modifierFlags:(NSUInteger)flags;
+ (instancetype)shortcutWithKeyCode:(NSUInteger)code modifierFlags:(NSUInteger)flags;
+ (instancetype)shortcutWithEvent:(NSEvent *)anEvent;
-+ (instancetype)shortcutWithData:(NSData *)aData;
@end
diff --git a/Framework/MASShortcut.m b/Framework/MASShortcut.m
index 5109a1f..20d4c11 100644
--- a/Framework/MASShortcut.m
+++ b/Framework/MASShortcut.m
@@ -52,19 +52,8 @@ static NSString *const MASShortcutModifierFlags = @"ModifierFlags";
return [[self alloc] initWithKeyCode:event.keyCode modifierFlags:event.modifierFlags];
}
-+ (instancetype)shortcutWithData:(NSData *)data
-{
- id shortcut = (data ? [NSKeyedUnarchiver unarchiveObjectWithData:data] : nil);
- return shortcut;
-}
-
#pragma mark - Shortcut accessors
-- (NSData *)data
-{
- return [NSKeyedArchiver archivedDataWithRootObject:self];
-}
-
- (void)setModifierFlags:(NSUInteger)value
{
_modifierFlags = MASPickCocoaModifiers(value);
diff --git a/Framework/MASShortcutView+UserDefaults.m b/Framework/MASShortcutView+UserDefaults.m
index a84f0c9..55584f4 100644
--- a/Framework/MASShortcutView+UserDefaults.m
+++ b/Framework/MASShortcutView+UserDefaults.m
@@ -72,7 +72,7 @@ void *kShortcutValueObserver = &kShortcutValueObserver;
// Read initial shortcut value from user preferences
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults dataForKey:_userDefaultsKey];
- _shortcutView.shortcutValue = [MASShortcut shortcutWithData:data];
+ _shortcutView.shortcutValue = [NSKeyedUnarchiver unarchiveObjectWithData:data];
// Observe user preferences to update shortcut value when it changed
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDefaultsDidChange:) name:NSUserDefaultsDidChangeNotification object:defaults];
@@ -88,7 +88,7 @@ void *kShortcutValueObserver = &kShortcutValueObserver;
_internalShortcutChange = YES;
NSData *data = [note.object dataForKey:_userDefaultsKey];
- _shortcutView.shortcutValue = [MASShortcut shortcutWithData:data];
+ _shortcutView.shortcutValue = [NSKeyedUnarchiver unarchiveObjectWithData:data];
_internalShortcutChange = NO;
}
@@ -112,7 +112,7 @@ void *kShortcutValueObserver = &kShortcutValueObserver;
_internalPreferenceChange = YES;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- [defaults setObject:(shortcut.data ?: [NSKeyedArchiver archivedDataWithRootObject:nil]) forKey:_userDefaultsKey];
+ [defaults setObject:[NSKeyedArchiver archivedDataWithRootObject:shortcut] forKey:_userDefaultsKey];
[defaults synchronize];
_internalPreferenceChange = NO;