From 66f5bfc7e76b56a27e9490a8a02b053356469bff Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Tue, 26 Jun 2018 20:19:21 -0700 Subject: [PATCH] #405: localize Cancel button --- widget/cocoa/nsDatePicker.mm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/widget/cocoa/nsDatePicker.mm b/widget/cocoa/nsDatePicker.mm index db644b4b5..684f27e6c 100644 --- a/widget/cocoa/nsDatePicker.mm +++ b/widget/cocoa/nsDatePicker.mm @@ -12,6 +12,8 @@ #include "nsReadableUtils.h" #include "nsNetUtil.h" #include "nsIComponentManager.h" +#include "nsQueryObject.h" +#include "nsServiceManagerUtils.h" #include "nsIStringBundle.h" #include "nsCocoaFeatures.h" #include "nsCocoaUtils.h" @@ -280,6 +282,8 @@ NS_IMPL_ISUPPORTS(nsDatePicker, nsIDatePicker) nsDatePicker::nsDatePicker() { mHasDefault = false; + mHasMin = false; + mHasMax = false; } nsDatePicker::~nsDatePicker() @@ -311,13 +315,28 @@ int16_t nsDatePicker::GetDate() { NS_OBJC_BEGIN_TRY_ABORT_BLOCK_RETURN; + nsCOMPtr stringBundle; + NSString *cancelString = @"Cancel"; + nsXPIDLString intlString; + nsresult rv; + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setFormatterBehavior:NSDateFormatterBehavior10_4]; [formatter setDateFormat:@"yyyy-MM-dd"]; + + nsCOMPtr bundleSvc = do_GetService(NS_STRINGBUNDLE_CONTRACTID); + rv = bundleSvc->CreateBundle("chrome://global/locale/commonDialogs.properties", getter_AddRefs(stringBundle)); + if (NS_SUCCEEDED(rv)) { + stringBundle->GetStringFromName(MOZ_UTF16("Cancel"), getter_Copies(intlString)); + if (intlString) + cancelString = [NSString stringWithCharacters:reinterpret_cast(intlString.get()) + length:intlString.Length()]; + } + NSDoubleDatePicker *alert = [NSDoubleDatePicker alertWithMessageText:@" "// XXX: localize this eventually defaultButton:nil // "OK" - alternateButton:nil // "Cancel" + alternateButton:cancelString // "Cancel" otherButton:nil // nothin' informativeTextWithFormat:@""]; if (mHasDefault) {