Skip to content

Commit

Permalink
Merge branch 'sstigler-sam-clean-up-time-slider-display'
Browse files Browse the repository at this point in the history
* sstigler-sam-clean-up-time-slider-display:
  Update Pods
  Updating pods after merge with master.
  Removes references to NSDateIntervalFormatter
  Fixes issue where TTTTimeIntervalFormatter wasn't displaying number of days.
  Fixes some compiler errors.
  Deletes duplicated variable declaration.
  Fixes display bug.
  Adds TTTTimeIntervalFormatter
  Creates SCTimeIntervalFormatter
  • Loading branch information
cstigler committed Jan 11, 2015
2 parents 0c17122 + a64d7b7 commit 1bd1f7b
Show file tree
Hide file tree
Showing 50 changed files with 5,436 additions and 570 deletions.
56 changes: 31 additions & 25 deletions AppController.m
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#import "MASPreferencesWindowController.h"
#import "PreferencesGeneralViewController.h"
#import "PreferencesAdvancedViewController.h"
#import "SCTimeIntervalFormatter.h"
#import <SystemConfiguration/SystemConfiguration.h>

NSString* const kSelfControlErrorDomain = @"SelfControlErrorDomain";
Expand Down Expand Up @@ -98,37 +99,42 @@ - (char*)selfControlHelperToolPathUTF8String {
}

- (IBAction)updateTimeSliderDisplay:(id)sender {
int numMinutes = floor([blockDurationSlider_ intValue]);
NSInteger numMinutes = floor([blockDurationSlider_ integerValue]);

// Time-display code cleaned up thanks to the contributions of many users

NSString* timeString = @"";
NSString* timeString = [self timeSliderDisplayStringFromNumberOfMinutes:numMinutes];

int formatDays, formatHours, formatMinutes;
[blockSliderTimeDisplayLabel_ setStringValue:timeString];
[submitButton_ setEnabled: (numMinutes > 0) && ([[defaults_ arrayForKey:@"HostBlacklist"] count] > 0)];
}

formatDays = numMinutes / 1440;
formatHours = (numMinutes % 1440) / 60;
formatMinutes = (numMinutes % 60);
- (NSString *)timeSliderDisplayStringFromNumberOfMinutes:(NSInteger)numberOfMinutes {
static NSCalendar* gregorian = nil;
if (gregorian == nil) {
gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
}

if(numMinutes > 0) {
if(formatDays > 0) {
timeString = [NSString stringWithFormat:@"%d %@", formatDays, (formatDays == 1 ? NSLocalizedString(@"day", @"Single day time string") : NSLocalizedString(@"days", @"Plural days time string"))];
}
if(formatHours > 0) {
timeString = [NSString stringWithFormat: @"%@%@%d %@", timeString, (formatDays > 0 ? @", " : @""), formatHours, (formatHours == 1 ? NSLocalizedString(@"hour", @"Single hour time string") : NSLocalizedString(@"hours", @"Plural hours time string"))];
}
if(formatMinutes > 0) {
timeString = [NSString stringWithFormat:@"%@%@%d %@", timeString, (formatHours > 0 || formatDays > 0 ? @", " : @""), formatMinutes, (formatMinutes == 1 ? NSLocalizedString(@"minute", @"Single minute time string") : NSLocalizedString(@"minutes", @"Plural minutes time string"))];
}
}
else {
timeString = [NSString stringWithFormat: @"0 %@ (%@)",
NSLocalizedString(@"minutes", @"Plural minutes time string"),
NSLocalizedString(@"disabled", "Shows that SelfControl is disabled")];
}
NSRange secondsRangePerMinute = [gregorian
rangeOfUnit:NSSecondCalendarUnit
inUnit:NSMinuteCalendarUnit
forDate:[NSDate date]];
NSUInteger numberOfSecondsPerMinute = NSMaxRange(secondsRangePerMinute);

[blockSliderTimeDisplayLabel_ setStringValue:timeString];
[submitButton_ setEnabled: (numMinutes > 0) && ([[defaults_ arrayForKey:@"HostBlacklist"] count] > 0)];
NSTimeInterval numberOfSecondsSelected = (NSTimeInterval)(numberOfSecondsPerMinute * numberOfMinutes);

NSString* displayString = [self timeSliderDisplayStringFromTimeInterval:numberOfSecondsSelected];
return displayString;
}

- (NSString *)timeSliderDisplayStringFromTimeInterval:(NSTimeInterval)numberOfSeconds {
static SCTimeIntervalFormatter* formatter = nil;
if (formatter == nil) {
formatter = [[SCTimeIntervalFormatter alloc] init];
}

NSString* formatted = [formatter stringForObjectValue:@(numberOfSeconds)];
return formatted;
}

- (IBAction)addBlock:(id)sender {
Expand Down Expand Up @@ -865,4 +871,4 @@ - (void)switchedToWhitelist:(id)sender {
}
}

@end
@end
3 changes: 2 additions & 1 deletion Podfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
source 'https://github.com/CocoaPods/Specs.git'

pod 'MASPreferences', '~> 1.1.2'
pod 'MASPreferences', '~> 1.1.2'
pod 'FormatterKit/TimeIntervalFormatter', '~> 1.7'
3 changes: 3 additions & 0 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
PODS:
- FormatterKit/TimeIntervalFormatter (1.7.1)
- MASPreferences (1.1.2)

DEPENDENCIES:
- FormatterKit/TimeIntervalFormatter (~> 1.7)
- MASPreferences (~> 1.1.2)

SPEC CHECKSUMS:
FormatterKit: 877ff970af3feb2f602ced0a9420e9fbc25f568c
MASPreferences: 48debf3a161039bb979e617b7416bc07bd879f75

COCOAPODS: 0.34.4
145 changes: 145 additions & 0 deletions Pods/FormatterKit/FormatterKit/TTTTimeIntervalFormatter.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 1bd1f7b

Please sign in to comment.