forked from lint/TFDidThatSay
		
	Add preferences post notification
This commit is contained in:
		| @ -7,10 +7,14 @@ | |||||||
| 		<dict> | 		<dict> | ||||||
| 			<key>cell</key> | 			<key>cell</key> | ||||||
| 			<string>PSGroupCell</string> | 			<string>PSGroupCell</string> | ||||||
|  | 			<key>footerText</key> | ||||||
|  | 			<string>To enable/disable, restart the app.</string> | ||||||
| 			<key>label</key> | 			<key>label</key> | ||||||
| 			<string>Enabled</string> | 			<string>Enabled</string> | ||||||
| 		</dict> | 		</dict> | ||||||
| 		<dict> | 		<dict> | ||||||
|  | 			<key>PostNotification</key> | ||||||
|  | 			<string>com.lint.undelete.prefs.changed</string> | ||||||
| 			<key>cell</key> | 			<key>cell</key> | ||||||
| 			<string>PSSwitchCell</string> | 			<string>PSSwitchCell</string> | ||||||
| 			<key>default</key> | 			<key>default</key> | ||||||
| @ -23,6 +27,8 @@ | |||||||
| 			<string>Enable Reddit</string> | 			<string>Enable Reddit</string> | ||||||
| 		</dict> | 		</dict> | ||||||
| 		<dict> | 		<dict> | ||||||
|  | 			<key>PostNotification</key> | ||||||
|  | 			<string>com.lint.undelete.prefs.changed</string> | ||||||
| 			<key>cell</key> | 			<key>cell</key> | ||||||
| 			<string>PSSwitchCell</string> | 			<string>PSSwitchCell</string> | ||||||
| 			<key>default</key> | 			<key>default</key> | ||||||
| @ -35,6 +41,8 @@ | |||||||
| 			<string>Enable Apollo</string> | 			<string>Enable Apollo</string> | ||||||
| 		</dict> | 		</dict> | ||||||
| 		<dict> | 		<dict> | ||||||
|  | 			<key>PostNotification</key> | ||||||
|  | 			<string>com.lint.undelete.prefs.changed</string> | ||||||
| 			<key>cell</key> | 			<key>cell</key> | ||||||
| 			<string>PSSwitchCell</string> | 			<string>PSSwitchCell</string> | ||||||
| 			<key>default</key> | 			<key>default</key> | ||||||
| @ -53,6 +61,8 @@ | |||||||
| 			<string>Apollo </string> | 			<string>Apollo </string> | ||||||
| 		</dict> | 		</dict> | ||||||
| 		<dict> | 		<dict> | ||||||
|  | 			<key>PostNotification</key> | ||||||
|  | 			<string>com.lint.undelete.prefs.changed</string> | ||||||
| 			<key>cell</key> | 			<key>cell</key> | ||||||
| 			<string>PSSwitchCell</string> | 			<string>PSSwitchCell</string> | ||||||
| 			<key>default</key> | 			<key>default</key> | ||||||
| @ -75,6 +85,8 @@ | |||||||
| 			<string>Request timeout (seconds)</string> | 			<string>Request timeout (seconds)</string> | ||||||
| 		</dict> | 		</dict> | ||||||
| 		<dict> | 		<dict> | ||||||
|  | 			<key>PostNotification</key> | ||||||
|  | 			<string>com.lint.undelete.prefs.changed</string> | ||||||
| 			<key>cell</key> | 			<key>cell</key> | ||||||
| 			<string>PSSliderCell</string> | 			<string>PSSliderCell</string> | ||||||
| 			<key>default</key> | 			<key>default</key> | ||||||
| @ -90,12 +102,6 @@ | |||||||
| 			<key>showValue</key> | 			<key>showValue</key> | ||||||
| 			<true/> | 			<true/> | ||||||
| 		</dict> | 		</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> | 	</array> | ||||||
| 	<key>title</key> | 	<key>title</key> | ||||||
| 	<string>TFDidThatSay?</string> | 	<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 { | %ctor { | ||||||
| 	loadPrefs(); | 	loadPrefs(); | ||||||
| @ -273,6 +277,9 @@ static void loadPrefs(){ | |||||||
| 	 | 	 | ||||||
| 	if ([processName isEqualToString:@"Apollo"]){ | 	if ([processName isEqualToString:@"Apollo"]){ | ||||||
| 		if (isApolloEnabled){ | 		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")); | 			%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 { | %ctor { | ||||||
| 	loadPrefs(); | 	loadPrefs(); | ||||||
| @ -243,6 +247,9 @@ static void loadPrefs(){ | |||||||
|  |  | ||||||
| 	if ([processName isEqualToString:@"narwhal"]){		 | 	if ([processName isEqualToString:@"narwhal"]){		 | ||||||
| 		if (isNarwhalEnabled){ | 		if (isNarwhalEnabled){ | ||||||
|  | 			 | ||||||
|  | 			CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, prefsChanged, CFSTR("com.lint.undelete.prefs.changed"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); | ||||||
|  | 			 | ||||||
| 			%init(Narwhal); | 			%init(Narwhal); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
| static CGFloat pushshiftRequestTimeoutValue; | static CGFloat pushshiftRequestTimeoutValue; | ||||||
| static BOOL isRedditEnabled; | static BOOL isRedditEnabled; | ||||||
|  |  | ||||||
| NSArray *redditVersion; | static NSArray *redditVersion; | ||||||
|  |  | ||||||
| %group Reddit_v4_current | %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{ | %ctor{ | ||||||
| 	loadPrefs(); | 	loadPrefs(); | ||||||
| @ -742,7 +746,10 @@ static void loadPrefs(){ | |||||||
| 	redditVersion = [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] componentsSeparatedByString:@"."]; | 	redditVersion = [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] componentsSeparatedByString:@"."]; | ||||||
| 	 | 	 | ||||||
| 	if ([processName isEqualToString:@"Reddit"]){ | 	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[0] isEqualToString:@"4"]){ | ||||||
| 				if ([redditVersion[1] integerValue] <= 32){ | 				if ([redditVersion[1] integerValue] <= 32){ | ||||||
| 					%init(Reddit_v4_ios10); | 					%init(Reddit_v4_ios10); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user