File indexing completed on 2024-04-28 07:36:30
0001 /* 0002 * manage multiple choice suggestions for queries 0003 * SPDX-FileCopyrightText: 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de> 0004 * SPDX-FileCopyrightText: 2005 Peter Hedlund <peter.hedlund@kdemail.net> 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "keduvocmultiplechoice.h" 0009 0010 class KEduVocMultipleChoice::KEduVocMultipleChoicePrivate 0011 { 0012 public: 0013 QStringList m_choices; 0014 }; 0015 0016 KEduVocMultipleChoice::KEduVocMultipleChoice() 0017 : d(new KEduVocMultipleChoicePrivate) 0018 { 0019 } 0020 0021 KEduVocMultipleChoice::KEduVocMultipleChoice(const KEduVocMultipleChoice &other) 0022 : d(new KEduVocMultipleChoicePrivate) 0023 { 0024 d->m_choices = other.choices(); 0025 } 0026 0027 KEduVocMultipleChoice::KEduVocMultipleChoice(const QStringList &choices) 0028 : d(new KEduVocMultipleChoicePrivate) 0029 { 0030 foreach (const QString &choice, choices) { 0031 // use appendChoice to check for empty entries 0032 appendChoice(choice); 0033 } 0034 } 0035 0036 KEduVocMultipleChoice::~KEduVocMultipleChoice() 0037 { 0038 delete d; 0039 } 0040 0041 KEduVocMultipleChoice &KEduVocMultipleChoice::operator=(const KEduVocMultipleChoice &other) 0042 { 0043 d->m_choices = other.choices(); 0044 return *this; 0045 } 0046 0047 QStringList KEduVocMultipleChoice::choices() const 0048 { 0049 return d->m_choices; 0050 } 0051 0052 bool KEduVocMultipleChoice::isEmpty() const 0053 { 0054 return d->m_choices.isEmpty(); 0055 } 0056 0057 void KEduVocMultipleChoice::clear() 0058 { 0059 d->m_choices.clear(); 0060 } 0061 0062 QString KEduVocMultipleChoice::choice(int index) const 0063 { 0064 QString choice; 0065 if (d->m_choices.size() > index) { 0066 choice = d->m_choices[index]; 0067 } 0068 return choice; 0069 } 0070 0071 unsigned KEduVocMultipleChoice::size() const 0072 { 0073 return d->m_choices.size(); 0074 } 0075 0076 bool KEduVocMultipleChoice::operator==(const KEduVocMultipleChoice &choice) const 0077 { 0078 return d->m_choices == choice.choices(); 0079 } 0080 0081 void KEduVocMultipleChoice::appendChoice(const QString &s) 0082 { 0083 if (!s.isEmpty()) { 0084 d->m_choices.append(s); 0085 } 0086 }