From fc8f1231c6da4166cf71e23ba3dd1a93bb2780de Mon Sep 17 00:00:00 2001 From: Florian Geyer Date: Tue, 17 Apr 2012 02:27:38 +0200 Subject: [PATCH] Fix expiry time and bool not being updated. --- src/core/Entry.cpp | 16 ++++++++++++++++ src/core/Entry.h | 2 ++ src/gui/EditEntryWidget.cpp | 6 ++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/core/Entry.cpp b/src/core/Entry.cpp index 1ceabfa1..627c1272 100644 --- a/src/core/Entry.cpp +++ b/src/core/Entry.cpp @@ -313,6 +313,22 @@ void Entry::setNotes(const QString& notes) m_attributes->set("Notes", notes, m_attributes->isProtected("Notes")); } +void Entry::setExpires(const bool& value) +{ + if (m_timeInfo.expires() != value) { + m_timeInfo.setExpires(value); + Q_EMIT modified(); + } +} + +void Entry::setExpiryTime(const QDateTime& dateTime) +{ + if (m_timeInfo.expiryTime() != dateTime) { + m_timeInfo.setExpiryTime(dateTime); + Q_EMIT modified(); + } +} + QList Entry::historyItems() { return m_history; diff --git a/src/core/Entry.h b/src/core/Entry.h index bcfa10dc..cad1b262 100644 --- a/src/core/Entry.h +++ b/src/core/Entry.h @@ -89,6 +89,8 @@ public: void setUsername(const QString& username); void setPassword(const QString& password); void setNotes(const QString& notes); + void setExpires(const bool& value); + void setExpiryTime(const QDateTime& dateTime); QList historyItems(); const QList& historyItems() const; diff --git a/src/gui/EditEntryWidget.cpp b/src/gui/EditEntryWidget.cpp index cba9d832..5ec38bf6 100644 --- a/src/gui/EditEntryWidget.cpp +++ b/src/gui/EditEntryWidget.cpp @@ -120,8 +120,10 @@ void EditEntryWidget::saveEntry() m_entry->setUrl(m_mainUi->urlEdit->text()); // TODO check password repeat field m_entry->setPassword(m_mainUi->passwordEdit->text()); - m_entry->timeInfo().setExpires(m_mainUi->expireCheck->isChecked()); - m_entry->timeInfo().setExpiryTime(m_mainUi->expireDatePicker->dateTime()); + m_entry->setExpires(m_mainUi->expireCheck->isChecked()); + QDateTime dateTime(m_mainUi->expireDatePicker->dateTime()); + dateTime.setTimeSpec(Qt::UTC); + m_entry->setExpiryTime(dateTime); m_entry->setNotes(m_notesUi->notesEdit->toPlainText());