1 /* SPDX-FileCopyrightText: 2014 Jesper K. Pedersen <blackie@kde.org> 2 3 SPDX-License-Identifier: GPL-2.0-or-later 4 */ 5 6 #include "SearchInfo.h" 7 8 namespace RemoteControl 9 { 10 addCategory(const QString & category)11void RemoteControl::SearchInfo::addCategory(const QString &category) 12 { 13 m_categories.append(category); 14 } 15 addValue(const QString & value)16void SearchInfo::addValue(const QString &value) 17 { 18 m_values.append(value); 19 } 20 pop()21void SearchInfo::pop() 22 { 23 m_categories.pop(); 24 if (m_values.count() > m_categories.count()) 25 m_values.pop(); 26 } 27 clear()28void SearchInfo::clear() 29 { 30 m_categories.clear(); 31 m_values.clear(); 32 } 33 currentCategory() const34QString SearchInfo::currentCategory() const 35 { 36 if (m_categories.isEmpty()) 37 return {}; 38 return m_categories.top(); 39 } 40 operator <<(QDataStream & stream,const SearchInfo & searchInfo)41QDataStream &operator<<(QDataStream &stream, const SearchInfo &searchInfo) 42 { 43 stream << searchInfo.m_categories << searchInfo.m_values; 44 return stream; 45 } 46 operator >>(QDataStream & stream,SearchInfo & searchInfo)47QDataStream &operator>>(QDataStream &stream, SearchInfo &searchInfo) 48 { 49 stream >> searchInfo.m_categories >> searchInfo.m_values; 50 return stream; 51 } 52 values() const53QList<std::tuple<QString, QString>> RemoteControl::SearchInfo::values() const 54 { 55 QList<std::tuple<QString, QString>> result; 56 for (int i = 0; i < m_values.count(); ++i) 57 result.append(std::make_tuple(m_categories[i], m_values[i])); 58 return result; 59 } 60 61 } // namespace RemoteControl 62