#import "playlist.h"
#import "MainMenu.h"
#import "CoreInteraction.h"
+#import "misc.h"
#import <vlc_keys.h>
#pragma mark -
[o_specificTime_ok_btn setTitle: _NS("OK")];
[o_specificTime_sec_lbl setStringValue: _NS("sec.")];
[o_specificTime_goTo_lbl setStringValue: _NS("Jump to time")];
+
+ [o_specificTime_enter_fld setFormatter:[[[PositionFormatter alloc] init] autorelease]];
}
- (void)dealloc
@interface VLCThreePartDropView : VLCThreePartImageView
@end
+
+/*****************************************************************************
+ * PositionFormatter interface
+ *
+ * Formats a text field to only accept decimals and :
+ *****************************************************************************/
+@interface PositionFormatter : NSFormatter
+{
+ NSCharacterSet *o_forbidden_characters;
+}
+- (NSString*)stringForObjectValue:(id)obj;
+
+- (BOOL)getObjectValue:(id*)obj forString:(NSString*)string errorDescription:(NSString**)error;
+
+- (bool)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error;
+
+@end
[self setNeedsDisplay:YES];
}
+@end
+
+@implementation PositionFormatter
+
+- (id)init
+{
+ self = [super init];
+ NSMutableCharacterSet *nonNumbers = [[[NSCharacterSet decimalDigitCharacterSet] invertedSet] mutableCopy];
+ [nonNumbers removeCharactersInString:@":"];
+ o_forbidden_characters = [nonNumbers copy];
+
+ return self;
+}
+
+- (NSString*)stringForObjectValue:(id)obj
+{
+ return obj;
+}
+
+- (BOOL)getObjectValue:(id*)obj forString:(NSString*)string errorDescription:(NSString**)error
+{
+ *obj = [[string copy] autorelease];
+ return YES;
+}
+
+- (bool)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error
+{
+ if ([partialString rangeOfCharacterFromSet:o_forbidden_characters options:NSLiteralSearch].location != NSNotFound) {
+ return NO;
+ } else {
+ return YES;
+ }
+}
+
+
@end