84 lines
1.9 KiB
C++
84 lines
1.9 KiB
C++
#include "GeneralMessagesLogDispatcher.h"
|
|
|
|
|
|
|
|
//singleton instantiation
|
|
CGeneralMessagesLogDispatcher CGeneralMessagesLogDispatcher::mSingleton;
|
|
|
|
|
|
CGeneralMessagesLogDispatcher::CGeneralMessagesLogDispatcher()
|
|
{
|
|
mGeneralStatusPageHandle = 0;
|
|
|
|
mNbLinesInGUILog = 0;
|
|
|
|
}
|
|
|
|
CGeneralMessagesLogDispatcher::~CGeneralMessagesLogDispatcher()
|
|
{
|
|
|
|
}
|
|
|
|
int CGeneralMessagesLogDispatcher::AddLogMessage(QString LogLine, bool AddToGUILogPanel)
|
|
{
|
|
//TODO: Add text to log file...
|
|
|
|
LogLine.remove('\n');
|
|
LogLine.remove('\r');
|
|
LogLine.append('\n');
|
|
|
|
|
|
|
|
if(AddToGUILogPanel == true)
|
|
{
|
|
if(mNbLinesInGUILog == GENERAL_MESSAGES_MAX_LOG_LINES)
|
|
{
|
|
//Make shure we are able to remove first line
|
|
int FirstLineLength = mGeneralMsgGUILog.indexOf(QChar('\n'));
|
|
if(FirstLineLength != -1)
|
|
{
|
|
mGeneralMsgGUILog.remove(0,FirstLineLength+1);
|
|
mGeneralMsgGUILog.append(LogLine);
|
|
}
|
|
else
|
|
{
|
|
qDebug("Something fucked-up happened in CGeneralMessagesLogDispatch::AddLogMessage");
|
|
return RET_GENERAL_ERROR;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
mGeneralMsgGUILog.append(LogLine);
|
|
mNbLinesInGUILog++;
|
|
}
|
|
|
|
if(mGeneralStatusPageHandle != 0)
|
|
{
|
|
mGeneralStatusPageHandle->SetGeneralMsgText(mGeneralMsgGUILog);
|
|
}
|
|
else
|
|
{
|
|
qDebug("Someone forgot to assing their pointers in CGeneralMessagesLogDispatch::AddLogMessage!! This needs to be fixed");
|
|
return RET_GENERAL_ERROR;
|
|
}
|
|
|
|
}
|
|
|
|
return RET_OK;
|
|
}
|
|
|
|
int CGeneralMessagesLogDispatcher::BindGuiPageHandle(CGeneralStatusPage *Handle)
|
|
{
|
|
if(Handle == 0)
|
|
{
|
|
return RET_GENERAL_ERROR;
|
|
}
|
|
else
|
|
{
|
|
mGeneralStatusPageHandle = Handle;
|
|
}
|
|
|
|
return RET_OK;
|
|
|
|
}
|