File indexing completed on 2024-04-21 05:46:23
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <KConfigDialog> 0010 0011 class GeneralConfigurationWidget; 0012 class LogModeConfigurationWidget; 0013 class ConfigurationDialog : public KConfigDialog 0014 { 0015 Q_OBJECT 0016 0017 public: 0018 explicit ConfigurationDialog(QWidget *parent); 0019 0020 ~ConfigurationDialog() override; 0021 0022 void showConfiguration(); 0023 0024 Q_SIGNALS: 0025 void configurationSaved(); 0026 0027 protected Q_SLOTS: 0028 0029 void updateWidgets() override; 0030 void updateWidgetsDefault() override; 0031 void updateSettings() override; 0032 void updateButtons(); 0033 0034 private Q_SLOTS: 0035 void updateConfiguration(); 0036 0037 private: 0038 bool hasChanged() override; 0039 bool isDefault() override; 0040 0041 void setupGeneralConfiguration(); 0042 0043 void setupLogModeConfigurations(); 0044 GeneralConfigurationWidget *mGeneralConfiguration = nullptr; 0045 0046 QList<LogModeConfigurationWidget *> mLogModeConfigurations; 0047 0048 bool mChanged = false; 0049 };