File indexing completed on 2024-05-05 16:13:52
0001 /* 0002 SPDX-FileCopyrightText: 2008 Tobias Koenig <tokoe@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KCMTRASH_H 0008 #define KCMTRASH_H 0009 0010 #include <KCModule> 0011 0012 class QCheckBox; 0013 class QComboBox; 0014 class QDoubleSpinBox; 0015 class QFrame; 0016 class QLabel; 0017 class QListWidgetItem; 0018 class QSpinBox; 0019 class TrashImpl; 0020 0021 /** 0022 * @brief Allow to configure the trash. 0023 */ 0024 class TrashConfigModule : public KCModule 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 TrashConfigModule(QWidget *parent, const QVariantList &args); 0030 ~TrashConfigModule() override; 0031 0032 void save() override; 0033 void defaults() override; 0034 0035 private Q_SLOTS: 0036 void percentChanged(double); 0037 void trashChanged(QListWidgetItem *); 0038 void trashChanged(int); 0039 void useTypeChanged(); 0040 0041 private: 0042 void readConfig(); 0043 void writeConfig(); 0044 void setupGui(); 0045 0046 QCheckBox *mUseTimeLimit; 0047 QSpinBox *mDays; 0048 QCheckBox *mUseSizeLimit; 0049 QWidget *mSizeWidget; 0050 QDoubleSpinBox *mPercent; 0051 QLabel *mSizeLabel; 0052 QComboBox *mLimitReachedAction; 0053 0054 TrashImpl *mTrashImpl; 0055 QString mCurrentTrash; 0056 bool trashInitialize; 0057 typedef struct { 0058 bool useTimeLimit; 0059 int days; 0060 bool useSizeLimit; 0061 double percent; 0062 int actionType; 0063 } ConfigEntry; 0064 0065 typedef QMap<QString, ConfigEntry> ConfigMap; 0066 ConfigMap mConfigMap; 0067 }; 0068 0069 #endif // KCMTRASH_H