1 /* 2 SPDX-FileCopyrightText: 2007 Krzysztof Kundzicz <athantor@gmail.com> 3 SPDX-License-Identifier: GPL-2.0-or-later 4 */ 5 6 #ifndef StatsPlugin_H_ 7 #define StatsPlugin_H_ 8 9 #include <QObject> 10 #include <QString> 11 #include <QStringList> 12 #include <QTimer> 13 14 #include <interfaces/guiinterface.h> 15 #include <interfaces/plugin.h> 16 17 #include <memory> 18 19 #include <ConnsTabPage.h> 20 #include <DisplaySettingsPage.h> 21 #include <SettingsPage.h> 22 #include <SpdTabPage.h> 23 #include <statspluginsettings.h> 24 25 namespace kt 26 { 27 /** \brief Statistics plugin 28 \author Krzysztof Kundzicz <athantor@gmail.com> 29 \version 1.1 30 */ 31 32 class StatsPlugin : public Plugin 33 { 34 Q_OBJECT 35 public: 36 /** \brief Constructor 37 \param p Parent 38 */ 39 StatsPlugin(QObject *parent, const KPluginMetaData &data, const QVariantList &args); 40 /// Destructor 41 ~StatsPlugin() override; 42 43 void load() override; 44 void unload() override; 45 void guiUpdate() override; 46 47 public Q_SLOTS: 48 /// Gather data 49 void gatherData(); 50 /// Settings has been changed 51 void settingsChanged(); 52 53 private: 54 /// Speeds tab 55 SpdTabPage *pmUiSpd; 56 /// Connections tab 57 ConnsTabPage *pmUiConns; 58 /// Settings Page 59 SettingsPage *pmUiSett; 60 /// Display settings page 61 DisplaySettingsPage *pmDispSett; 62 /// Timer 63 QTimer pmTmr; 64 65 /// Updates counter 66 uint32_t mUpdCtr; 67 }; 68 69 } // ns end 70 71 #endif 72