mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-12-28 00:39:43 -05:00
Add signals for attribute and attachment changes.
This commit is contained in:
parent
57a953476a
commit
9aaec3499d
@ -264,6 +264,13 @@ void Entry::addAutoTypeAssociation(const AutoTypeAssociation& assoc)
|
|||||||
|
|
||||||
void Entry::setAttribute(const QString& key, const QString& value, bool protect)
|
void Entry::setAttribute(const QString& key, const QString& value, bool protect)
|
||||||
{
|
{
|
||||||
|
bool addAttribute = !m_attributes.contains(key);
|
||||||
|
bool defaultAttribute = isDefaultAttribute(key);
|
||||||
|
|
||||||
|
if (addAttribute && !defaultAttribute) {
|
||||||
|
Q_EMIT attributeAboutToBeAdded(key);
|
||||||
|
}
|
||||||
|
|
||||||
m_attributes.insert(key, value);
|
m_attributes.insert(key, value);
|
||||||
|
|
||||||
if (protect) {
|
if (protect) {
|
||||||
@ -273,21 +280,42 @@ void Entry::setAttribute(const QString& key, const QString& value, bool protect)
|
|||||||
m_protectedAttributes.remove(key);
|
m_protectedAttributes.remove(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isDefaultAttribute(key)) {
|
if (defaultAttribute) {
|
||||||
Q_EMIT dataChanged(this);
|
Q_EMIT dataChanged(this);
|
||||||
}
|
}
|
||||||
|
else if (addAttribute) {
|
||||||
|
Q_EMIT attributeAdded(key);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Q_EMIT attributeChanged(key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Entry::removeAttribute(const QString& key)
|
void Entry::removeAttribute(const QString& key)
|
||||||
{
|
{
|
||||||
Q_ASSERT(!isDefaultAttribute(key));
|
Q_ASSERT(!isDefaultAttribute(key));
|
||||||
|
|
||||||
|
if (!m_attributes.contains(key)) {
|
||||||
|
Q_ASSERT(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Q_EMIT attributeAboutToBeRemoved(key);
|
||||||
|
|
||||||
m_attributes.remove(key);
|
m_attributes.remove(key);
|
||||||
m_protectedAttributes.remove(key);
|
m_protectedAttributes.remove(key);
|
||||||
|
|
||||||
|
Q_EMIT attributeRemoved(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Entry::setAttachment(const QString& key, const QByteArray& value, bool protect)
|
void Entry::setAttachment(const QString& key, const QByteArray& value, bool protect)
|
||||||
{
|
{
|
||||||
|
bool addAttachment = !m_binaries.contains(key);
|
||||||
|
|
||||||
|
if (addAttachment) {
|
||||||
|
Q_EMIT attachmentAboutToBeAdded(key);
|
||||||
|
}
|
||||||
|
|
||||||
m_binaries.insert(key, value);
|
m_binaries.insert(key, value);
|
||||||
|
|
||||||
if (protect) {
|
if (protect) {
|
||||||
@ -296,12 +324,28 @@ void Entry::setAttachment(const QString& key, const QByteArray& value, bool prot
|
|||||||
else {
|
else {
|
||||||
m_protectedAttachments.remove(key);
|
m_protectedAttachments.remove(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (addAttachment) {
|
||||||
|
Q_EMIT attachmentAdded(key);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Q_EMIT attachmentChanged(key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Entry::removeAttachment(const QString& key)
|
void Entry::removeAttachment(const QString& key)
|
||||||
{
|
{
|
||||||
|
if (!m_binaries.contains(key)) {
|
||||||
|
Q_ASSERT(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Q_EMIT attachmentAboutToBeRemoved(key);
|
||||||
|
|
||||||
m_binaries.remove(key);
|
m_binaries.remove(key);
|
||||||
m_protectedAttachments.remove(key);
|
m_protectedAttachments.remove(key);
|
||||||
|
|
||||||
|
Q_EMIT attachmentRemoved(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Entry::setTitle(const QString& title)
|
void Entry::setTitle(const QString& title)
|
||||||
|
@ -109,6 +109,18 @@ Q_SIGNALS:
|
|||||||
*/
|
*/
|
||||||
void dataChanged(Entry* entry);
|
void dataChanged(Entry* entry);
|
||||||
|
|
||||||
|
void attributeChanged(QString key);
|
||||||
|
void attributeAboutToBeAdded(QString key);
|
||||||
|
void attributeAdded(QString key);
|
||||||
|
void attributeAboutToBeRemoved(QString key);
|
||||||
|
void attributeRemoved(QString key);
|
||||||
|
|
||||||
|
void attachmentChanged(QString key);
|
||||||
|
void attachmentAboutToBeAdded(QString key);
|
||||||
|
void attachmentAdded(QString key);
|
||||||
|
void attachmentAboutToBeRemoved(QString key);
|
||||||
|
void attachmentRemoved(QString key);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Uuid m_uuid;
|
Uuid m_uuid;
|
||||||
int m_iconNumber;
|
int m_iconNumber;
|
||||||
|
Loading…
Reference in New Issue
Block a user