mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-27 08:49:19 +00:00
Fix timezone on conference creation.
Fix ICS to display conference start time in system timezone.
This commit is contained in:
parent
d4d07ff7ab
commit
c49fee7e68
3 changed files with 8 additions and 8 deletions
|
|
@ -111,13 +111,12 @@ std::shared_ptr<linphone::ConferenceInfo> 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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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) + ')'
|
||||
: '')
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue