1 /* 2 SPDX-FileCopyrightText: 2010 Nicolas Ternisien <nicolas.ternisien@gmail.com> 3 4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 5 */ 6 7 #ifndef KCONTROL_MEMORY_H 8 #define KCONTROL_MEMORY_H 9 10 #include <QPushButton> 11 #include <QTimer> 12 #include <QWidget> 13 14 #include <KAboutData> 15 #include <KCModule> 16 17 #include "base.h" 18 19 class QGroupBox; 20 class QPushButton; 21 class ChartWidget; 22 23 class KCMMemory : public KCModule 24 { 25 Q_OBJECT 26 27 public: 28 explicit KCMMemory(QWidget *parent = nullptr, const QVariantList &list = QVariantList()); 29 ~KCMMemory(); 30 31 QString quickHelp() const override; 32 33 private Q_SLOTS: 34 void updateMemoryText(); 35 void updateMemoryGraphics(); 36 37 void updateDatas(); 38 39 private: 40 QGroupBox *initializeText(); 41 QGroupBox *initializeCharts(); 42 43 QTimer *timer; 44 45 ChartWidget *totalMemory; 46 ChartWidget *physicalMemory; 47 ChartWidget *swapMemory; 48 49 void fetchValues(); 50 }; 51 52 #endif 53