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