diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp index 09e21a0715..b8961df29a 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryTimeAxisProperties.cpp @@ -301,8 +301,7 @@ bool RimSummaryTimeAxisProperties::isActive() const //-------------------------------------------------------------------------------------------------- QDateTime RimSummaryTimeAxisProperties::visibleDateTimeMin() const { - QDateTime fullMin(m_visibleDateRangeMin(), m_visibleTimeRangeMin()); - return fullMin; + return RiaQDateTimeTools::createUtcDateTime(m_visibleDateRangeMin(), m_visibleTimeRangeMin()); } //-------------------------------------------------------------------------------------------------- @@ -310,8 +309,7 @@ QDateTime RimSummaryTimeAxisProperties::visibleDateTimeMin() const //-------------------------------------------------------------------------------------------------- QDateTime RimSummaryTimeAxisProperties::visibleDateTimeMax() const { - QDateTime fullMax(m_visibleDateRangeMax(), m_visibleTimeRangeMax()); - return fullMax; + return RiaQDateTimeTools::createUtcDateTime(m_visibleDateRangeMax(), m_visibleTimeRangeMax()); } //-------------------------------------------------------------------------------------------------- diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.cpp index ef3c333389..8008abacec 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.cpp @@ -34,7 +34,6 @@ // //################################################################################################## - #include "cafPdmUiTimeEditor.h" #include "cafFactory.h" @@ -43,11 +42,10 @@ #include "cafPdmUiDefaultObjectEditor.h" #include "cafPdmUiFieldEditorHandle.h" #include "cafPdmUiOrdering.h" -#include "cafSelectionManager.h" #include "cafQShortenedLabel.h" +#include "cafSelectionManager.h" #include -#include #include #include #include @@ -58,64 +56,69 @@ #include #include - namespace caf { +CAF_PDM_UI_FIELD_EDITOR_SOURCE_INIT(PdmUiTimeEditor); - CAF_PDM_UI_FIELD_EDITOR_SOURCE_INIT(PdmUiTimeEditor); +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiTimeEditor::configureAndUpdateUi(const QString& uiConfigName) +{ + CAF_ASSERT(!m_timeEdit.isNull()); + PdmUiFieldEditorHandle::updateLabelFromField(m_label, uiConfigName); - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - void PdmUiTimeEditor::configureAndUpdateUi(const QString& uiConfigName) - { - CAF_ASSERT(!m_timeEdit.isNull()); + m_timeEdit->setEnabled(!uiField()->isUiReadOnly(uiConfigName)); - PdmUiFieldEditorHandle::updateLabelFromField(m_label, uiConfigName); + caf::PdmUiObjectHandle* uiObject = uiObj(uiField()->fieldHandle()->ownerObject()); + if (uiObject) + { + uiObject->editorAttribute(uiField()->fieldHandle(), uiConfigName, &m_attributes); + } - m_timeEdit->setEnabled(!uiField()->isUiReadOnly(uiConfigName)); + if (!m_attributes.timeFormat.isEmpty()) + { + m_timeEdit->setDisplayFormat(m_attributes.timeFormat); + } - caf::PdmUiObjectHandle* uiObject = uiObj(uiField()->fieldHandle()->ownerObject()); - if (uiObject) - { - uiObject->editorAttribute(uiField()->fieldHandle(), uiConfigName, &m_attributes); - } + m_timeEdit->setTime(uiField()->uiValue().toTime()); +} - if (!m_attributes.timeFormat.isEmpty()) - { - m_timeEdit->setDisplayFormat(m_attributes.timeFormat); - } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* PdmUiTimeEditor::createEditorWidget(QWidget* parent) +{ + m_timeEdit = new QTimeEdit(parent); + connect(m_timeEdit, SIGNAL(editingFinished()), this, SLOT(slotEditingFinished())); + connect(m_timeEdit, SIGNAL(timeChanged(QTime)), this, SLOT(slotTimeChanged(QTime))); + return m_timeEdit; +} - m_timeEdit->setDate(uiField()->uiValue().toDate()); - } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* PdmUiTimeEditor::createLabelWidget(QWidget* parent) +{ + m_label = new QShortenedLabel(parent); + return m_label; +} +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiTimeEditor::slotEditingFinished() +{ + this->setValueToField(m_timeEdit->time()); +} - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - QWidget* PdmUiTimeEditor::createEditorWidget(QWidget* parent) - { - m_timeEdit = new QTimeEdit(parent); - connect(m_timeEdit, SIGNAL(editingFinished()), this, SLOT(slotEditingFinished())); - return m_timeEdit; - } - - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - QWidget* PdmUiTimeEditor::createLabelWidget(QWidget* parent) - { - m_label = new QShortenedLabel(parent); - return m_label; - } - - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - void PdmUiTimeEditor::slotEditingFinished() - { - this->setValueToField(m_timeEdit->date()); - } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiTimeEditor::slotTimeChanged(const QTime& time) +{ + this->setValueToField(m_timeEdit->time()); +} } // end namespace caf diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.h index 2e97b347d5..2aa8865b4d 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTimeEditor.h @@ -34,60 +34,56 @@ // //################################################################################################## - #pragma once #include "cafPdmUiFieldEditorHandle.h" -#include #include #include #include +#include #include namespace caf { +//================================================================================================== +/// +//================================================================================================== +class PdmUiTimeEditorAttribute : public PdmUiEditorAttribute +{ +public: + QString timeFormat; - //================================================================================================== - /// - //================================================================================================== - class PdmUiTimeEditorAttribute : public PdmUiEditorAttribute - { - public: - QString timeFormat; +public: + PdmUiTimeEditorAttribute() {} +}; - public: - PdmUiTimeEditorAttribute() - { - } - }; +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class PdmUiTimeEditor : public PdmUiFieldEditorHandle +{ + Q_OBJECT + CAF_PDM_UI_FIELD_EDITOR_HEADER_INIT; - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- - class PdmUiTimeEditor : public PdmUiFieldEditorHandle - { - Q_OBJECT - CAF_PDM_UI_FIELD_EDITOR_HEADER_INIT; +public: + PdmUiTimeEditor() {} + ~PdmUiTimeEditor() override {} - public: - PdmUiTimeEditor() {} - ~PdmUiTimeEditor() override {} +protected: + QWidget* createEditorWidget(QWidget* parent) override; + QWidget* createLabelWidget(QWidget* parent) override; + void configureAndUpdateUi(const QString& uiConfigName) override; - protected: - QWidget* createEditorWidget(QWidget * parent) override; - QWidget* createLabelWidget(QWidget * parent) override; - void configureAndUpdateUi(const QString& uiConfigName) override; +protected slots: + void slotEditingFinished(); + void slotTimeChanged(const QTime& time); - protected slots: - void slotEditingFinished(); - - private: - QPointer m_timeEdit; - QPointer m_label; - - PdmUiTimeEditorAttribute m_attributes; - }; +private: + QPointer m_timeEdit; + QPointer m_label; + PdmUiTimeEditorAttribute m_attributes; +}; } // end namespace caf