void EditGroupWidget::loadGroup(Group* group, bool create, Database* database) { m_group = group; m_database = database; if (create) { setHeadline(tr("Add group")); } else { setHeadline(tr("Edit group")); } m_mainUi->editName->setText(m_group->name()); m_mainUi->editNotes->setPlainText(m_group->notes()); m_mainUi->expireCheck->setChecked(group->timeInfo().expires()); m_mainUi->expireDatePicker->setDateTime(group->timeInfo().expiryTime().toLocalTime()); m_mainUi->searchComboBox->setCurrentIndex(indexFromTriState(group->searchingEnabled())); m_mainUi->autotypeComboBox->setCurrentIndex(indexFromTriState(group->autoTypeEnabled())); IconStruct iconStruct; iconStruct.uuid = group->iconUuid(); iconStruct.number = group->iconNumber(); m_editGroupWidgetIcons->load(group->uuid(), database, iconStruct); m_editWidgetProperties->setFields(group->timeInfo(), group->uuid()); setCurrentRow(0); m_mainUi->editName->setFocus(); }
void EditGroupWidget::loadGroup(Group* group, bool create, const QSharedPointer<Database>& database) { m_group = group; m_db = database; m_temporaryGroup.reset(group->clone(Entry::CloneNoFlags, Group::CloneNoFlags)); connect(m_temporaryGroup->customData(), SIGNAL(customDataModified()), SLOT(setModified())); if (create) { setHeadline(tr("Add group")); } else { setHeadline(tr("Edit group")); } if (m_group->parentGroup()) { addTriStateItems(m_mainUi->searchComboBox, m_group->parentGroup()->resolveSearchingEnabled()); addTriStateItems(m_mainUi->autotypeComboBox, m_group->parentGroup()->resolveAutoTypeEnabled()); } else { addTriStateItems(m_mainUi->searchComboBox, true); addTriStateItems(m_mainUi->autotypeComboBox, true); } m_mainUi->editName->setText(m_group->name()); m_mainUi->editNotes->setPlainText(m_group->notes()); m_mainUi->expireCheck->setChecked(group->timeInfo().expires()); m_mainUi->expireDatePicker->setDateTime(group->timeInfo().expiryTime().toLocalTime()); m_mainUi->searchComboBox->setCurrentIndex(indexFromTriState(group->searchingEnabled())); m_mainUi->autotypeComboBox->setCurrentIndex(indexFromTriState(group->autoTypeEnabled())); if (group->defaultAutoTypeSequence().isEmpty()) { m_mainUi->autoTypeSequenceInherit->setChecked(true); } else { m_mainUi->autoTypeSequenceCustomRadio->setChecked(true); } m_mainUi->autoTypeSequenceCustomEdit->setText(group->effectiveAutoTypeSequence()); IconStruct iconStruct; iconStruct.uuid = m_temporaryGroup->iconUuid(); iconStruct.number = m_temporaryGroup->iconNumber(); m_editGroupWidgetIcons->load(m_temporaryGroup->uuid(), m_db, iconStruct); m_editWidgetProperties->setFields(m_temporaryGroup->timeInfo(), m_temporaryGroup->uuid()); m_editWidgetProperties->setCustomData(m_temporaryGroup->customData()); for (const ExtraPage& page : asConst(m_extraPages)) { page.set(m_temporaryGroup.data(), m_db); } setCurrentPage(0); m_mainUi->editName->setFocus(); // Force the user to Save/Discard new groups showApplyButton(!create); setModified(false); }