diff --git a/prefs/Resources/Root.plist b/prefs/Resources/Root.plist
index 933eab0..54b355d 100644
--- a/prefs/Resources/Root.plist
+++ b/prefs/Resources/Root.plist
@@ -100,7 +100,7 @@
cell
PSGroupCell
footerText
- On apps that have an eye button rather than an option in the menu, enable or disable that button from appearing on only deleted comments/posts.
+ Enable or disable undelete option appearing only on deleted/removed comments and posts.
label
visibility
@@ -114,51 +114,9 @@
defaults
com.lint.undelete.prefs
key
- isApolloDeletedCommentsOnly
+ isTFDeletedOnly
label
- Apollo | Deleted only
-
-
- PostNotification
- com.lint.undelete.prefs.changed
- cell
- PSSwitchCell
- default
-
- defaults
- com.lint.undelete.prefs
- key
- isAlienBlueDeletedOnly
- label
- Alien Blue | Deleted only
-
-
- PostNotification
- com.lint.undelete.prefs.changed
- cell
- PSSwitchCell
- default
-
- defaults
- com.lint.undelete.prefs
- key
- isSlideDeletedOnly
- label
- Slide | Deleted only
-
-
- PostNotification
- com.lint.undelete.prefs.changed
- cell
- PSSwitchCell
- default
-
- defaults
- com.lint.undelete.prefs
- key
- isBaconReaderDeletedOnly
- label
- BaconReader | Deleted only
+ Deleted comments/posts only
cell
diff --git a/tweak/AlienBlue.xm b/tweak/AlienBlue.xm
index 27adbd6..aa00663 100644
--- a/tweak/AlienBlue.xm
+++ b/tweak/AlienBlue.xm
@@ -3,7 +3,7 @@
#import "assets/MMMarkdown.h"
static BOOL isAlienBlueEnabled;
-static BOOL isAlienBlueDeletedOnly;
+static BOOL isTFDeletedOnly;
static CGFloat pushshiftRequestTimeoutValue;
%group AlienBlue
@@ -21,7 +21,7 @@ static CGFloat pushshiftRequestTimeoutValue;
body = [[(CommentNode *)arg1 comment] body];
}
- if ((isAlienBlueDeletedOnly && ([body isEqualToString:@"[deleted]"] || [body isEqualToString:@"[removed]"])) || !isAlienBlueDeletedOnly) {
+ if ((isTFDeletedOnly && ([body isEqualToString:@"[deleted]"] || [body isEqualToString:@"[removed]"])) || !isTFDeletedOnly) {
CGSize refSize = [[self buttons][0] frame].size;
@@ -158,10 +158,10 @@ static void loadPrefs(){
isAlienBlueEnabled = YES;
}
- if ([prefs objectForKey:@"isAlienBlueDeletedOnly"] != nil){
- isAlienBlueDeletedOnly = [[prefs objectForKey:@"isAlienBlueDeletedOnly"] boolValue];
+ if ([prefs objectForKey:@"isTFDeletedOnly"] != nil){
+ isTFDeletedOnly = [[prefs objectForKey:@"isTFDeletedOnly"] boolValue];
} else {
- isAlienBlueDeletedOnly = YES;
+ isTFDeletedOnly = YES;
}
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
@@ -172,7 +172,7 @@ static void loadPrefs(){
} else {
isAlienBlueEnabled = YES;
- isAlienBlueDeletedOnly = YES;
+ isTFDeletedOnly = YES;
pushshiftRequestTimeoutValue = 10;
}
}
diff --git a/tweak/Apollo.xm b/tweak/Apollo.xm
index cb70230..b183996 100644
--- a/tweak/Apollo.xm
+++ b/tweak/Apollo.xm
@@ -1,7 +1,7 @@
#import "Apollo.h"
-static BOOL isApolloDeletedCommentsOnly;
+static BOOL isTFDeletedOnly;
static BOOL isApolloEnabled;
static CGFloat pushshiftRequestTimeoutValue;
@@ -96,7 +96,7 @@ NSDictionary* apolloBodyAttributes = nil;
id commentBody = [MSHookIvar(self, "comment") body];
- if ((isApolloDeletedCommentsOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isApolloDeletedCommentsOnly) {
+ if ((isTFDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly) {
CGFloat imageSize = 20.0f;
@@ -190,27 +190,30 @@ NSDictionary* apolloBodyAttributes = nil;
[bodyNode setAttributedString:[%c(MarkdownRenderer) attributedStringFromMarkdown:body withAttributes:apolloBodyAttributes]];
[sender setEnabled:YES];
-
}];
-
}
-(void) didLoad{
%orig;
+
+ id post = MSHookIvar(self, "link");
+ id postBody = [post selfText];
- if ([MSHookIvar(self, "link") isSelfPost]){
-
- CGFloat imageSize = 20.0f;
+ if ([post isSelfPost]){
+ if ((isTFDeletedOnly && ([postBody isEqualToString:@"[deleted]"] || [postBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly) {
- UIButton *undeleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
- [undeleteButton addTarget:self action:@selector(didTapUndeleteButton:) forControlEvents:UIControlEventTouchUpInside];
-
- UIImage* undeleteImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
- [undeleteButton setImage:undeleteImage forState:UIControlStateNormal];
- undeleteButton.frame = CGRectMake(0, 0, imageSize, imageSize);
+ CGFloat imageSize = 20.0f;
- [[self view] addSubview:undeleteButton];
- [self setUndeleteButton:undeleteButton];
+ UIButton *undeleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
+ [undeleteButton addTarget:self action:@selector(didTapUndeleteButton:) forControlEvents:UIControlEventTouchUpInside];
+
+ UIImage* undeleteImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
+ [undeleteButton setImage:undeleteImage forState:UIControlStateNormal];
+ undeleteButton.frame = CGRectMake(0, 0, imageSize, imageSize);
+
+ [[self view] addSubview:undeleteButton];
+ [self setUndeleteButton:undeleteButton];
+ }
}
}
@@ -230,6 +233,7 @@ NSDictionary* apolloBodyAttributes = nil;
[[self undeleteButton] setFrame:CGRectMake(buttonXPos, centerHeight - (imageSize / 2), imageSize, imageSize)];
}
}
+
%end
%end
@@ -246,22 +250,22 @@ static void loadPrefs(){
isApolloEnabled = YES;
}
+ if ([prefs objectForKey:@"isTFDeletedOnly"] != nil) {
+ isTFDeletedOnly = [[prefs objectForKey:@"isTFDeletedOnly"] boolValue];
+ } else {
+ isTFDeletedOnly = 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;
+ isTFDeletedOnly = YES;
pushshiftRequestTimeoutValue = 10;
- isApolloDeletedCommentsOnly = YES;
}
}
diff --git a/tweak/BaconReader.xm b/tweak/BaconReader.xm
index 0535ec4..2666c38 100644
--- a/tweak/BaconReader.xm
+++ b/tweak/BaconReader.xm
@@ -3,7 +3,7 @@
#import "assets/MMMarkdown.h"
static BOOL isBaconReaderEnabled;
-static BOOL isBaconReaderDeletedOnly;
+static BOOL isTFDeletedOnly;
static CGFloat pushshiftRequestTimeoutValue;
%group BaconReader
@@ -73,9 +73,9 @@ id tfStoryController;
UIAlertAction *undeleteAction;
if (tfCommentCellView){
- undeleteAction = [UIAlertAction actionWithTitle:@"TF Did That Say?" style:nil handler:^(UIAlertAction* action){[tfStoryController handleUndeleteCommentAction];}];
+ undeleteAction = [UIAlertAction actionWithTitle:@"TF Did That Say?" style:UIAlertActionStyleDefault handler:^(UIAlertAction* action){[tfStoryController handleUndeleteCommentAction];}];
} else {
- undeleteAction = [UIAlertAction actionWithTitle:@"TF Did That Say?" style:nil handler:^(UIAlertAction* action){[tfStoryController handleUndeletePostAction];}];
+ undeleteAction = [UIAlertAction actionWithTitle:@"TF Did That Say?" style:UIAlertActionStyleDefault handler:^(UIAlertAction* action){[tfStoryController handleUndeletePostAction];}];
}
[arg1 addAction:undeleteAction];
@@ -93,7 +93,7 @@ id tfStoryController;
NSString *commentBody = [[arg1 comment] body];
- if ((isBaconReaderDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isBaconReaderDeletedOnly) {
+ if ((isTFDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly) {
shouldHaveBRUndeleteAction = YES;
tfCommentCellView = arg1;
tfStoryController = self;
@@ -110,7 +110,7 @@ id tfStoryController;
if ([[self story] is_selfValue]){
NSString *postBody = [[self story] selftext];
- if ((isBaconReaderDeletedOnly && ([postBody isEqualToString:@"[deleted]"] || [postBody isEqualToString:@"[removed]"])) || !isBaconReaderDeletedOnly) {
+ if ((isTFDeletedOnly && ([postBody isEqualToString:@"[deleted]"] || [postBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly) {
shouldHaveBRUndeleteAction = YES;
tfCommentCellView = nil;
tfStoryController = self;
@@ -223,21 +223,21 @@ static void loadPrefs(){
isBaconReaderEnabled = YES;
}
+ if ([prefs objectForKey:@"isTFDeletedOnly"] != nil) {
+ isTFDeletedOnly = [[prefs objectForKey:@"isTFDeletedOnly"] boolValue];
+ } else {
+ isTFDeletedOnly = YES;
+ }
+
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
pushshiftRequestTimeoutValue = [[prefs objectForKey:@"requestTimeoutValue"] doubleValue];
} else {
pushshiftRequestTimeoutValue = 10;
}
- if ([prefs objectForKey:@"isBaconReaderDeletedOnly"] != nil) {
- isBaconReaderDeletedOnly = [[prefs objectForKey:@"isBaconReaderDeletedOnly"] boolValue];
- } else {
- isBaconReaderDeletedOnly = YES;
- }
-
} else {
isBaconReaderEnabled = YES;
- isBaconReaderDeletedOnly = YES;
+ isTFDeletedOnly = YES;
pushshiftRequestTimeoutValue = 10;
}
}
diff --git a/tweak/Narwhal.xm b/tweak/Narwhal.xm
index 47cbcb5..9a3b76a 100644
--- a/tweak/Narwhal.xm
+++ b/tweak/Narwhal.xm
@@ -2,6 +2,7 @@
#import "Narwhal.h"
static BOOL isNarwhalEnabled;
+static BOOL isTFDeletedOnly;
static CGFloat pushshiftRequestTimeoutValue;
%group Narwhal
@@ -45,7 +46,6 @@ void getUndeleteCommentData(id controller, id comment){
}
-
%hook UIViewController
-(void) presentViewController:(id) arg1 animated:(BOOL) arg2 completion:(id) arg3{
@@ -55,9 +55,9 @@ void getUndeleteCommentData(id controller, id comment){
UIAlertAction* undeleteAction;
if (tfComment){
- undeleteAction = [UIAlertAction actionWithTitle:@"tf did that say?" style:nil handler:^(UIAlertAction* action){getUndeleteCommentData(tfController, tfComment);}];
+ undeleteAction = [UIAlertAction actionWithTitle:@"tf did that say?" style:UIAlertActionStyleDefault handler:^(UIAlertAction* action){getUndeleteCommentData(tfController, tfComment);}];
} else {
- undeleteAction = [UIAlertAction actionWithTitle:@"tf did that say?" style:nil handler:^(UIAlertAction* action){[tfController handleUndeletePostAction];}];
+ undeleteAction = [UIAlertAction actionWithTitle:@"tf did that say?" style:UIAlertActionStyleDefault handler:^(UIAlertAction* action){[tfController handleUndeletePostAction];}];
}
[arg1 addAction:undeleteAction];
@@ -69,8 +69,6 @@ void getUndeleteCommentData(id controller, id comment){
%end
-
-
%hook NRTLinkViewController
@@ -141,12 +139,15 @@ void getUndeleteCommentData(id controller, id comment){
-(void) swipeCell:(id) arg1 didEndDragWithState:(NSUInteger) arg2{
if (arg2 == 2){
-
if ([arg1 isKindOfClass:[%c(NRTCommentTableViewCell) class]]) {
-
- tfComment = [arg1 comment];
- tfController = self;
- shouldHaveUndeleteAction = YES;
+
+ NSString *commentBody = MSHookIvar([arg1 comment], "_body");
+
+ if ((isTFDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
+ tfComment = [arg1 comment];
+ tfController = self;
+ shouldHaveUndeleteAction = YES;
+ }
}
}
@@ -155,14 +156,17 @@ void getUndeleteCommentData(id controller, id comment){
shouldHaveUndeleteAction = NO;
}
-
-(void) _dotsButtonTouched:(id) arg1{
if ([self linkTextOffscreenCell]){
- tfController = self;
- tfComment = nil;
- shouldHaveUndeleteAction = YES;
+ NSString *postBody = [[self link] selfText];
+
+ if ((isTFDeletedOnly && ([postBody isEqualToString:@"[deleted]"] || [postBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
+ tfController = self;
+ tfComment = nil;
+ shouldHaveUndeleteAction = YES;
+ }
}
%orig;
@@ -192,13 +196,15 @@ void getUndeleteCommentData(id controller, id comment){
-(void) swipeCell:(id) arg1 didEndDragWithState:(NSUInteger) arg2{
if (arg2 == 2){
-
if ([arg1 isKindOfClass:[%c(NRTCommentTableViewCell) class]]) {
- tfComment = [arg1 comment];
- tfController = self;
- shouldHaveUndeleteAction = YES;
-
+ NSString *commentBody = MSHookIvar([arg1 comment], "_body");
+
+ if ((isTFDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
+ tfComment = [arg1 comment];
+ tfController = self;
+ shouldHaveUndeleteAction = YES;
+ }
}
}
@@ -223,6 +229,12 @@ static void loadPrefs(){
isNarwhalEnabled = YES;
}
+ if ([prefs objectForKey:@"isTFDeletedOnly"] != nil) {
+ isTFDeletedOnly = [[prefs objectForKey:@"isTFDeletedOnly"] boolValue];
+ } else {
+ isTFDeletedOnly = YES;
+ }
+
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
pushshiftRequestTimeoutValue = [[prefs objectForKey:@"requestTimeoutValue"] doubleValue];
} else {
@@ -231,6 +243,7 @@ static void loadPrefs(){
} else {
isNarwhalEnabled = YES;
+ isTFDeletedOnly = YES;
pushshiftRequestTimeoutValue = 10;
}
}
@@ -254,4 +267,3 @@ static void prefsChanged(CFNotificationCenterRef center, void *observer, CFStrin
}
}
}
-
diff --git a/tweak/Reddit.xm b/tweak/Reddit.xm
index 11ab2fb..50287f4 100644
--- a/tweak/Reddit.xm
+++ b/tweak/Reddit.xm
@@ -1,8 +1,9 @@
#import "Reddit.h"
-static CGFloat pushshiftRequestTimeoutValue;
static BOOL isRedditEnabled;
+static BOOL isTFDeletedOnly;
+static CGFloat pushshiftRequestTimeoutValue;
static NSArray *redditVersion;
@@ -46,20 +47,26 @@ static NSArray *redditVersion;
%hook CommentActionSheetViewController
-(void) setItems:(id) arg1{
-
- UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
-
- CGSize existingImageSize = [[arg1[0] leftIconImage] size];
- CGFloat scale = origImage.size.width / existingImageSize.width;
-
- UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
-
- id undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self comment]];
-
- %orig([arg1 arrayByAddingObject:undeleteItem]);
- [undeleteItem release];
+ NSString *commentBody = [[self comment] bodyText];
+
+ if ((isTFDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
+ UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
+
+ CGSize existingImageSize = [[arg1[0] leftIconImage] size];
+ CGFloat scale = origImage.size.width / existingImageSize.width;
+
+ UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
+
+ id undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self comment]];
+
+ arg1 = [arg1 arrayByAddingObject:undeleteItem];
+
+ [undeleteItem release];
+ }
+
+ %orig;
}
-(void) handleDidSelectActionSheetItem:(id) arg1{
@@ -185,21 +192,24 @@ static NSArray *redditVersion;
-(void) setItems:(id) arg1{
Post *post = [self post];
+ NSString *postBody = [post selfText];
if ([post isSelfPost]){
+ if ((isTFDeletedOnly && ([postBody isEqualToString:@"[deleted]"] || [postBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
- UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
+ UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
- CGSize existingImageSize = [[arg1[0] leftIconImage] size];
- CGFloat scale = origImage.size.width / existingImageSize.width;
+ CGSize existingImageSize = [[arg1[0] leftIconImage] size];
+ CGFloat scale = origImage.size.width / existingImageSize.width;
- UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
+ UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
- id undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self post]];
+ id undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self post]];
- arg1 = [arg1 arrayByAddingObject:undeleteItem];
-
- [undeleteItem release];
+ arg1 = [arg1 arrayByAddingObject:undeleteItem];
+
+ [undeleteItem release];
+ }
}
%orig;
@@ -342,25 +352,32 @@ static NSArray *redditVersion;
%hook CommentActionSheetViewController
-(void) setItems:(id) arg1{
-
- UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
-
- CGSize existingImageSize = [[arg1[0] leftIconImage] size];
- CGFloat scale = origImage.size.width / existingImageSize.width;
-
- UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
- id undeleteItem;
+ NSString *commentBody = [[self comment] bodyText];
- if ([redditVersion[1] integerValue] >= 18) {
- undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self comment]];
- } else {
- undeleteItem = [[%c(ActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self comment]];
+ if ((isTFDeletedOnly && ([commentBody isEqualToString:@"[deleted]"] || [commentBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
+
+ UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
+
+ CGSize existingImageSize = [[arg1[0] leftIconImage] size];
+ CGFloat scale = origImage.size.width / existingImageSize.width;
+
+ UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
+
+ id undeleteItem;
+
+ if ([redditVersion[1] integerValue] >= 18) {
+ undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self comment]];
+ } else {
+ undeleteItem = [[%c(ActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self comment]];
+ }
+
+ arg1 = [arg1 arrayByAddingObject:undeleteItem];
+
+ [undeleteItem release];
}
-
- %orig([arg1 arrayByAddingObject:undeleteItem]);
- [undeleteItem release];
+ %orig;
}
// >= 4.21
@@ -479,27 +496,30 @@ static NSArray *redditVersion;
-(void) setItems:(id) arg1{
Post *post = [self post];
+ NSString *postBody = [post selfText];
if ([post isSelfPost]){
+ if ((isTFDeletedOnly && ([postBody isEqualToString:@"[deleted]"] || [postBody isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
- UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
+ UIImage* origImage = [UIImage imageWithContentsOfFile:@"/var/mobile/Library/Application Support/TFDidThatSay/eye160dark.png"];
- CGSize existingImageSize = [[arg1[0] leftIconImage] size];
- CGFloat scale = origImage.size.width / existingImageSize.width;
+ CGSize existingImageSize = [[arg1[0] leftIconImage] size];
+ CGFloat scale = origImage.size.width / existingImageSize.width;
- UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
-
- id undeleteItem;
-
- if ([redditVersion[1] integerValue] >= 18) {
- undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self post]];
- } else {
- undeleteItem = [[%c(ActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self post]];
+ UIImage *newImage = [UIImage imageWithCGImage:[origImage CGImage] scale:scale orientation:origImage.imageOrientation];
+
+ id undeleteItem;
+
+ if ([redditVersion[1] integerValue] >= 18) {
+ undeleteItem = [[%c(RUIActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self post]];
+ } else {
+ undeleteItem = [[%c(ActionSheetItem) alloc] initWithLeftIconImage:newImage text:@"TF did that say?" identifier:@"undeleteItemIdentifier" context:[self post]];
+ }
+
+ arg1 = [arg1 arrayByAddingObject:undeleteItem];
+
+ [undeleteItem release];
}
-
- arg1 = [arg1 arrayByAddingObject:undeleteItem];
-
- [undeleteItem release];
}
%orig;
@@ -722,6 +742,12 @@ static void loadPrefs(){
isRedditEnabled = YES;
}
+ if ([prefs objectForKey:@"isTFDeletedOnly"] != nil) {
+ isTFDeletedOnly = [[prefs objectForKey:@"isTFDeletedOnly"] boolValue];
+ } else {
+ isTFDeletedOnly = YES;
+ }
+
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
pushshiftRequestTimeoutValue = [[prefs objectForKey:@"requestTimeoutValue"] doubleValue];
} else {
@@ -730,6 +756,7 @@ static void loadPrefs(){
} else {
isRedditEnabled = YES;
+ isTFDeletedOnly = YES;
pushshiftRequestTimeoutValue = 10;
}
}
diff --git a/tweak/Slide.xm b/tweak/Slide.xm
index 851c571..bb0e51d 100644
--- a/tweak/Slide.xm
+++ b/tweak/Slide.xm
@@ -3,7 +3,7 @@
#import "assets/MMMarkdown.h"
static BOOL isSlideEnabled;
-static BOOL isSlideDeletedOnly;
+static BOOL isTFDeletedOnly;
static CGFloat pushshiftRequestTimeoutValue;
%group Slide
@@ -266,7 +266,7 @@ static UIButton * createUndeleteButton(){
NSString *body = [MSHookIvar(self, "comment") body];
- if ((isSlideDeletedOnly && ([body isEqualToString:@"[deleted]"] || [body isEqualToString:@"[removed]"])) || !isSlideDeletedOnly){
+ if ((isTFDeletedOnly && ([body isEqualToString:@"[deleted]"] || [body isEqualToString:@"[removed]"])) || !isTFDeletedOnly){
id controller = MSHookIvar(self, "parent");
@@ -339,9 +339,9 @@ static UIButton * createUndeleteButton(){
NSMutableAttributedString *htmlAttributedString = [[NSMutableAttributedString alloc] initWithAttributedString:[dthtmlBuilder generatedAttributedString]];
NSRange htmlStringRange = NSMakeRange(0, [htmlAttributedString length]);
- [[htmlAttributedString mutableString] replaceOccurrencesOfString:@"\t•\t" withString:@" • " options:nil range: htmlStringRange];
- [[htmlAttributedString mutableString] replaceOccurrencesOfString:@"\t◦\t" withString:@" ◦ " options:nil range: htmlStringRange];
- [[htmlAttributedString mutableString] replaceOccurrencesOfString:@"\t▪\t" withString:@" ▪ " options:nil range: htmlStringRange];
+ [[htmlAttributedString mutableString] replaceOccurrencesOfString:@"\t•\t" withString:@" • " options:0 range: htmlStringRange];
+ [[htmlAttributedString mutableString] replaceOccurrencesOfString:@"\t◦\t" withString:@" ◦ " options:0 range: htmlStringRange];
+ [[htmlAttributedString mutableString] replaceOccurrencesOfString:@"\t▪\t" withString:@" ▪ " options:0 range: htmlStringRange];
[htmlAttributedString removeAttribute:@"CTForegroundColorFromContext" range:htmlStringRange];
@@ -376,7 +376,7 @@ static UIButton * createUndeleteButton(){
}];
[htmlAttributedString beginEditing];
- [htmlAttributedString enumerateAttribute:NSFontAttributeName inRange:NSMakeRange(0, [htmlAttributedString length]) options:nil usingBlock:^(id value, NSRange range, BOOL *stop){
+ [htmlAttributedString enumerateAttribute:NSFontAttributeName inRange:NSMakeRange(0, [htmlAttributedString length]) options:0 usingBlock:^(id value, NSRange range, BOOL *stop){
UIFont *attrFont = (UIFont *)value;
@@ -429,10 +429,10 @@ static void loadPrefs(){
isSlideEnabled = YES;
}
- if ([prefs objectForKey:@"isSlideDeletedOnly"] != nil){
- isSlideDeletedOnly = [[prefs objectForKey:@"isSlideDeletedOnly"] boolValue];
+ if ([prefs objectForKey:@"isTFDeletedOnly"] != nil){
+ isTFDeletedOnly = [[prefs objectForKey:@"isTFDeletedOnly"] boolValue];
} else {
- isSlideDeletedOnly = YES;
+ isTFDeletedOnly = YES;
}
if ([prefs objectForKey:@"requestTimeoutValue"] != nil){
@@ -443,7 +443,7 @@ static void loadPrefs(){
} else {
isSlideEnabled = YES;
- isSlideDeletedOnly = YES;
+ isTFDeletedOnly = YES;
pushshiftRequestTimeoutValue = 10;
}
}