Browse Source

Alien Blue improvements

master
lint 4 years ago
parent
commit
b109ad5d49
2 changed files with 26 additions and 42 deletions
  1. +7
    -6
      tweak/AlienBlue.h
  2. +19
    -36
      tweak/AlienBlue.xm

+ 7
- 6
tweak/AlienBlue.h View File

@@ -1,7 +1,7 @@

/* -- Voteable Interfaces -- */

@interface VoteableElement
@interface VoteableElement : NSObject
@property(strong, nonatomic) NSString *ident;
@property(strong, nonatomic) NSString *author;
@end
@@ -37,16 +37,17 @@
@property(strong, nonatomic) Post *post;
@end

@interface CommentNode
@property(strong, nonatomic) Comment *comment;
@property(strong, nonatomic) Post *post;
@end

@interface CommentOptionsDrawerView
@property(strong, nonatomic) NSMutableArray *buttons;
@property(assign, nonatomic) BOOL isPostHeader;
@property(strong, nonatomic) id delegate;
@property(strong, nonatomic) id node;
-(void) addButton:(id) arg1;

//custom elements
@property(strong, nonatomic) Comment *comment;
@property(strong, nonatomic) Post *post;
@property(strong, nonatomic) CommentPostHeaderNode *commentNode;
@end

/* -- Other Interfaces -- */

+ 19
- 36
tweak/AlienBlue.xm View File

@@ -8,41 +8,18 @@ static CGFloat pushshiftRequestTimeoutValue;

%group AlienBlue

%hook NCommentCell

-(void) setDrawerView:(id) arg1 {
[arg1 setComment:[self comment]];
%orig;
}

%end

%hook NCommentPostHeaderCell

-(void) setDrawerView:(id) arg1 {
[arg1 setPost:[self post]];
[arg1 setCommentNode:[self node]];
%orig;
}

%end


%hook CommentOptionsDrawerView
%property(strong, nonatomic) Comment *comment;
%property(strong, nonatomic) Post *post;
%property(strong, nonatomic) CommentPostHeaderNode *commentNode;

-(id) initWithNode:(id) arg1 {
id orig = %orig;
NSString *body;
if ([self post]) {
body = [[self post] selftext];
} else if ([self comment]){
body = [[self comment] body];
}
if ([self isPostHeader]) {
body = [[arg1 post] selftext];
} else {
body = [[(CommentNode *)arg1 comment] body];
}
if ((isAlienBlueDeletedOnly && ([body isEqualToString:@"[deleted]"] || [body isEqualToString:@"[removed]"])) || !isAlienBlueDeletedOnly) {
@@ -52,9 +29,9 @@ static CGFloat pushshiftRequestTimeoutValue;
[undeleteButton setFrame:CGRectMake(0, 0, refSize.width, refSize.height)];
if ([self isPostHeader]){
[undeleteButton addTarget:self action:@selector(didTapPostUndeleteButton) forControlEvents:UIControlEventTouchUpInside];
[undeleteButton addTarget:self action:@selector(didTapPostUndeleteButton:) forControlEvents:UIControlEventTouchUpInside];
} else {
[undeleteButton addTarget:self action:@selector(didTapCommentUndeleteButton) forControlEvents:UIControlEventTouchUpInside];
[undeleteButton addTarget:self action:@selector(didTapCommentUndeleteButton:) forControlEvents:UIControlEventTouchUpInside];
}
if ([%c(Resources) isNight]) {
@@ -70,13 +47,14 @@ static CGFloat pushshiftRequestTimeoutValue;
}
return orig;

}

%new
-(void) didTapCommentUndeleteButton {
-(void) didTapCommentUndeleteButton:(id) sender {
[sender setEnabled:NO];
Comment *comment = [self comment];
id comment = [[self node] comment];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
@@ -112,14 +90,18 @@ static CGFloat pushshiftRequestTimeoutValue;
[comment setBodyHTML:bodyHTML];
[[self delegate] performSelectorOnMainThread:@selector(respondToStyleChange) withObject:nil waitUntilDone:NO];
[sender setEnabled:YES];
}];
}

%new
-(void) didTapPostUndeleteButton {
-(void) didTapPostUndeleteButton:(id) sender {
[sender setEnabled:NO];
Post *post = [self post];
Comment *postComment = [[self commentNode] comment]; //Don't know why he used a comment to store info about a post, but it exists
id post = [[self node] post];
id postComment = [[self node] comment]; //Don't know why he used a comment to store info about a post, but it exists
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
@@ -156,6 +138,7 @@ static CGFloat pushshiftRequestTimeoutValue;
[[self delegate] performSelectorOnMainThread:@selector(respondToStyleChange) withObject:nil waitUntilDone:NO];
[sender setEnabled:YES];
}];
}


Loading…
Cancel
Save