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 #include "loginfile.h" 0008 #include "pimdataexportconsole_debug.h" 0009 0010 #include <QFile> 0011 0012 LogInFile::LogInFile(QObject *parent) 0013 : QObject(parent) 0014 { 0015 } 0016 0017 LogInFile::~LogInFile() 0018 { 0019 if (mFile) { 0020 mFile->close(); 0021 delete mFile; 0022 } 0023 } 0024 0025 QString LogInFile::fileName() const 0026 { 0027 return mFileName; 0028 } 0029 0030 void LogInFile::setFileName(const QString &fileName) 0031 { 0032 if (!fileName.isEmpty()) { 0033 mFileName = fileName; 0034 if (!mFile) { 0035 mFile = new QFile(mFileName); 0036 if (!mFile->open(QIODevice::WriteOnly | QIODevice::Text)) { 0037 qCWarning(PIMDATAEXPORTERCONSOLE_LOG) << "Impossible to open filename " << mFileName; 0038 return; 0039 } 0040 } 0041 mTextStream.setDevice(mFile); 0042 } 0043 } 0044 0045 void LogInFile::addEndLine() 0046 { 0047 addLogLine(QString(), AddEndLine); 0048 } 0049 0050 void LogInFile::addError(const QString &message) 0051 { 0052 addLogLine(message, AddError); 0053 } 0054 0055 void LogInFile::addInfo(const QString &message) 0056 { 0057 addLogLine(message, AddInfo); 0058 } 0059 0060 void LogInFile::addTitle(const QString &message) 0061 { 0062 addLogLine(message, AddTitle); 0063 } 0064 0065 void LogInFile::addLogLine(const QString &message, LogType type) 0066 { 0067 QString newMessage; 0068 switch (type) { 0069 case AddEndLine: 0070 newMessage = QLatin1Char('\n'); 0071 break; 0072 case AddInfo: 0073 newMessage = QStringLiteral("INFO: %1\n").arg(message); 0074 break; 0075 case AddError: 0076 newMessage = QStringLiteral("ERROR: %1\n").arg(message); 0077 break; 0078 case AddTitle: 0079 newMessage = message + QLatin1Char('\n'); 0080 break; 0081 } 0082 mTextStream << newMessage; 0083 } 0084 0085 #include "moc_loginfile.cpp"