File indexing completed on 2024-04-21 03:42:00

0001 /*
0002     This file is part of Kiten, a KDE Japanese Reference Tool
0003     SPDX-FileCopyrightText: 2006 Joseph Kerian <jkerian@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 // This is currently the only file in libkiten dict handlers to have moc code included...
0009 
0010 #ifndef KITEN_DICTFILEFIELDSELECTOR_H
0011 #define KITEN_DICTFILEFIELDSELECTOR_H
0012 
0013 #include "dictionarypreferencedialog.h"
0014 
0015 #include <QStringList>
0016 #include <QWidget>
0017 class KActionSelector;
0018 class KConfigSkeleton;
0019 
0020 // This is the default one used by edict and kanjidic
0021 class DictFileFieldSelector : public DictionaryPreferenceDialog
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit DictFileFieldSelector(KConfigSkeleton *config, const QString &dictionaryTypeName, QWidget *parent);
0027     ~DictFileFieldSelector() override = default;
0028 
0029 public Q_SLOTS:
0030     void setAvailable(const QStringList &list);
0031     void addAvailable(const QStringList &list);
0032     void setDefaultList(const QStringList &list);
0033     void readFromPrefs();
0034     void writeToPrefs();
0035 
0036     void updateWidgets() override;
0037     void updateWidgetsDefault() override;
0038     void updateSettings() override;
0039     void settingChanged();
0040 
0041 Q_SIGNALS:
0042     void widgetChanged();
0043 
0044 private:
0045     QStringList m_completeList;
0046     QStringList m_defaultList;
0047     QString m_dictName;
0048     KActionSelector *m_listView;
0049     KConfigSkeleton *m_config;
0050 };
0051 
0052 #endif