File indexing completed on 2024-05-05 05:49:28
0001 /* 0002 SPDX-FileCopyrightText: 2010 Volker Lanz <vl@fidra.de> 0003 SPDX-FileCopyrightText: 2014-2017 Andrius Štikonas <andrius@stikonas.eu> 0004 0005 SPDX-License-Identifier: GPL-3.0-or-later 0006 */ 0007 0008 #if !defined(CONFIGUREOPTIONSDIALOG_H) 0009 0010 #define CONFIGUREOPTIONSDIALOG_H 0011 0012 #include <KConfigDialog> 0013 0014 class GeneralPageWidget; 0015 class FileSystemColorsPageWidget; 0016 class AdvancedPageWidget; 0017 class OperationStack; 0018 0019 class ConfigureOptionsDialog : public KConfigDialog 0020 { 0021 public: 0022 ConfigureOptionsDialog(QWidget* parent, const OperationStack& ostack, const QString& name); 0023 ~ConfigureOptionsDialog(); 0024 0025 protected: 0026 void updateSettings() override; 0027 void updateWidgetsDefault() override; 0028 bool hasChanged() override; 0029 bool isDefault() override; 0030 void onComboDefaultFileSystemActivated(int) { 0031 settingsChangedSlot(); 0032 } 0033 void onShredSourceActivated() { 0034 settingsChangedSlot(); 0035 } 0036 void onComboBackendActivated(int); 0037 0038 GeneralPageWidget& generalPageWidget() { 0039 Q_ASSERT(m_GeneralPageWidget); 0040 return *m_GeneralPageWidget; 0041 } 0042 FileSystemColorsPageWidget& fileSystemColorsPageWidget() { 0043 Q_ASSERT(m_FileSystemColorsPageWidget); 0044 return *m_FileSystemColorsPageWidget; 0045 } 0046 AdvancedPageWidget& advancedPageWidget() { 0047 Q_ASSERT(m_AdvancedPageWidget); 0048 return *m_AdvancedPageWidget; 0049 } 0050 0051 const OperationStack& operationStack() const { 0052 return m_OperationStack; 0053 } 0054 0055 private: 0056 GeneralPageWidget* m_GeneralPageWidget; 0057 FileSystemColorsPageWidget* m_FileSystemColorsPageWidget; 0058 AdvancedPageWidget* m_AdvancedPageWidget; 0059 const OperationStack& m_OperationStack; 0060 }; 0061 0062 #endif