From 4c9a48901ddde626191bc965f4e44792ee50b6d0 Mon Sep 17 00:00:00 2001 From: Aliaksei Shytkin Date: Sun, 8 Feb 2015 02:04:50 +0300 Subject: [PATCH 1/3] Make correct set context and project when add several tasks --- View Controllers/TaskEditViewController.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/View Controllers/TaskEditViewController.m b/View Controllers/TaskEditViewController.m index 62aceed..979d908 100644 --- a/View Controllers/TaskEditViewController.m +++ b/View Controllers/TaskEditViewController.m @@ -391,6 +391,18 @@ - (IBAction)helpCloseButtonPressed:(id)sender { [self.textView becomeFirstResponder]; } +- (NSString *) getCurrentTaskText { + NSString *taskText; + if (self.task) { + taskText = self.textView.text; + } else { + NSRange r = [self.textView.text lineRangeForRange:self.textView.selectedRange]; + taskText = [self.textView.text substringWithRange:r]; + } + + return taskText; +} + - (void) priorityWasSelected:(NSInteger *)selectedIndex element:(id)element { self.actionSheetPicker = nil; if (selectedIndex >= 0) { @@ -416,7 +428,7 @@ - (void) projectWasSelected:(NSInteger *)selectedIndex element:(id)element { id taskBag = self.appDelegate.taskBag; NSString *item = [[taskBag projects] objectAtIndex:selectedIndex]; - if (! [TaskUtil taskHasProject:self.textView.text project:item]) { + if (! [TaskUtil taskHasProject:[self getCurrentTaskText] project:item]) { item = [NSString stringWithFormat:@"+%@", item]; NSString *newText = [Strings insertPaddedString:self.textView.text atRange:self.curSelectedRange withString:item]; self.curSelectedRange = [Strings calculateSelectedRange:self.curSelectedRange oldText:self.textView.text newText:newText]; @@ -432,8 +444,8 @@ - (void) contextWasSelected:(NSInteger *)selectedIndex element:(id)element { if (selectedIndex >= 0) { id taskBag = self.appDelegate.taskBag; NSString *item = [[taskBag contexts] objectAtIndex:selectedIndex]; - - if (! [TaskUtil taskHasContext:self.textView.text context:item]) { + + if (! [TaskUtil taskHasContext:[self getCurrentTaskText] context:item]) { item = [NSString stringWithFormat:@"@%@", item]; NSString *newText = [Strings insertPaddedString:self.textView.text atRange:self.curSelectedRange withString:item]; self.curSelectedRange = [Strings calculateSelectedRange:self.curSelectedRange oldText:self.textView.text newText:newText]; From 6abe1e202ad31353648e20e1d1e21a80b9a2a6b3 Mon Sep 17 00:00:00 2001 From: Aliaksei Shytkin Date: Sun, 8 Feb 2015 03:05:47 +0300 Subject: [PATCH 2/3] Make correct set priority when add several tasks --- View Controllers/TaskEditViewController.m | 27 ++++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/View Controllers/TaskEditViewController.m b/View Controllers/TaskEditViewController.m index 979d908..46de345 100644 --- a/View Controllers/TaskEditViewController.m +++ b/View Controllers/TaskEditViewController.m @@ -407,16 +407,31 @@ - (void) priorityWasSelected:(NSInteger *)selectedIndex element:(id)element { self.actionSheetPicker = nil; if (selectedIndex >= 0) { Priority *selectedPriority = [Priority byName:(PriorityName)selectedIndex]; - NSString *newText = nil; + NSString *newTaskText = nil; + NSString *oldTaskText = [self getCurrentTaskText]; + if (selectedPriority == [Priority NONE]) { - newText = [NSString stringWithString:[[PriorityTextSplitter split:self.textView.text] text]]; + newTaskText = [NSString stringWithString:[[PriorityTextSplitter split:oldTaskText] text]]; } else { - newText = [NSString stringWithFormat:@"%@ %@", + newTaskText = [NSString stringWithFormat:@"%@ %@", [selectedPriority fileFormat], - [[PriorityTextSplitter split:self.textView.text] text]]; + [[PriorityTextSplitter split:oldTaskText] text]]; + } + + NSString *result = @""; + if (self.task) { + result = newTaskText; + } else { + NSRange range = [self.textView.text lineRangeForRange:self.textView.selectedRange]; + + result = [result stringByAppendingString:[self.textView.text substringToIndex:range.location]]; + result = [result stringByAppendingString:newTaskText]; + NSString *end = [self.textView.text substringFromIndex:range.location + range.length]; + result = [result stringByAppendingString:end]; } - self.curSelectedRange = [Strings calculateSelectedRange:self.curSelectedRange oldText:self.textView.text newText:newText]; - self.textView.text = newText; + + self.curSelectedRange = [Strings calculateSelectedRange:self.curSelectedRange oldText:self.textView.text newText:result]; + self.textView.text = result; self.textView.selectedRange = self.curSelectedRange; } [self.textView becomeFirstResponder]; From 7fe2a134289b9690a72d1ade094800377527d2b0 Mon Sep 17 00:00:00 2001 From: Aliaksei Shytkin Date: Sun, 8 Feb 2015 03:20:32 +0300 Subject: [PATCH 3/3] Replace whitespaces to tabs --- View Controllers/TaskEditViewController.m | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/View Controllers/TaskEditViewController.m b/View Controllers/TaskEditViewController.m index 46de345..dfb4e3a 100644 --- a/View Controllers/TaskEditViewController.m +++ b/View Controllers/TaskEditViewController.m @@ -392,15 +392,15 @@ - (IBAction)helpCloseButtonPressed:(id)sender { } - (NSString *) getCurrentTaskText { - NSString *taskText; - if (self.task) { - taskText = self.textView.text; - } else { - NSRange r = [self.textView.text lineRangeForRange:self.textView.selectedRange]; - taskText = [self.textView.text substringWithRange:r]; - } + NSString *taskText; + if (self.task) { + taskText = self.textView.text; + } else { + NSRange r = [self.textView.text lineRangeForRange:self.textView.selectedRange]; + taskText = [self.textView.text substringWithRange:r]; + } - return taskText; + return taskText; } - (void) priorityWasSelected:(NSInteger *)selectedIndex element:(id)element {