forked from lint/TFDidThatSay
		
	Add preferences post notification
This commit is contained in:
		| @ -7,10 +7,14 @@ | ||||
| 		<dict> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSGroupCell</string> | ||||
| 			<key>footerText</key> | ||||
| 			<string>To enable/disable, restart the app.</string> | ||||
| 			<key>label</key> | ||||
| 			<string>Enabled</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>PostNotification</key> | ||||
| 			<string>com.lint.undelete.prefs.changed</string> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSSwitchCell</string> | ||||
| 			<key>default</key> | ||||
| @ -23,6 +27,8 @@ | ||||
| 			<string>Enable Reddit</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>PostNotification</key> | ||||
| 			<string>com.lint.undelete.prefs.changed</string> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSSwitchCell</string> | ||||
| 			<key>default</key> | ||||
| @ -35,6 +41,8 @@ | ||||
| 			<string>Enable Apollo</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>PostNotification</key> | ||||
| 			<string>com.lint.undelete.prefs.changed</string> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSSwitchCell</string> | ||||
| 			<key>default</key> | ||||
| @ -53,6 +61,8 @@ | ||||
| 			<string>Apollo </string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>PostNotification</key> | ||||
| 			<string>com.lint.undelete.prefs.changed</string> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSSwitchCell</string> | ||||
| 			<key>default</key> | ||||
| @ -75,6 +85,8 @@ | ||||
| 			<string>Request timeout (seconds)</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>PostNotification</key> | ||||
| 			<string>com.lint.undelete.prefs.changed</string> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSSliderCell</string> | ||||
| 			<key>default</key> | ||||
| @ -90,12 +102,6 @@ | ||||
| 			<key>showValue</key> | ||||
| 			<true/> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>cell</key> | ||||
| 			<string>PSGroupCell</string> | ||||
| 			<key>footerText</key> | ||||
| 			<string>In order to apply preferences, restart the app. If changes do not immediately take effect, wait a few seconds and try again.</string> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>title</key> | ||||
| 	<string>TFDidThatSay?</string> | ||||
|  | ||||
| @ -265,6 +265,10 @@ static void loadPrefs(){ | ||||
| 	}	 | ||||
| } | ||||
|  | ||||
| static void prefsChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { | ||||
|   loadPrefs(); | ||||
| } | ||||
|  | ||||
|  | ||||
| %ctor { | ||||
| 	loadPrefs(); | ||||
| @ -273,6 +277,9 @@ static void loadPrefs(){ | ||||
| 	 | ||||
| 	if ([processName isEqualToString:@"Apollo"]){ | ||||
| 		if (isApolloEnabled){ | ||||
| 			 | ||||
| 			CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, prefsChanged, CFSTR("com.lint.undelete.prefs.changed"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); | ||||
| 			 | ||||
| 			%init(Apollo, ApolloCommentsHeaderCellNode = objc_getClass("Apollo.CommentsHeaderCellNode"), ApolloCommentCellNode = objc_getClass("Apollo.CommentCellNode"), ApolloApolloButtonNode = objc_getClass("Apollo.ApolloButtonNode")); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @ -235,6 +235,10 @@ static void loadPrefs(){ | ||||
| 	}	 | ||||
| } | ||||
|  | ||||
| static void prefsChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { | ||||
|   loadPrefs(); | ||||
| } | ||||
|  | ||||
|  | ||||
| %ctor { | ||||
| 	loadPrefs(); | ||||
| @ -243,6 +247,9 @@ static void loadPrefs(){ | ||||
|  | ||||
| 	if ([processName isEqualToString:@"narwhal"]){		 | ||||
| 		if (isNarwhalEnabled){ | ||||
| 			 | ||||
| 			CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, prefsChanged, CFSTR("com.lint.undelete.prefs.changed"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); | ||||
| 			 | ||||
| 			%init(Narwhal); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
| static CGFloat pushshiftRequestTimeoutValue; | ||||
| static BOOL isRedditEnabled; | ||||
|  | ||||
| NSArray *redditVersion; | ||||
| static NSArray *redditVersion; | ||||
|  | ||||
| %group Reddit_v4_current | ||||
|  | ||||
| @ -734,6 +734,10 @@ static void loadPrefs(){ | ||||
| 	} | ||||
| } | ||||
|  | ||||
| static void prefsChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { | ||||
|   loadPrefs(); | ||||
| } | ||||
|  | ||||
|  | ||||
| %ctor{ | ||||
| 	loadPrefs(); | ||||
| @ -742,7 +746,10 @@ static void loadPrefs(){ | ||||
| 	redditVersion = [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] componentsSeparatedByString:@"."]; | ||||
| 	 | ||||
| 	if ([processName isEqualToString:@"Reddit"]){ | ||||
| 		if (isRedditEnabled) {			 | ||||
| 		if (isRedditEnabled) { | ||||
|  | ||||
| 			CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, prefsChanged, CFSTR("com.lint.undelete.prefs.changed"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); | ||||
| 			 | ||||
| 			if ([redditVersion[0] isEqualToString:@"4"]){ | ||||
| 				if ([redditVersion[1] integerValue] <= 32){ | ||||
| 					%init(Reddit_v4_ios10); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user