1 /* 2 SPDX-FileCopyrightText: 2015-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include <QObject> 10 #include <QTextStream> 11 class QFile; 12 class LogInFile : public QObject 13 { 14 Q_OBJECT 15 public: 16 explicit LogInFile(QObject *parent = nullptr); 17 ~LogInFile() override; 18 19 Q_REQUIRED_RESULT QString fileName() const; 20 void setFileName(const QString &fileName); 21 22 public Q_SLOTS: 23 void addEndLine(); 24 25 void addError(const QString &message); 26 void addInfo(const QString &message); 27 void addTitle(const QString &message); 28 29 private: 30 enum LogType { AddEndLine = 0, AddInfo, AddError, AddTitle }; 31 void addLogLine(const QString &message, LogType type); 32 QString mFileName; 33 QTextStream mTextStream; 34 QFile *mFile = nullptr; 35 }; 36