File indexing completed on 2024-05-05 07:40:10
0001 /* 0002 This file is part of Kiten, a KDE Japanese Reference Tool 0003 SPDX-FileCopyrightText: 2001 Jason Katz-Brown <jason@katzbrown.com> 0004 SPDX-FileCopyrightText: 2006 Joseph Kerian <jkerian@gmail.com> 0005 SPDX-FileCopyrightText: 2006 Eric Kjeldergaard <kjelderg@gmail.com> 0006 SPDX-FileCopyrightText: 2011 Daniel E. Moctezuma <democtezuma@gmail.com> 0007 0008 SPDX-License-Identifier: LGPL-2.0-or-later 0009 */ 0010 0011 #ifndef KITEN_DICTFILEKANJIDIC_H 0012 #define KITEN_DICTFILEKANJIDIC_H 0013 0014 #include "dictfile.h" 0015 0016 #include "kiten_export.h" 0017 0018 #include <QStringList> 0019 0020 class DictQuery; 0021 class Entry; 0022 class EntryList; 0023 class KConfigSkeleton; 0024 class KConfigSkeletonItem; 0025 0026 class KITEN_EXPORT DictFileKanjidic : public DictFile 0027 { 0028 friend class EntryKanjidic; 0029 0030 public: 0031 DictFileKanjidic(); 0032 ~DictFileKanjidic() override = default; 0033 0034 QMap<QString, QString> displayOptions() const; 0035 EntryList *doSearch(const DictQuery &query) override; 0036 QStringList dumpDictionary(); 0037 QStringList listDictDisplayOptions(QStringList list) const override; 0038 bool loadDictionary(const QString &file, const QString &name) override; 0039 QStringList *loadListType(KConfigSkeletonItem *item, QStringList *list, const QMap<QString, QString> &long2short); 0040 void loadSettings(); 0041 void loadSettings(KConfigSkeleton *item) override; 0042 bool validDictionaryFile(const QString &filename) override; 0043 bool validQuery(const DictQuery &query) override; 0044 0045 protected: 0046 virtual inline Entry *makeEntry(const QString &entry); 0047 0048 static QStringList *displayFields; 0049 0050 private: 0051 QMap<QString, QString> loadDisplayOptions() const; 0052 0053 QStringList m_kanjidic; 0054 bool m_validKanjidic; 0055 }; 0056 0057 #endif