Changeset View
Changeset View
Standalone View
Standalone View
kmymoney/mymoney/mymoneyobject.cpp
Context not available. | |||||
15 | ***************************************************************************/ | 15 | ***************************************************************************/ | ||
---|---|---|---|---|---|
16 | 16 | | |||
17 | #include "mymoneyobject.h" | 17 | #include "mymoneyobject.h" | ||
18 | #include "mymoneyobject_p.h" | ||||
18 | 19 | | |||
19 | // ---------------------------------------------------------------------------- | 20 | // ---------------------------------------------------------------------------- | ||
20 | // QT Includes | 21 | // QT Includes | ||
21 | 22 | | |||
22 | #include <QString> | | |||
23 | #include <QDomElement> | | |||
24 | | ||||
25 | // ---------------------------------------------------------------------------- | 23 | // ---------------------------------------------------------------------------- | ||
26 | // Project Includes | 24 | // Project Includes | ||
27 | 25 | | |||
28 | #include "mymoneyexception.h" | 26 | #include "mymoneyexception.h" | ||
29 | 27 | | |||
30 | const QString MyMoneyObject::m_emptyId; | 28 | MyMoneyObject::MyMoneyObject(const QString& id) : | ||
31 | 29 | d_ptr(new MyMoneyObjectPrivate) | |||
32 | MyMoneyObject::MyMoneyObject(const QString& id) | | |||
33 | { | 30 | { | ||
34 | m_id = id; | 31 | Q_D(MyMoneyObject); | ||
32 | d->m_id = id; | ||||
35 | } | 33 | } | ||
36 | 34 | | |||
37 | MyMoneyObject::MyMoneyObject(const QDomElement& el, const bool forceId) | 35 | MyMoneyObject::MyMoneyObject(const QDomElement& node, bool forceId) | ||
38 | { | 36 | { | ||
39 | m_id = el.attribute("id"); | 37 | Q_D(MyMoneyObject); | ||
40 | if (m_id.length() == 0 && forceId) | 38 | d->m_id = node.attribute(QStringLiteral("id")); | ||
39 | if (d->m_id.length() == 0 && forceId) | ||||
41 | throw MYMONEYEXCEPTION("Node has no ID"); | 40 | throw MYMONEYEXCEPTION("Node has no ID"); | ||
42 | } | 41 | } | ||
43 | 42 | | |||
44 | MyMoneyObject::MyMoneyObject() | 43 | MyMoneyObject::MyMoneyObject() : | ||
44 | d_ptr(new MyMoneyObjectPrivate) | ||||
45 | { | 45 | { | ||
46 | } | 46 | } | ||
47 | 47 | | |||
48 | MyMoneyObject::~MyMoneyObject() | 48 | MyMoneyObject::MyMoneyObject(MyMoneyObjectPrivate &dd) : | ||
49 | d_ptr(&dd) | ||||
49 | { | 50 | { | ||
50 | } | 51 | } | ||
51 | 52 | | |||
52 | QString MyMoneyObject::id() const | 53 | MyMoneyObject::MyMoneyObject(MyMoneyObjectPrivate &dd, | ||
54 | const QString& id) : | ||||
55 | d_ptr(&dd) | ||||
53 | { | 56 | { | ||
54 | return m_id; | 57 | Q_D(MyMoneyObject); | ||
58 | d->m_id = id; | ||||
55 | } | 59 | } | ||
56 | 60 | | |||
57 | void MyMoneyObject::setId(const QString& id) | 61 | MyMoneyObject::MyMoneyObject(MyMoneyObjectPrivate &dd, | ||
62 | const QDomElement& node, | ||||
63 | bool forceId) : | ||||
64 | d_ptr(&dd) | ||||
58 | { | 65 | { | ||
59 | m_id = id; | 66 | Q_D(MyMoneyObject); | ||
67 | d->m_id = node.attribute(QStringLiteral("id")); | ||||
68 | if (d->m_id.length() == 0 && forceId) | ||||
69 | throw MYMONEYEXCEPTION("Node has no ID"); | ||||
60 | } | 70 | } | ||
61 | 71 | | |||
62 | bool MyMoneyObject::operator == (const MyMoneyObject& right) const | 72 | MyMoneyObject::~MyMoneyObject() | ||
63 | { | 73 | { | ||
64 | return m_id == right.m_id; | 74 | Q_D(MyMoneyObject); | ||
75 | delete d; | ||||
65 | } | 76 | } | ||
66 | 77 | | |||
67 | void MyMoneyObject::clearId() | 78 | QString MyMoneyObject::id() const | ||
68 | { | 79 | { | ||
69 | m_id.clear(); | 80 | Q_D(const MyMoneyObject); | ||
81 | return d->m_id; | ||||
70 | } | 82 | } | ||
71 | 83 | | |||
72 | const QString& MyMoneyObject::emptyId() | 84 | bool MyMoneyObject::operator == (const MyMoneyObject& right) const | ||
73 | { | 85 | { | ||
74 | return m_emptyId; | 86 | Q_D(const MyMoneyObject); | ||
87 | return d->m_id == right.d_func()->m_id; | ||||
75 | } | 88 | } | ||
76 | 89 | | |||
77 | void MyMoneyObject::writeBaseXML(QDomDocument& document, QDomElement& el) const | 90 | void MyMoneyObject::clearId() | ||
78 | { | 91 | { | ||
79 | Q_UNUSED(document); | 92 | Q_D(MyMoneyObject); | ||
80 | 93 | d->m_id.clear(); | |||
81 | el.setAttribute(QStringLiteral("id"), m_id); | | |||
82 | } | 94 | } | ||
Context not available. |