Browse Source

macosx: Move input time helper to string category

pull/75/head
Marvin Scholz 8 years ago
parent
commit
8f20844d44
  1. 12
      modules/gui/macosx/NSString+Helpers.h
  2. 20
      modules/gui/macosx/NSString+Helpers.m
  3. 8
      modules/gui/macosx/VLCControlsBarCommon.m
  4. 5
      modules/gui/macosx/VLCStatusBarIcon.m
  5. 1
      modules/gui/macosx/VLCStringUtility.h
  6. 17
      modules/gui/macosx/VLCStringUtility.m

12
modules/gui/macosx/NSString+Helpers.h

@ -26,9 +26,21 @@
*****************************************************************************/
#import <Foundation/Foundation.h>
#import <vlc_input.h>
@interface NSString (Helpers)
/**
Creates an NSString with the current time of the \c input_thread_t
This method allocates and initializes an NSString with the current
elapsed or remaining time of the given input.
\param negative If YES, calculate remaining instead of elapsed time
*/
+ (instancetype)stringWithTimeFromInput:(input_thread_t *)input
negative:(BOOL)negative;
/**
Creates an NSString from the given null-terminated C string
buffer encoded as base64

20
modules/gui/macosx/NSString+Helpers.m

@ -33,6 +33,26 @@
@implementation NSString (Helpers)
+ (instancetype)stringWithTimeFromInput:(input_thread_t *)input
negative:(BOOL)negative
{
NSAssert(input != NULL, @"Input may not be NULL!");
char psz_time[MSTRTIME_MAX_SIZE];
vlc_tick_t t = var_GetInteger(input, "time");
vlc_tick_t dur = input_item_GetDuration(input_GetItem(input));
if (negative && dur > 0) {
vlc_tick_t remaining = (dur > t) ? (dur - t) : 0;
return [NSString stringWithFormat:@"-%s",
secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(remaining))];
} else {
return [NSString stringWithUTF8String:
secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(t))];
}
}
+ (instancetype)base64StringWithCString:(const char *)cstring
{
if (cstring == NULL)

8
modules/gui/macosx/VLCControlsBarCommon.m

@ -28,6 +28,7 @@
#import "VLCMainMenu.h"
#import "VLCPlaylist.h"
#import "CompatibilityFixes.h"
#import "NSString+Helpers.h"
/*****************************************************************************
* VLCControlsBarCommon
@ -265,7 +266,8 @@
var_Set(p_input, "position", pos);
[self.timeSlider setFloatValue: f_updated];
o_time = [[VLCStringUtility sharedInstance] getCurrentTimeAsString: p_input negative:[self.timeField timeRemaining]];
o_time = [NSString stringWithTimeFromInput:p_input
negative:self.timeField.timeRemaining];
[self.timeField setStringValue: o_time];
vlc_object_release(p_input);
}
@ -312,8 +314,8 @@
[self.timeSlider setIndefinite:buffering];
}
NSString *time = [[VLCStringUtility sharedInstance] getCurrentTimeAsString:p_input
negative:[self.timeField timeRemaining]];
NSString *time = [NSString stringWithTimeFromInput:p_input
negative:self.timeField.timeRemaining];
[self.timeField setStringValue:time];
[self.timeField setNeedsDisplay:YES];

5
modules/gui/macosx/VLCStatusBarIcon.m

@ -33,6 +33,7 @@
#import "CompatibilityFixes.h"
#import "VLCCoreInteraction.h"
#import "VLCStringUtility.h"
#import "NSString+Helpers.h"
#import "VLCApplication.h"
@ -243,8 +244,8 @@
NSString *totalTime;
/* Get elapsed and remaining time */
elapsedTime = [[VLCStringUtility sharedInstance] getCurrentTimeAsString:input negative:NO];
remainingTime = [[VLCStringUtility sharedInstance] getCurrentTimeAsString:input negative:YES];
elapsedTime = [NSString stringWithTimeFromInput:input negative:NO];
remainingTime = [NSString stringWithTimeFromInput:input negative:YES];
/* Check item duration */
vlc_tick_t dur = input_item_GetDuration(input_GetItem(input));

1
modules/gui/macosx/VLCStringUtility.h

@ -58,7 +58,6 @@ NSImage *imageFromRes(NSString *name);
+ (VLCStringUtility *)sharedInstance;
- (NSString *)getCurrentTimeAsString:(input_thread_t *)p_input negative:(BOOL)b_negative;
- (NSString *)stringForTime:(long long int)time;
- (NSString *)OSXStringKeyToString:(NSString *)theString;

17
modules/gui/macosx/VLCStringUtility.m

@ -68,23 +68,6 @@ NSString *const kVLCMediaUnknown = @"Unknown";
#pragma mark String utility
- (NSString *)getCurrentTimeAsString:(input_thread_t *)p_input negative:(BOOL)b_negative
{
assert(p_input != nil);
char psz_time[MSTRTIME_MAX_SIZE];
vlc_tick_t t = var_GetInteger(p_input, "time");
vlc_tick_t dur = input_item_GetDuration(input_GetItem(p_input));
if (b_negative && dur > 0) {
vlc_tick_t remaining = 0;
if (dur > t)
remaining = dur - t;
return [NSString stringWithFormat: @"-%s", secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(remaining))];
} else
return toNSStr(secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(t)));
}
- (NSString *)stringForTime:(long long int)time
{
if (time > 0) {

Loading…
Cancel
Save