23 #include "configuration/doomseekerconfig.h"
24 #include "gui/widgets/memorylineedit.h"
25 #include "serverconsole.h"
26 #include "strings.hpp"
27 #include "ui_serverconsole.h"
29 #include <QRegularExpression>
31 DClass<ServerConsole> :
public Ui::ServerConsole
44 layout()->addWidget(d->consoleInput);
46 connect(d->consoleInput, SIGNAL(returnPressed()),
this, SLOT(forwardMessage()));
49 ServerConsole::~ServerConsole()
53 void ServerConsole::appendMessage(
const QString &message)
55 QString appendMessage = QString(message).toHtmlEscaped();
56 if (appendMessage.endsWith(
'\n'))
57 appendMessage.chop(1);
58 appendMessage.replace(
'\n',
"<br>");
61 if (gConfig.doomseeker.bColorizeServerConsole)
65 static const QRegularExpression colorCode(
"\034(\\[[a-zA-Z0-9]*\\]|[a-v+\\-!*])");
66 appendMessage.remove(colorCode);
70 d->consoleOutput->moveCursor(QTextCursor::End);
71 d->consoleOutput->insertHtml(
"<br>" + appendMessage);
72 d->consoleOutput->moveCursor(QTextCursor::End);
75 void ServerConsole::forwardMessage()
77 QString msg = d->consoleInput->text();
79 msg.replace(0, 1,
"say ");
81 emit messageSent(msg);
82 d->consoleInput->setText(
"");
87 d->consoleInput->setFocus();