void Logger::setLogFile(const QString & name) { QMutexLocker locker(&_mutex); if( _logstream ) { _logstream.reset(0); _logFile.close(); } if( name.isEmpty() ) { return; } bool openSucceeded = false; if (name == QLatin1String("-")) { openSucceeded = _logFile.open(1, QIODevice::WriteOnly); } else { _logFile.setFileName( name ); openSucceeded = _logFile.open(QIODevice::WriteOnly); } if(!openSucceeded) { locker.unlock(); // Just in case postGuiMessage has a qDebug() postGuiMessage( tr("Error"), QString(tr("<nobr>File '%1'<br/>cannot be opened for writing.<br/><br/>" "The log output can <b>not</b> be saved!</nobr>")) .arg(name)); return; } _logstream.reset(new QTextStream( &_logFile )); }
void Logger::postGuiMessage(const QString &title, const QString &message) { emit postGuiMessage(title, message); }