diff --git a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp index e0bf7b01a..a71988c6f 100644 --- a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp +++ b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp @@ -111,13 +111,12 @@ std::shared_ptr ConferenceInfoModel::getConferenceInfo QDateTime ConferenceInfoModel::getDateTimeUtc() const{ - return QDateTime::fromMSecsSinceEpoch(mConferenceInfo->getDateTime() * 1000); + return QDateTime::fromMSecsSinceEpoch(mConferenceInfo->getDateTime() * 1000).toUTC(); } QDateTime ConferenceInfoModel::getDateTimeSystem() const{ QDateTime utc = getDateTimeUtc(); - QDateTime system = utc.addSecs(mTimeZone.offsetFromUtc(utc)); - return system; + return utc.addSecs(QTimeZone::systemTimeZone().offsetFromUtc(utc)); } int ConferenceInfoModel::getDuration() const{ @@ -183,15 +182,15 @@ TimeZoneModel* ConferenceInfoModel::getTimeZoneModel() const{ } //------------------------------------------------------------------------------------------------ -// Convert into UTC with TimeZone +// Convert into UTC with TimeZone and pass system timezone to conference info void ConferenceInfoModel::setDateTime(const QDateTime& dateTime){ QDateTime utc = dateTime.addSecs( -mTimeZone.offsetFromUtc(dateTime)); - mConferenceInfo->setDateTime(utc.toMSecsSinceEpoch() / 1000); + QDateTime system = utc.addSecs(QTimeZone::systemTimeZone().offsetFromUtc(utc)); + mConferenceInfo->setDateTime(system.toMSecsSinceEpoch() / 1000); emit dateTimeChanged(); } void ConferenceInfoModel::setDuration(const int& duration){ - qWarning() << "Set Duration: " << duration; mConferenceInfo->setDuration(duration); emit durationChanged(); } diff --git a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.hpp b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.hpp index a419aae4a..dddf37d63 100644 --- a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.hpp +++ b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.hpp @@ -37,6 +37,7 @@ class ConferenceInfoModel : public QObject { public: Q_PROPERTY(TimeZoneModel * timeZoneModel READ getTimeZoneModel WRITE setTimeZoneModel NOTIFY timeZoneModelChanged) Q_PROPERTY(QDateTime dateTime READ getDateTimeSystem WRITE setDateTime NOTIFY dateTimeChanged) + Q_PROPERTY(QDateTime dateTimeUtc READ getDateTimeUtc NOTIFY dateTimeChanged) Q_PROPERTY(int duration READ getDuration WRITE setDuration NOTIFY durationChanged) Q_PROPERTY(QDateTime endDateTime READ getEndDateTime NOTIFY dateTimeChanged) Q_PROPERTY(QString organizer READ getOrganizer WRITE setOrganizer NOTIFY organizerChanged) diff --git a/linphone-app/ui/modules/Linphone/Chat/ChatConferenceInvitationMessage.qml b/linphone-app/ui/modules/Linphone/Chat/ChatConferenceInvitationMessage.qml index 2970710fb..c9d74a65e 100644 --- a/linphone-app/ui/modules/Linphone/Chat/ChatConferenceInvitationMessage.qml +++ b/linphone-app/ui/modules/Linphone/Chat/ChatConferenceInvitationMessage.qml @@ -136,7 +136,7 @@ Loader{ color: ChatCalendarMessageStyle.schedule.color elide: Text.ElideRight font.pointSize: ChatCalendarMessageStyle.calendar.pointSize - text: Qt.formatDate(mainItem.conferenceInfoModel.dateTime, 'yyyy/MM/dd') + text: Qt.formatDate(mainItem.conferenceInfoModel.dateTimeUtc, 'yyyy/MM/dd') } } RowLayout { @@ -162,7 +162,7 @@ Loader{ color: ChatCalendarMessageStyle.schedule.color elide: Text.ElideRight font.pointSize: ChatCalendarMessageStyle.schedule.pointSize - text: Qt.formatDateTime(mainItem.conferenceInfoModel.dateTime, 'hh:mm') + text: Qt.formatDateTime(mainItem.conferenceInfoModel.dateTimeUtc, 'hh:mm') + (mainItem.conferenceInfoModel.duration > 0 ? ' ('+Utils.formatDuration(mainItem.conferenceInfoModel.duration * 60) + ')' : '') }