File indexing completed on 2024-04-28 07:29:19

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: 2005 Paul Temple <paul.temple@gmx.net>
0005     SPDX-FileCopyrightText: 2006 Joseph Kerian <jkerian@gmail.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef CONFIGUREDIALOG_H
0011 #define CONFIGUREDIALOG_H
0012 
0013 #include <KConfigDialog>
0014 
0015 class KitenConfigSkeleton;
0016 class QWidget;
0017 
0018 class ConfigureDialog : public KConfigDialog
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit ConfigureDialog(QWidget *parent = nullptr, KitenConfigSkeleton *config = nullptr);
0024     ~ConfigureDialog() override = default;
0025 
0026 Q_SIGNALS:
0027     void settingsChangedSignal();
0028     void updateWidgetsSignal();
0029     void updateWidgetsDefaultSignal();
0030     void updateSettingsSignal();
0031 
0032 private Q_SLOTS:
0033     void updateConfiguration();
0034     void updateSettings() override;
0035     void updateWidgets() override;
0036     void updateWidgetsDefault() override;
0037 
0038 private:
0039     bool isDefault() override;
0040     QWidget *makeDictionaryPreferencesPage(QWidget *, KitenConfigSkeleton *);
0041     QWidget *makeDictionaryFileSelectionPage(QWidget *, KitenConfigSkeleton *);
0042     QWidget *makeSortingPage(QWidget *, KitenConfigSkeleton *);
0043 };
0044 
0045 #endif