From d46b9b5aad1069ee7b8278fc7dd5e0df935579a9 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sun, 11 May 2014 22:11:08 +0100 Subject: [PATCH] Fixed: text date picker stepper incorrectly enabled after decode. Without this fix the textual date picker would properly disable the text field bit but not its stepper when unarchived. --- AppKit/CPDatePicker/CPDatePicker.j | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AppKit/CPDatePicker/CPDatePicker.j b/AppKit/CPDatePicker/CPDatePicker.j index c4442a7b1..d9b5b3094 100644 --- a/AppKit/CPDatePicker/CPDatePicker.j +++ b/AppKit/CPDatePicker/CPDatePicker.j @@ -216,6 +216,9 @@ CPEraDatePickerElementFlag = 0x0100; [_datePickerCalendar setHidden:YES]; [self addSubview:_datePickerCalendar]; + // We might have been unarchived in a disabled state. + [_datePickerTextfield setEnabled:[self isEnabled]]; + [self setNeedsDisplay:YES]; [self setNeedsLayout]; } @@ -651,7 +654,9 @@ var CPDatePickerModeKey = @"CPDatePickerModeKey", - (void)encodeWithCoder:(CPCoder)aCoder { + // FIXME Do we need to encode _datePickerTextfield and _datePickerCalendar? As subviews they'll be encoded, but when we decode we recreate them anyhow. [super encodeWithCoder:aCoder]; + [aCoder encodeDouble:_timeInterval forKey:CPIntervalKey]; [aCoder encodeInt:_datePickerMode forKey:CPDatePickerModeKey]; [aCoder encodeInt:_datePickerStyle forKey:CPDatePickerStyleKey]; @@ -664,6 +669,7 @@ var CPDatePickerModeKey = @"CPDatePickerModeKey", [aCoder encodeObject:_backgroundColor forKey:CPBackgroundColorKey]; [aCoder encodeObject:_drawsBackground forKey:CPDrawsBackgroundKey]; [aCoder encodeObject:_isBordered forKey:CPBorderedKey]; + } @end