File indexing completed on 2024-05-12 07:41:27

0001 /*
0002     File                 : SettingsDialog.h
0003     Project              : LabPlot
0004     Description          : application settings dialog
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2008-2021 Alexander Semke <alexander.semke@web.de>
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef SETTINGSDIALOG_H
0011 #define SETTINGSDIALOG_H
0012 
0013 #include <KPageDialog>
0014 
0015 class QAbstractButton;
0016 class SettingsGeneralPage;
0017 class SettingsSpreadsheetPage;
0018 class SettingsWorksheetPage;
0019 class SettingsNotebookPage;
0020 // class SettingsWelcomePage;
0021 class SettingsDatasetsPage;
0022 
0023 #ifdef HAVE_KUSERFEEDBACK
0024 namespace KUserFeedback {
0025 class FeedbackConfigWidget;
0026 }
0027 #endif
0028 
0029 class SettingsDialog : public KPageDialog {
0030     Q_OBJECT
0031 
0032 public:
0033     explicit SettingsDialog(QWidget*);
0034     ~SettingsDialog() override;
0035 
0036 private Q_SLOTS:
0037     void changed();
0038     void slotButtonClicked(QAbstractButton*);
0039 
0040 private:
0041     bool m_changed{false};
0042     SettingsGeneralPage* m_generalPage;
0043     SettingsWorksheetPage* m_worksheetPage;
0044     SettingsSpreadsheetPage* m_spreadsheetPage;
0045 #ifdef HAVE_CANTOR_LIBS
0046     SettingsNotebookPage* m_notebookPage;
0047 #endif
0048     //  SettingsWelcomePage* m_welcomePage;
0049     SettingsDatasetsPage* m_datasetsPage;
0050 
0051 #ifdef HAVE_KUSERFEEDBACK
0052     KUserFeedback::FeedbackConfigWidget* m_userFeedbackWidget;
0053 #endif
0054 
0055     void applySettings();
0056     void restoreDefaults();
0057 
0058 Q_SIGNALS:
0059     void settingsChanged();
0060     void resetWelcomeScreen();
0061 };
0062 
0063 #endif