File indexing completed on 2024-05-12 05:12:46
0001 /* 0002 SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QWidget> 0010 0011 class QCheckBox; 0012 class QTreeView; 0013 class LoggingModel; 0014 namespace KPIM 0015 { 0016 class KCheckComboBox; 0017 } 0018 0019 class Logging : public QWidget 0020 { 0021 Q_OBJECT 0022 0023 Q_CLASSINFO("D-Bus Interface", "org.kde.akonadiconsole.logger") 0024 0025 public: 0026 explicit Logging(QWidget *parent = nullptr); 0027 ~Logging() override; 0028 0029 bool enabled() const; 0030 0031 Q_INVOKABLE void message(qint64 timestamp, 0032 const QString &app, 0033 qint64 pid, 0034 int type, 0035 const QString &category, 0036 const QString &file, 0037 const QString &function, 0038 int line, 0039 int version, 0040 const QString &msg); 0041 0042 Q_SIGNALS: 0043 void enabledChanged(bool enabled); 0044 0045 private Q_SLOTS: 0046 void saveToFile(); 0047 0048 private: 0049 QCheckBox *mEnabledCheckbox = nullptr; 0050 KPIM::KCheckComboBox *mAppFilter = nullptr; 0051 KPIM::KCheckComboBox *mTypeFilter = nullptr; 0052 KPIM::KCheckComboBox *mCategoryFilter = nullptr; 0053 QTreeView *mView = nullptr; 0054 LoggingModel *mModel = nullptr; 0055 };