From cf8186312ab609271653dd525e52b75a01ca1705 Mon Sep 17 00:00:00 2001 From: Felix Geyer Date: Mon, 1 Aug 2016 00:04:09 +0200 Subject: [PATCH] Refactor parts of EditEntryWidget::saveEntry() into updateEntryData(). --- src/gui/entry/EditEntryWidget.cpp | 75 ++++++++++++++++--------------- src/gui/entry/EditEntryWidget.h | 1 + 2 files changed, 41 insertions(+), 35 deletions(-) diff --git a/src/gui/entry/EditEntryWidget.cpp b/src/gui/entry/EditEntryWidget.cpp index 6d5cfdc93..fdd13eca3 100644 --- a/src/gui/entry/EditEntryWidget.cpp +++ b/src/gui/entry/EditEntryWidget.cpp @@ -414,55 +414,60 @@ void EditEntryWidget::saveEntry() // we don't want to create a new history item, if only the history has changed m_entry->removeHistoryItems(m_historyModel->deletedEntries()); + m_autoTypeAssoc->removeEmpty(); + if (!m_create) { m_entry->beginUpdate(); } - m_entry->setTitle(m_mainUi->titleEdit->text()); - m_entry->setUsername(m_mainUi->usernameEdit->text()); - m_entry->setUrl(m_mainUi->urlEdit->text()); - m_entry->setPassword(m_mainUi->passwordEdit->text()); - m_entry->setExpires(m_mainUi->expireCheck->isChecked()); - m_entry->setExpiryTime(m_mainUi->expireDatePicker->dateTime().toUTC()); - - m_entry->setNotes(m_mainUi->notesEdit->toPlainText()); - - m_entry->attributes()->copyCustomKeysFrom(m_entryAttributes); - m_entry->attachments()->copyDataFrom(m_entryAttachments); - - IconStruct iconStruct = m_iconsWidget->state(); - - if (iconStruct.number < 0) { - m_entry->setIcon(Entry::DefaultIconNumber); - } - else if (iconStruct.uuid.isNull()) { - m_entry->setIcon(iconStruct.number); - } - else { - m_entry->setIcon(iconStruct.uuid); - } - - m_entry->setAutoTypeEnabled(m_autoTypeUi->enableButton->isChecked()); - if (m_autoTypeUi->inheritSequenceButton->isChecked()) { - m_entry->setDefaultAutoTypeSequence(QString()); - } - else { - m_entry->setDefaultAutoTypeSequence(m_autoTypeUi->sequenceEdit->text()); - } - - m_autoTypeAssoc->removeEmpty(); - m_entry->autoTypeAssociations()->copyDataFrom(m_autoTypeAssoc); + updateEntryData(m_entry); if (!m_create) { m_entry->endUpdate(); } - clear(); Q_EMIT editFinished(true); } +void EditEntryWidget::updateEntryData(Entry* entry) const +{ + entry->setTitle(m_mainUi->titleEdit->text()); + entry->setUsername(m_mainUi->usernameEdit->text()); + entry->setUrl(m_mainUi->urlEdit->text()); + entry->setPassword(m_mainUi->passwordEdit->text()); + entry->setExpires(m_mainUi->expireCheck->isChecked()); + entry->setExpiryTime(m_mainUi->expireDatePicker->dateTime().toUTC()); + + entry->setNotes(m_mainUi->notesEdit->toPlainText()); + + entry->attributes()->copyCustomKeysFrom(m_entryAttributes); + entry->attachments()->copyDataFrom(m_entryAttachments); + + IconStruct iconStruct = m_iconsWidget->state(); + + if (iconStruct.number < 0) { + entry->setIcon(Entry::DefaultIconNumber); + } + else if (iconStruct.uuid.isNull()) { + entry->setIcon(iconStruct.number); + } + else { + entry->setIcon(iconStruct.uuid); + } + + entry->setAutoTypeEnabled(m_autoTypeUi->enableButton->isChecked()); + if (m_autoTypeUi->inheritSequenceButton->isChecked()) { + entry->setDefaultAutoTypeSequence(QString()); + } + else { + entry->setDefaultAutoTypeSequence(m_autoTypeUi->sequenceEdit->text()); + } + + entry->autoTypeAssociations()->copyDataFrom(m_autoTypeAssoc); +} + void EditEntryWidget::cancel() { if (m_history) { diff --git a/src/gui/entry/EditEntryWidget.h b/src/gui/entry/EditEntryWidget.h index 3c66b2a57..a13cecb82 100644 --- a/src/gui/entry/EditEntryWidget.h +++ b/src/gui/entry/EditEntryWidget.h @@ -107,6 +107,7 @@ private: bool passwordsEqual(); void setForms(const Entry* entry, bool restore = false); QMenu* createPresetsMenu(); + void updateEntryData(Entry* entry) const; Entry* m_entry; Database* m_database;