diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-01-05 14:14:41 -0800 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-01-24 19:40:40 +0000 |
commit | c1cece8e546a138609c974be94588ba4e72c6fb1 (patch) | |
tree | a355ec5cc99bd1b8ab48ff490afb66fc63d27d7b /src/corelib/tools/qlocale_mac.mm | |
parent | ffc9d27d7eb5c6779c6bf3963bac2dafb2a828cf (diff) |
Fix deprecated API usage
Change-Id: I62448507f80daf6be72994ee99f0fb1aa107eb78
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/corelib/tools/qlocale_mac.mm')
-rw-r--r-- | src/corelib/tools/qlocale_mac.mm | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/src/corelib/tools/qlocale_mac.mm b/src/corelib/tools/qlocale_mac.mm index 8587716446..80b37bec1f 100644 --- a/src/corelib/tools/qlocale_mac.mm +++ b/src/corelib/tools/qlocale_mac.mm @@ -43,9 +43,11 @@ #include "qvariant.h" #include "qdatetime.h" -#if !defined(QWS) && defined(Q_OS_MAC) -# include "private/qcore_mac_p.h" -# include <CoreFoundation/CoreFoundation.h> +#ifdef Q_OS_DARWIN +#include "qtimezone.h" +#include "private/qcore_mac_p.h" +#include <CoreFoundation/CoreFoundation.h> +QT_REQUIRE_CONFIG(timezone); #endif QT_BEGIN_NAMESPACE @@ -121,16 +123,8 @@ static QString macDayName(int day, bool short_format) static QString macDateToString(const QDate &date, bool short_format) { - CFGregorianDate macGDate; - macGDate.year = date.year(); - macGDate.month = date.month(); - macGDate.day = date.day(); - macGDate.hour = 0; - macGDate.minute = 0; - macGDate.second = 0.0; - QCFType<CFDateRef> myDate - = CFDateCreate(0, CFGregorianDateGetAbsoluteTime(macGDate, - QCFType<CFTimeZoneRef>(CFTimeZoneCopyDefault()))); + const QTimeZone tz = QTimeZone::fromCFTimeZone(QCFType<CFTimeZoneRef>(CFTimeZoneCopyDefault())); + QCFType<CFDateRef> myDate = QDateTime(date, QTime(), tz).toCFDate(); QCFType<CFLocaleRef> mylocale = CFLocaleCopyCurrent(); CFDateFormatterStyle style = short_format ? kCFDateFormatterShortStyle : kCFDateFormatterLongStyle; QCFType<CFDateFormatterRef> myFormatter @@ -142,19 +136,8 @@ static QString macDateToString(const QDate &date, bool short_format) static QString macTimeToString(const QTime &time, bool short_format) { - CFGregorianDate macGDate; - // Assume this is local time and the current date - QDate dt = QDate::currentDate(); - macGDate.year = dt.year(); - macGDate.month = dt.month(); - macGDate.day = dt.day(); - macGDate.hour = time.hour(); - macGDate.minute = time.minute(); - macGDate.second = time.second(); - QCFType<CFDateRef> myDate - = CFDateCreate(0, CFGregorianDateGetAbsoluteTime(macGDate, - QCFType<CFTimeZoneRef>(CFTimeZoneCopyDefault()))); - + const QTimeZone tz = QTimeZone::fromCFTimeZone(QCFType<CFTimeZoneRef>(CFTimeZoneCopyDefault())); + QCFType<CFDateRef> myDate = QDateTime(QDate::currentDate(), time, tz).toCFDate(); QCFType<CFLocaleRef> mylocale = CFLocaleCopyCurrent(); CFDateFormatterStyle style = short_format ? kCFDateFormatterShortStyle : kCFDateFormatterLongStyle; QCFType<CFDateFormatterRef> myFormatter = CFDateFormatterCreate(kCFAllocatorDefault, |