mirror of
https://github.com/lint/TFDidThatSay
synced 2025-07-01 23:46:47 +00:00
Improve preferences
This commit is contained in:
@ -4,6 +4,48 @@
|
||||
<dict>
|
||||
<key>items</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
<key>label</key>
|
||||
<string>Enabled</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.lint.undelete.prefs</string>
|
||||
<key>key</key>
|
||||
<string>isRedditEnabled</string>
|
||||
<key>label</key>
|
||||
<string>Enable Reddit</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.lint.undelete.prefs</string>
|
||||
<key>key</key>
|
||||
<string>isApolloEnabled</string>
|
||||
<key>label</key>
|
||||
<string>Enable Apollo</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSSwitchCell</string>
|
||||
<key>default</key>
|
||||
<true/>
|
||||
<key>defaults</key>
|
||||
<string>com.lint.undelete.prefs</string>
|
||||
<key>key</key>
|
||||
<string>isNarwhalEnabled</string>
|
||||
<key>label</key>
|
||||
<string>Enable Narwhal</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>cell</key>
|
||||
<string>PSGroupCell</string>
|
||||
@ -48,6 +90,12 @@
|
||||
<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>
|
||||
|
@ -1,10 +1,9 @@
|
||||
|
||||
#import <Cephei/HBPreferences.h>
|
||||
#import "Apollo.h"
|
||||
|
||||
HBPreferences *apolloPrefs;
|
||||
BOOL isApolloDeletedCommentsOnly;
|
||||
CGFloat apolloRequestTimeoutValue;
|
||||
static BOOL isApolloDeletedCommentsOnly;
|
||||
static BOOL isApolloEnabled;
|
||||
static CGFloat pushshiftRequestTimeoutValue;
|
||||
|
||||
%group Apollo
|
||||
|
||||
@ -54,7 +53,7 @@ NSDictionary* apolloBodyAttributes = nil;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/comment/?ids=%@&fields=author,body",[[comment fullName] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[apolloPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -97,9 +96,7 @@ NSDictionary* apolloBodyAttributes = nil;
|
||||
|
||||
id commentBody = [MSHookIvar<id>(self, "comment") body];
|
||||
|
||||
BOOL isDeletedOnly = [apolloPrefs boolForKey:@"isApolloDeletedCommentsOnly"];
|
||||
|
||||
if ((isDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isDeletedOnly) {
|
||||
if ((isApolloDeletedCommentsOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isApolloDeletedCommentsOnly) {
|
||||
|
||||
CGFloat imageSize = 20.0f;
|
||||
|
||||
@ -157,7 +154,7 @@ NSDictionary* apolloBodyAttributes = nil;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/submission/?ids=%@&fields=author,selftext",[[post fullName] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[apolloPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -238,15 +235,45 @@ NSDictionary* apolloBodyAttributes = nil;
|
||||
%end
|
||||
|
||||
|
||||
%ctor {
|
||||
static void loadPrefs(){
|
||||
NSMutableDictionary *prefs = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/User/Library/Preferences/com.lint.undelete.prefs.plist"];
|
||||
|
||||
apolloPrefs = [[HBPreferences alloc] initWithIdentifier:@"com.lint.undelete.prefs"];
|
||||
[apolloPrefs registerBool:&isApolloDeletedCommentsOnly default:YES forKey:@"isApolloDeletedCommentsOnly"];
|
||||
[apolloPrefs registerDouble:&apolloRequestTimeoutValue default:10 forKey:@"requestTimeoutValue"];
|
||||
if (prefs){
|
||||
|
||||
if ([prefs objectForKey:@"isApolloEnabled"] != nil) {
|
||||
isApolloEnabled = [[prefs objectForKey:@"isApolloEnabled"] boolValue];
|
||||
} else {
|
||||
isApolloEnabled = YES;
|
||||
}
|
||||
|
||||
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
|
||||
pushshiftRequestTimeoutValue = [[prefs objectForKey:@"requestTimeoutValue"] doubleValue];
|
||||
} else {
|
||||
pushshiftRequestTimeoutValue = 10;
|
||||
}
|
||||
|
||||
if ([prefs objectForKey:@"isApolloDeletedCommentsOnly"] != nil) {
|
||||
isApolloDeletedCommentsOnly = [[prefs objectForKey:@"isApolloDeletedCommentsOnly"] boolValue];
|
||||
} else {
|
||||
isApolloDeletedCommentsOnly = YES;
|
||||
}
|
||||
|
||||
} else {
|
||||
isApolloEnabled = YES;
|
||||
pushshiftRequestTimeoutValue = 10;
|
||||
isApolloDeletedCommentsOnly = YES;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
%ctor {
|
||||
loadPrefs();
|
||||
|
||||
NSString* processName = [[NSProcessInfo processInfo] processName];
|
||||
|
||||
if ([processName isEqualToString:@"Apollo"]){
|
||||
%init(Apollo, ApolloCommentsHeaderCellNode = objc_getClass("Apollo.CommentsHeaderCellNode"), ApolloCommentCellNode = objc_getClass("Apollo.CommentCellNode"), ApolloApolloButtonNode = objc_getClass("Apollo.ApolloButtonNode"));
|
||||
if (isApolloEnabled){
|
||||
%init(Apollo, ApolloCommentsHeaderCellNode = objc_getClass("Apollo.CommentsHeaderCellNode"), ApolloCommentCellNode = objc_getClass("Apollo.CommentCellNode"), ApolloApolloButtonNode = objc_getClass("Apollo.ApolloButtonNode"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
|
||||
#import <Cephei/HBPreferences.h>
|
||||
#import "Narwhal.h"
|
||||
|
||||
HBPreferences *narwhalPrefs;
|
||||
CGFloat narwhalRequestTimeoutValue;
|
||||
static BOOL isNarwhalEnabled;
|
||||
static CGFloat pushshiftRequestTimeoutValue;
|
||||
|
||||
%group Narwhal
|
||||
|
||||
@ -18,7 +17,7 @@ void getUndeleteCommentData(id controller, id comment){
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/comment/?ids=%@&fields=author,body",[[comment fullName] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[narwhalPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -112,7 +111,7 @@ void getUndeleteCommentData(id controller, id comment){
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/submission/?ids=%@&fields=author,selftext",[[post fullName] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[narwhalPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -212,15 +211,40 @@ void getUndeleteCommentData(id controller, id comment){
|
||||
|
||||
%end
|
||||
|
||||
%ctor {
|
||||
|
||||
static void loadPrefs(){
|
||||
NSMutableDictionary *prefs = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/User/Library/Preferences/com.lint.undelete.prefs.plist"];
|
||||
|
||||
narwhalPrefs = [[HBPreferences alloc] initWithIdentifier:@"com.lint.undelete.prefs"];
|
||||
[narwhalPrefs registerDouble:&narwhalRequestTimeoutValue default:10 forKey:@"requestTimeoutValue"];
|
||||
if (prefs){
|
||||
|
||||
if ([prefs objectForKey:@"isNarwhalEnabled"] != nil){
|
||||
isNarwhalEnabled = [[prefs objectForKey:@"isNarwhalEnabled"] boolValue];
|
||||
} else {
|
||||
isNarwhalEnabled = YES;
|
||||
}
|
||||
|
||||
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
|
||||
pushshiftRequestTimeoutValue = [[prefs objectForKey:@"requestTimeoutValue"] doubleValue];
|
||||
} else {
|
||||
pushshiftRequestTimeoutValue = 10;
|
||||
}
|
||||
|
||||
} else {
|
||||
isNarwhalEnabled = YES;
|
||||
pushshiftRequestTimeoutValue = 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
%ctor {
|
||||
loadPrefs();
|
||||
|
||||
NSString* processName = [[NSProcessInfo processInfo] processName];
|
||||
|
||||
if ([processName isEqualToString:@"narwhal"]){
|
||||
%init(Narwhal);
|
||||
if ([processName isEqualToString:@"narwhal"]){
|
||||
if (isNarwhalEnabled){
|
||||
%init(Narwhal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
|
||||
#import <Cephei/HBPreferences.h>
|
||||
#import "Reddit.h"
|
||||
|
||||
HBPreferences *redditPrefs;
|
||||
CGFloat redditRequestTimeoutValue;
|
||||
static CGFloat pushshiftRequestTimeoutValue;
|
||||
static BOOL isRedditEnabled;
|
||||
|
||||
NSArray *redditVersion;
|
||||
|
||||
@ -78,7 +77,7 @@ NSArray *redditVersion;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/comment/?ids=%@&fields=author,body",[[comment pk] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[redditPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -223,7 +222,7 @@ NSArray *redditVersion;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/submission/?ids=%@&fields=author,selftext",[[post pk] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[redditPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -379,7 +378,7 @@ NSArray *redditVersion;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/comment/?ids=%@&fields=author,body",[[comment pk] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[redditPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -432,7 +431,7 @@ NSArray *redditVersion;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/comment/?ids=%@&fields=author,body",[[comment pk] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[redditPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -523,7 +522,7 @@ NSArray *redditVersion;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/submission/?ids=%@&fields=author,selftext",[[post pk] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[redditPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -579,7 +578,7 @@ NSArray *redditVersion;
|
||||
|
||||
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.pushshift.io/reddit/search/submission/?ids=%@&fields=author,selftext",[[post pk] componentsSeparatedByString:@"_"][1]]]];
|
||||
[request setHTTPMethod:@"GET"];
|
||||
[request setTimeoutInterval:[redditPrefs doubleForKey:@"requestTimeoutValue" default:10]];
|
||||
[request setTimeoutInterval:pushshiftRequestTimeoutValue];
|
||||
|
||||
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
|
||||
|
||||
@ -712,25 +711,47 @@ NSArray *redditVersion;
|
||||
%end
|
||||
|
||||
|
||||
static void loadPrefs(){
|
||||
NSMutableDictionary *prefs = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/User/Library/Preferences/com.lint.undelete.prefs.plist"];
|
||||
|
||||
if (prefs){
|
||||
|
||||
if ([prefs objectForKey:@"isRedditEnabled"] != nil){
|
||||
isRedditEnabled = [[prefs objectForKey:@"isRedditEnabled"] boolValue];
|
||||
} else {
|
||||
isRedditEnabled = YES;
|
||||
}
|
||||
|
||||
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
|
||||
pushshiftRequestTimeoutValue = [[prefs objectForKey:@"requestTimeoutValue"] doubleValue];
|
||||
} else {
|
||||
pushshiftRequestTimeoutValue = 10;
|
||||
}
|
||||
|
||||
} else {
|
||||
isRedditEnabled = YES;
|
||||
pushshiftRequestTimeoutValue = 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
%ctor{
|
||||
|
||||
redditPrefs = [[HBPreferences alloc] initWithIdentifier:@"com.lint.undelete.prefs"];
|
||||
[redditPrefs registerDouble:&redditRequestTimeoutValue default:10 forKey:@"requestTimeoutValue"];
|
||||
loadPrefs();
|
||||
|
||||
NSString* processName = [[NSProcessInfo processInfo] processName];
|
||||
redditVersion = [[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] componentsSeparatedByString:@"."];
|
||||
|
||||
if ([processName isEqualToString:@"Reddit"]){
|
||||
if ([redditVersion[0] isEqualToString:@"4"]){
|
||||
if ([redditVersion[1] integerValue] <= 32){
|
||||
%init(Reddit_v4_ios10);
|
||||
} else{
|
||||
%init(Reddit_v4_current);
|
||||
}
|
||||
} else if ([redditVersion[0] isEqualToString:@"3"]) {
|
||||
%init(Reddit_v3);
|
||||
if ([processName isEqualToString:@"Reddit"]){
|
||||
if (isRedditEnabled) {
|
||||
if ([redditVersion[0] isEqualToString:@"4"]){
|
||||
if ([redditVersion[1] integerValue] <= 32){
|
||||
%init(Reddit_v4_ios10);
|
||||
} else{
|
||||
%init(Reddit_v4_current);
|
||||
}
|
||||
} else if ([redditVersion[0] isEqualToString:@"3"]) {
|
||||
%init(Reddit_v3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user