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