File indexing completed on 2024-11-24 04:50:39

0001 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include "filter.h"
0005 
0006 qint64 Filter::collectionId() const
0007 {
0008     return m_collectionId;
0009 }
0010 
0011 QStringList Filter::tags() const
0012 {
0013     return m_tags;
0014 }
0015 
0016 QString Filter::name() const
0017 {
0018     return m_name;
0019 }
0020 
0021 void Filter::setCollectionId(qint64 collectionId)
0022 {
0023     if (m_collectionId == collectionId) {
0024         return;
0025     }
0026     m_collectionId = collectionId;
0027     Q_EMIT collectionIdChanged();
0028 }
0029 
0030 void Filter::setTags(QStringList tags)
0031 {
0032     if (m_tags == tags) {
0033         return;
0034     }
0035     m_tags = tags;
0036     Q_EMIT tagsChanged();
0037 }
0038 
0039 void Filter::setName(const QString &name)
0040 {
0041     if (m_name == name) {
0042         return;
0043     }
0044     m_name = name;
0045     Q_EMIT nameChanged();
0046 }
0047 
0048 void Filter::toggleFilterTag(const QString tagName)
0049 {
0050     if (!m_tags.contains(tagName)) {
0051         m_tags.append(tagName);
0052         Q_EMIT tagsChanged();
0053     } else {
0054         m_tags.removeAll(tagName);
0055         Q_EMIT tagsChanged();
0056     }
0057 }
0058 
0059 void Filter::removeTag(const QString &tagName)
0060 {
0061     m_tags.removeAll(tagName);
0062     Q_EMIT tagsChanged();
0063 }
0064 
0065 void Filter::reset()
0066 {
0067     setName({});
0068     setTags({});
0069     setCollectionId(-1);
0070 }
0071 
0072 #include "moc_filter.cpp"