File indexing completed on 2024-05-12 05:25:24
0001 /* 0002 SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QObject> 0010 #include <QTextStream> 0011 class QFile; 0012 class LogInFile : public QObject 0013 { 0014 Q_OBJECT 0015 public: 0016 explicit LogInFile(QObject *parent = nullptr); 0017 ~LogInFile() override; 0018 0019 [[nodiscard]] QString fileName() const; 0020 void setFileName(const QString &fileName); 0021 0022 public Q_SLOTS: 0023 void addEndLine(); 0024 0025 void addError(const QString &message); 0026 void addInfo(const QString &message); 0027 void addTitle(const QString &message); 0028 0029 private: 0030 enum LogType { AddEndLine = 0, AddInfo, AddError, AddTitle }; 0031 void addLogLine(const QString &message, LogType type); 0032 QString mFileName; 0033 QTextStream mTextStream; 0034 QFile *mFile = nullptr; 0035 };