File indexing completed on 2024-05-12 16:42:41
0001 /* 0002 SPDX-FileCopyrightText: 2012 Alessandro Russo <axela74@yahoo.it> 0003 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "mymoneytag.h" 0008 #include "mymoneytag_p.h" 0009 0010 // ---------------------------------------------------------------------------- 0011 // QT Includes 0012 0013 // ---------------------------------------------------------------------------- 0014 // Project Includes 0015 0016 #include "mymoneyexception.h" 0017 0018 MyMoneyTag MyMoneyTag::null; 0019 0020 MyMoneyTag::MyMoneyTag() : 0021 MyMoneyObject(*new MyMoneyTagPrivate) 0022 { 0023 } 0024 0025 MyMoneyTag::MyMoneyTag(const QString &id) : 0026 MyMoneyObject(*new MyMoneyTagPrivate, id) 0027 { 0028 } 0029 0030 MyMoneyTag::MyMoneyTag(const QString& name, const QColor& tagColor) : 0031 MyMoneyObject(*new MyMoneyTagPrivate) 0032 { 0033 Q_D(MyMoneyTag); 0034 d->m_name = name; 0035 d->m_tag_color = tagColor; 0036 } 0037 0038 MyMoneyTag::MyMoneyTag(const MyMoneyTag& other) : 0039 MyMoneyObject(*new MyMoneyTagPrivate(*other.d_func()), other.id()) 0040 { 0041 } 0042 0043 MyMoneyTag::MyMoneyTag(const QString& id, const MyMoneyTag& other) : 0044 MyMoneyObject(*new MyMoneyTagPrivate(*other.d_func()), id) 0045 { 0046 } 0047 0048 MyMoneyTag::~MyMoneyTag() 0049 { 0050 } 0051 0052 QString MyMoneyTag::name() const 0053 { 0054 Q_D(const MyMoneyTag); 0055 return d->m_name; 0056 } 0057 0058 void MyMoneyTag::setName(const QString& val) 0059 { 0060 Q_D(MyMoneyTag); 0061 d->m_name = val; 0062 } 0063 0064 bool MyMoneyTag::isClosed() const 0065 { 0066 Q_D(const MyMoneyTag); 0067 return d->m_closed; 0068 } 0069 0070 void MyMoneyTag::setClosed(bool val) 0071 { 0072 Q_D(MyMoneyTag); 0073 d->m_closed = val; 0074 } 0075 0076 QColor MyMoneyTag::tagColor() const 0077 { 0078 Q_D(const MyMoneyTag); 0079 return d->m_tag_color; 0080 } 0081 0082 void MyMoneyTag::setTagColor(const QColor& val) 0083 { 0084 Q_D(MyMoneyTag); 0085 d->m_tag_color = val; 0086 } 0087 0088 void MyMoneyTag::setNamedTagColor(const QString &val) 0089 { 0090 Q_D(MyMoneyTag); 0091 d->m_tag_color.setNamedColor(val); 0092 } 0093 0094 QString MyMoneyTag::notes() const 0095 { 0096 Q_D(const MyMoneyTag); 0097 return d->m_notes; 0098 } 0099 0100 void MyMoneyTag::setNotes(const QString& val) 0101 { 0102 Q_D(MyMoneyTag); 0103 d->m_notes = val; 0104 } 0105 0106 bool MyMoneyTag::operator == (const MyMoneyTag& right) const 0107 { 0108 Q_D(const MyMoneyTag); 0109 auto d2 = static_cast<const MyMoneyTagPrivate *>(right.d_func()); 0110 return (MyMoneyObject::operator==(right) // 0111 && ((d->m_name.length() == 0 && d2->m_name.length() == 0) || (d->m_name == d2->m_name)) && 0112 ((d->m_tag_color.isValid() == false && d2->m_tag_color.isValid() == false) || (d->m_tag_color.name() == d2->m_tag_color.name())) && 0113 (d->m_closed == d2->m_closed)); 0114 } 0115 0116 bool MyMoneyTag::operator < (const MyMoneyTag& right) const 0117 { 0118 Q_D(const MyMoneyTag); 0119 auto d2 = static_cast<const MyMoneyTagPrivate *>(right.d_func()); 0120 return d->m_name < d2->m_name; 0121 } 0122 0123 bool MyMoneyTag::hasReferenceTo(const QString& /*id*/) const 0124 { 0125 return false; 0126 }