mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Fixing delete site in nested folders. Also refactoring and adding tail truncating to feed gradients.
This commit is contained in:
parent
85feadb3f1
commit
2ec7c55eac
6 changed files with 58 additions and 44 deletions
|
@ -445,7 +445,7 @@ class UserSubscriptionFolders(models.Model):
|
|||
new_folders.append({f_k: nf})
|
||||
|
||||
return new_folders, multiples_found, deleted
|
||||
|
||||
print "In folder: %s" % in_folder
|
||||
user_sub_folders = json.decode(self.folders)
|
||||
user_sub_folders, multiples_found, deleted = _find_feed_in_folders(user_sub_folders)
|
||||
self.folders = json.encode(user_sub_folders)
|
||||
|
|
|
@ -772,7 +772,7 @@
|
|||
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:urlFeedDetail];
|
||||
[request setDelegate:self];
|
||||
[request addPostValue:[[appDelegate activeFeed] objectForKey:@"id"] forKey:@"feed_id"];
|
||||
[request addPostValue:[appDelegate activeFolder] forKey:@"in_folder"];
|
||||
[request addPostValue:[appDelegate extractFolderName:appDelegate.activeFolder] forKey:@"in_folder"];
|
||||
[request setFailedBlock:^(void) {
|
||||
[self informError:[request error]];
|
||||
}];
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
- (IBAction)doCancelButton;
|
||||
- (IBAction)doMoveButton;
|
||||
- (NSArray *)pickerFolders;
|
||||
- (NSString *)extractFolderName:(NSString *)folderName;
|
||||
- (NSString *)extractParentFolderName:(NSString *)folderName;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet NewsBlurAppDelegate *appDelegate;
|
||||
@property (nonatomic, retain) IBOutlet UITextField *fromFolderInput;
|
||||
|
|
|
@ -60,7 +60,13 @@
|
|||
for (UIView *subview in [self.titleLabel subviews]) {
|
||||
[subview removeFromSuperview];
|
||||
}
|
||||
[self.titleLabel addSubview:[appDelegate makeFeedTitle:appDelegate.activeFeed]];
|
||||
UIView *label = [appDelegate makeFeedTitle:appDelegate.activeFeed];
|
||||
label.frame = CGRectMake(label.frame.origin.x,
|
||||
label.frame.origin.y,
|
||||
self.titleLabel.frame.size.width -
|
||||
(self.titleLabel.frame.origin.x-label.frame.origin.x),
|
||||
label.frame.size.height);
|
||||
[self.titleLabel addSubview:label];
|
||||
[self reload];
|
||||
[super viewWillAppear:animated];
|
||||
}
|
||||
|
@ -84,11 +90,12 @@
|
|||
}
|
||||
|
||||
- (void)reload {
|
||||
BOOL isTopLevel = [[appDelegate.activeFolder trim] isEqualToString:@""];
|
||||
[toFolderInput setText:@""];
|
||||
if (appDelegate.isRiverView) {
|
||||
[fromFolderInput setText:[self extractParentFolderName:appDelegate.activeFolder]];
|
||||
[fromFolderInput setText:[appDelegate extractParentFolderName:appDelegate.activeFolder]];
|
||||
} else {
|
||||
[fromFolderInput setText:appDelegate.activeFolder];
|
||||
fromFolderInput.text = isTopLevel ? @"— Top Level —" : appDelegate.activeFolder;
|
||||
}
|
||||
self.folders = [NSMutableArray array];
|
||||
[folderPicker reloadAllComponents];
|
||||
|
@ -96,9 +103,8 @@
|
|||
int row = 0;
|
||||
if (appDelegate.isRiverView) {
|
||||
row = [[self pickerFolders]
|
||||
indexOfObject:[self extractParentFolderName:appDelegate.activeFolder]];
|
||||
indexOfObject:[appDelegate extractParentFolderName:appDelegate.activeFolder]];
|
||||
} else {
|
||||
BOOL isTopLevel = [[appDelegate.activeFolder trim] isEqualToString:@""];
|
||||
row = isTopLevel ?
|
||||
0 :
|
||||
[[self pickerFolders] indexOfObject:appDelegate.activeFolder];
|
||||
|
@ -132,8 +138,8 @@
|
|||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
NSString *fromFolder = [self extractFolderName:[fromFolderInput text]];
|
||||
NSString *toFolder = [self extractFolderName:[toFolderInput text]];
|
||||
NSString *fromFolder = [appDelegate extractFolderName:[fromFolderInput text]];
|
||||
NSString *toFolder = [appDelegate extractFolderName:[toFolderInput text]];
|
||||
[request setPostValue:fromFolder forKey:@"in_folder"];
|
||||
[request setPostValue:toFolder forKey:@"to_folder"];
|
||||
[request setPostValue:[appDelegate.activeFeed objectForKey:@"id"] forKey:@"feed_id"];
|
||||
|
@ -166,35 +172,6 @@
|
|||
[results release];
|
||||
}
|
||||
|
||||
- (NSString *)extractParentFolderName:(NSString *)folderName {
|
||||
if ([folderName containsString:@"Top Level"]) {
|
||||
folderName = @"";
|
||||
}
|
||||
|
||||
if ([folderName containsString:@" - "]) {
|
||||
int lastFolderLoc = [folderName rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
// int secondLastFolderLoc = [[folderName substringToIndex:lastFolderLoc] rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
folderName = [folderName substringToIndex:lastFolderLoc];
|
||||
} else {
|
||||
folderName = @"— Top Level —";
|
||||
}
|
||||
|
||||
return folderName;
|
||||
}
|
||||
|
||||
- (NSString *)extractFolderName:(NSString *)folderName {
|
||||
if ([folderName containsString:@"Top Level"]) {
|
||||
folderName = @"";
|
||||
}
|
||||
|
||||
if ([folderName containsString:@" - "]) {
|
||||
int folder_loc = [folderName rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
folderName = [folderName substringFromIndex:(folder_loc + 3)];
|
||||
}
|
||||
|
||||
return folderName;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Move Folder
|
||||
|
||||
|
@ -207,9 +184,9 @@
|
|||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
NSString *folderName = [self extractFolderName:appDelegate.activeFolder];
|
||||
NSString *fromFolder = [self extractFolderName:[fromFolderInput text]];
|
||||
NSString *toFolder = [self extractFolderName:[toFolderInput text]];
|
||||
NSString *folderName = [appDelegate extractFolderName:appDelegate.activeFolder];
|
||||
NSString *fromFolder = [appDelegate extractFolderName:[fromFolderInput text]];
|
||||
NSString *toFolder = [appDelegate extractFolderName:[toFolderInput text]];
|
||||
[request setPostValue:fromFolder forKey:@"in_folder"];
|
||||
[request setPostValue:toFolder forKey:@"to_folder"];
|
||||
[request setPostValue:folderName forKey:@"folder_name"];
|
||||
|
|
|
@ -121,6 +121,8 @@
|
|||
- (void)markFeedAllRead:(id)feedId;
|
||||
- (void)calculateStoryLocations;
|
||||
+ (int)computeStoryScore:(NSDictionary *)intelligence;
|
||||
- (NSString *)extractFolderName:(NSString *)folderName;
|
||||
- (NSString *)extractParentFolderName:(NSString *)folderName;
|
||||
+ (UIView *)makeGradientView:(CGRect)rect startColor:(NSString *)start endColor:(NSString *)end;
|
||||
- (UIView *)makeFeedTitleGradient:(NSDictionary *)feed withRect:(CGRect)rect;
|
||||
- (UIView *)makeFeedTitle:(NSDictionary *)feed;
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#import "OriginalStoryViewController.h"
|
||||
#import "MBProgressHUD.h"
|
||||
#import "Utilities.h"
|
||||
#import "StringHelper.h"
|
||||
|
||||
@implementation NewsBlurAppDelegate
|
||||
|
||||
|
@ -515,6 +516,40 @@
|
|||
return score;
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (NSString *)extractParentFolderName:(NSString *)folderName {
|
||||
if ([folderName containsString:@"Top Level"]) {
|
||||
folderName = @"";
|
||||
}
|
||||
|
||||
if ([folderName containsString:@" - "]) {
|
||||
int lastFolderLoc = [folderName rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
// int secondLastFolderLoc = [[folderName substringToIndex:lastFolderLoc] rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
folderName = [folderName substringToIndex:lastFolderLoc];
|
||||
} else {
|
||||
folderName = @"— Top Level —";
|
||||
}
|
||||
|
||||
return folderName;
|
||||
}
|
||||
|
||||
- (NSString *)extractFolderName:(NSString *)folderName {
|
||||
if ([folderName containsString:@"Top Level"]) {
|
||||
folderName = @"";
|
||||
}
|
||||
|
||||
if ([folderName containsString:@" - "]) {
|
||||
int folder_loc = [folderName rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
folderName = [folderName substringFromIndex:(folder_loc + 3)];
|
||||
}
|
||||
|
||||
return folderName;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Feed Templates
|
||||
|
||||
+ (UIView *)makeGradientView:(CGRect)rect startColor:(NSString *)start endColor:(NSString *)end {
|
||||
UIView *gradientView = [[[UIView alloc] initWithFrame:rect] autorelease];
|
||||
|
||||
|
@ -570,6 +605,7 @@
|
|||
titleLabel.backgroundColor = [UIColor clearColor];
|
||||
titleLabel.textAlignment = UITextAlignmentLeft;
|
||||
titleLabel.lineBreakMode = UILineBreakModeTailTruncation;
|
||||
titleLabel.numberOfLines = 1;
|
||||
titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:11.0];
|
||||
titleLabel.shadowOffset = CGSizeMake(0, 1);
|
||||
if ([[feed objectForKey:@"favicon_text_color"] class] != [NSNull class]) {
|
||||
|
@ -585,7 +621,7 @@
|
|||
titleLabel.textColor = [UIColor whiteColor];
|
||||
titleLabel.shadowColor = [UIColor blackColor];
|
||||
}
|
||||
titleLabel.frame = CGRectMake(32, 1, window.frame.size.width-20, 20);
|
||||
titleLabel.frame = CGRectMake(32, 1, rect.size.width-32, 20);
|
||||
|
||||
NSString *feedIdStr = [NSString stringWithFormat:@"%@", [feed objectForKey:@"id"]];
|
||||
UIImage *titleImage = [Utilities getImage:feedIdStr];
|
||||
|
@ -621,6 +657,7 @@
|
|||
titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:15.0];
|
||||
titleLabel.textColor = [UIColor whiteColor];
|
||||
titleLabel.lineBreakMode = UILineBreakModeTailTruncation;
|
||||
titleLabel.numberOfLines = 1;
|
||||
titleLabel.shadowColor = [UIColor blackColor];
|
||||
titleLabel.shadowOffset = CGSizeMake(0, -1);
|
||||
titleLabel.center = CGPointMake(28, -2);
|
||||
|
|
Loading…
Add table
Reference in a new issue