diff --git a/datetime/integrationplugindatetime.cpp b/datetime/integrationplugindatetime.cpp index b99c614f..b0c073ae 100644 --- a/datetime/integrationplugindatetime.cpp +++ b/datetime/integrationplugindatetime.cpp @@ -41,7 +41,7 @@ IntegrationPluginDateTime::IntegrationPluginDateTime() : m_timer(nullptr), m_todayDevice(nullptr), - m_timeZone(QTimeZone(QTimeZone::systemTimeZoneId())), + m_timeZone(QTimeZone::systemTimeZoneId()), m_dusk(QDateTime()), m_sunrise(QDateTime()), m_noon(QDateTime()), @@ -288,12 +288,11 @@ void IntegrationPluginDateTime::processTimesData(const QByteArray &data) QString duskString = result.value("civil_twilight_end").toString(); // calculate the times in each alarm - - m_dawn = QDateTime(QDate::currentDate(), parseTime(dawnString), Qt::UTC).toTimeZone(m_timeZone); - m_sunrise = QDateTime(QDate::currentDate(), parseTime(sunriseString), Qt::UTC).toTimeZone(m_timeZone); - m_noon = QDateTime(QDate::currentDate(), parseTime(noonString), Qt::UTC).toTimeZone(m_timeZone); - m_sunset = QDateTime(QDate::currentDate(), parseTime(sunsetString), Qt::UTC).toTimeZone(m_timeZone); - m_dusk = QDateTime(QDate::currentDate(), parseTime(duskString), Qt::UTC).toTimeZone(m_timeZone); + m_dawn = QDateTime(QDate::currentDate(), QTime::fromString(dawnString, "h:mm:ss AP"), Qt::UTC).toTimeZone(m_timeZone); + m_sunrise = QDateTime(QDate::currentDate(), QTime::fromString(sunriseString, "h:mm:ss AP"), Qt::UTC).toTimeZone(m_timeZone); + m_noon = QDateTime(QDate::currentDate(), QTime::fromString(noonString, "h:mm:ss AP"), Qt::UTC).toTimeZone(m_timeZone); + m_sunset = QDateTime(QDate::currentDate(), QTime::fromString(sunsetString, "h:mm:ss AP"), Qt::UTC).toTimeZone(m_timeZone); + m_dusk = QDateTime(QDate::currentDate(), QTime::fromString(duskString, "h:mm:ss AP"), Qt::UTC).toTimeZone(m_timeZone); qCDebug(dcDateTime) << " dawn :" << m_dawn.toString() << dawnString; qCDebug(dcDateTime) << " sunrise :" << m_sunrise.toString() << sunriseString; @@ -305,18 +304,6 @@ void IntegrationPluginDateTime::processTimesData(const QByteArray &data) updateTimes(); } -QTime IntegrationPluginDateTime::parseTime(const QString &timeString) const -{ - bool isPm = timeString.endsWith(" PM"); - QString tmp = QString(timeString).remove(QRegExp("[ APM]*")); - QStringList parts = tmp.split(":"); - if (parts.count() != 3) { - qCWarning(dcDateTime()) << "Error parsing timeString:" << timeString; - return QTime(); - } - return QTime(parts.first().toInt(), parts.at(1).toInt(), parts.last().toInt()).addSecs(isPm ? 60 * 60 * 12 : 0); -} - void IntegrationPluginDateTime::onNetworkReplayFinished() { QNetworkReply *reply = static_cast(sender()); diff --git a/datetime/integrationplugindatetime.h b/datetime/integrationplugindatetime.h index 29542d17..99d77dab 100644 --- a/datetime/integrationplugindatetime.h +++ b/datetime/integrationplugindatetime.h @@ -83,8 +83,6 @@ private: void getTimes(const QString &latitude, const QString &longitude); void processTimesData(const QByteArray &data); - QTime parseTime(const QString &timeString) const; - signals: void dusk(); void sunset();