Server messages are now coloured differently.

This commit is contained in:
Cerapter 2018-09-15 03:33:10 +02:00
parent fcd8f5b5ab
commit d54064d892
11 changed files with 41 additions and 29 deletions

View File

@ -5,7 +5,7 @@ AOTextArea::AOTextArea(QWidget *p_parent) : QTextBrowser(p_parent)
} }
void AOTextArea::append_chatmessage(QString p_name, QString p_message) void AOTextArea::append_chatmessage(QString p_name, QString p_message, QString p_colour)
{ {
const QTextCursor old_cursor = this->textCursor(); const QTextCursor old_cursor = this->textCursor();
const int old_scrollbar_value = this->verticalScrollBar()->value(); const int old_scrollbar_value = this->verticalScrollBar()->value();
@ -14,7 +14,7 @@ void AOTextArea::append_chatmessage(QString p_name, QString p_message)
this->moveCursor(QTextCursor::End); this->moveCursor(QTextCursor::End);
this->append(""); this->append("");
this->insertHtml("<b>" + p_name.toHtmlEscaped() + "</b>:&nbsp;"); this->insertHtml("<b><font color=" + p_colour + ">" + p_name.toHtmlEscaped() + "</font></b>:&nbsp;");
//cheap workarounds ahoy //cheap workarounds ahoy
p_message += " "; p_message += " ";

View File

@ -12,7 +12,7 @@ class AOTextArea : public QTextBrowser
public: public:
AOTextArea(QWidget *p_parent = nullptr); AOTextArea(QWidget *p_parent = nullptr);
void append_chatmessage(QString p_name, QString p_message); void append_chatmessage(QString p_name, QString p_message, QString p_colour);
void append_error(QString p_message); void append_error(QString p_message);
private: private:

View File

@ -1005,12 +1005,19 @@ void Courtroom::list_areas()
void Courtroom::append_ms_chatmessage(QString f_name, QString f_message) void Courtroom::append_ms_chatmessage(QString f_name, QString f_message)
{ {
ui_ms_chatlog->append_chatmessage(f_name, f_message); ui_ms_chatlog->append_chatmessage(f_name, f_message, ao_app->get_color("ooc_default_color", "courtroom_design.ini").name());
} }
void Courtroom::append_server_chatmessage(QString p_name, QString p_message) void Courtroom::append_server_chatmessage(QString p_name, QString p_message, QString p_colour)
{ {
ui_server_chatlog->append_chatmessage(p_name, p_message); QString colour = "#000000";
if (p_colour == "0")
colour = ao_app->get_color("ooc_default_color", "courtroom_design.ini").name();
if (p_colour == "1")
colour = ao_app->get_color("ooc_server_color", "courtroom_design.ini").name();
ui_server_chatlog->append_chatmessage(p_name, p_message, colour);
} }
void Courtroom::on_chat_return_pressed() void Courtroom::on_chat_return_pressed()
@ -2660,21 +2667,21 @@ void Courtroom::on_ooc_return_pressed()
else if (ooc_message.startsWith("/login")) else if (ooc_message.startsWith("/login"))
{ {
ui_guard->show(); ui_guard->show();
append_server_chatmessage("CLIENT", "You were granted the Guard button."); append_server_chatmessage("CLIENT", "You were granted the Guard button.", "1");
} }
else if (ooc_message.startsWith("/rainbow") && ao_app->yellow_text_enabled && !rainbow_appended) else if (ooc_message.startsWith("/rainbow") && ao_app->yellow_text_enabled && !rainbow_appended)
{ {
//ui_text_color->addItem("Rainbow"); //ui_text_color->addItem("Rainbow");
ui_ooc_chat_message->clear(); ui_ooc_chat_message->clear();
//rainbow_appended = true; //rainbow_appended = true;
append_server_chatmessage("CLIENT", "This does nohing, but there you go."); append_server_chatmessage("CLIENT", "This does nohing, but there you go.", "1");
return; return;
} }
else if (ooc_message.startsWith("/settings")) else if (ooc_message.startsWith("/settings"))
{ {
ui_ooc_chat_message->clear(); ui_ooc_chat_message->clear();
ao_app->call_settings_menu(); ao_app->call_settings_menu();
append_server_chatmessage("CLIENT", "You opened the settings menu."); append_server_chatmessage("CLIENT", "You opened the settings menu.", "1");
return; return;
} }
else if (ooc_message.startsWith("/pair")) else if (ooc_message.startsWith("/pair"))
@ -2692,16 +2699,16 @@ void Courtroom::on_ooc_return_pressed()
QString msg = "You will now pair up with "; QString msg = "You will now pair up with ";
msg.append(char_list.at(whom).name); msg.append(char_list.at(whom).name);
msg.append(" if they also choose your character in return."); msg.append(" if they also choose your character in return.");
append_server_chatmessage("CLIENT", msg); append_server_chatmessage("CLIENT", msg, "1");
} }
else else
{ {
append_server_chatmessage("CLIENT", "You are no longer paired with anyone."); append_server_chatmessage("CLIENT", "You are no longer paired with anyone.", "1");
} }
} }
else else
{ {
append_server_chatmessage("CLIENT", "Are you sure you typed that well? The char ID could not be recognised."); append_server_chatmessage("CLIENT", "Are you sure you typed that well? The char ID could not be recognised.", "1");
} }
return; return;
} }
@ -2720,29 +2727,29 @@ void Courtroom::on_ooc_return_pressed()
QString msg = "You have set your offset to "; QString msg = "You have set your offset to ";
msg.append(QString::number(off)); msg.append(QString::number(off));
msg.append("%."); msg.append("%.");
append_server_chatmessage("CLIENT", msg); append_server_chatmessage("CLIENT", msg, "1");
} }
else else
{ {
append_server_chatmessage("CLIENT", "Your offset must be between -100% and 100%!"); append_server_chatmessage("CLIENT", "Your offset must be between -100% and 100%!", "1");
} }
} }
else else
{ {
append_server_chatmessage("CLIENT", "That offset does not look like one."); append_server_chatmessage("CLIENT", "That offset does not look like one.", "1");
} }
return; return;
} }
else if (ooc_message.startsWith("/switch_am")) else if (ooc_message.startsWith("/switch_am"))
{ {
append_server_chatmessage("CLIENT", "You switched your music and area list."); append_server_chatmessage("CLIENT", "You switched your music and area list.", "1");
on_switch_area_music_clicked(); on_switch_area_music_clicked();
ui_ooc_chat_message->clear(); ui_ooc_chat_message->clear();
return; return;
} }
else if (ooc_message.startsWith("/enable_blocks")) else if (ooc_message.startsWith("/enable_blocks"))
{ {
append_server_chatmessage("CLIENT", "You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this."); append_server_chatmessage("CLIENT", "You have forcefully enabled features that the server may not support. You may not be able to talk IC, or worse, because of this.", "1");
ao_app->shownames_enabled = true; ao_app->shownames_enabled = true;
ao_app->charpairs_enabled = true; ao_app->charpairs_enabled = true;
ao_app->arup_enabled = true; ao_app->arup_enabled = true;
@ -2754,9 +2761,9 @@ void Courtroom::on_ooc_return_pressed()
else if (ooc_message.startsWith("/non_int_pre")) else if (ooc_message.startsWith("/non_int_pre"))
{ {
if (ui_pre_non_interrupt->isChecked()) if (ui_pre_non_interrupt->isChecked())
append_server_chatmessage("CLIENT", "Your pre-animations interrupt again."); append_server_chatmessage("CLIENT", "Your pre-animations interrupt again.", "1");
else else
append_server_chatmessage("CLIENT", "Your pre-animations will not interrupt text."); append_server_chatmessage("CLIENT", "Your pre-animations will not interrupt text.", "1");
ui_pre_non_interrupt->setChecked(!ui_pre_non_interrupt->isChecked()); ui_pre_non_interrupt->setChecked(!ui_pre_non_interrupt->isChecked());
ui_ooc_chat_message->clear(); ui_ooc_chat_message->clear();
return; return;

View File

@ -162,7 +162,7 @@ public:
//these are for OOC chat //these are for OOC chat
void append_ms_chatmessage(QString f_name, QString f_message); void append_ms_chatmessage(QString f_name, QString f_message);
void append_server_chatmessage(QString p_name, QString p_message); void append_server_chatmessage(QString p_name, QString p_message, QString p_colour);
//these functions handle chatmessages sequentially. //these functions handle chatmessages sequentially.
//The process itself is very convoluted and merits separate documentation //The process itself is very convoluted and merits separate documentation

View File

@ -357,7 +357,7 @@ void Lobby::list_favorites()
void Lobby::append_chatmessage(QString f_name, QString f_message) void Lobby::append_chatmessage(QString f_name, QString f_message)
{ {
ui_chatbox->append_chatmessage(f_name, f_message); ui_chatbox->append_chatmessage(f_name, f_message, ao_app->get_color("ooc_default_color", "courtroom_design.ini").name());
} }
void Lobby::append_error(QString f_message) void Lobby::append_error(QString f_message)

View File

@ -178,7 +178,12 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
goto end; goto end;
if (courtroom_constructed) if (courtroom_constructed)
w_courtroom->append_server_chatmessage(f_contents.at(0), f_contents.at(1)); {
if (f_contents.size() == 3)
w_courtroom->append_server_chatmessage(f_contents.at(0), f_contents.at(1), f_contents.at(2));
else
w_courtroom->append_server_chatmessage(f_contents.at(0), f_contents.at(1), "0");
}
} }
else if (header == "FL") else if (header == "FL")
{ {

View File

@ -124,7 +124,7 @@ class AreaManager:
c.send_command(cmd, *args) c.send_command(cmd, *args)
def send_host_message(self, msg): def send_host_message(self, msg):
self.send_command('CT', self.server.config['hostname'], msg) self.send_command('CT', self.server.config['hostname'], msg, '1')
def set_next_msg_delay(self, msg_length): def set_next_msg_delay(self, msg_length):
delay = min(3000, 100 + 60 * msg_length) delay = min(3000, 100 + 60 * msg_length)

View File

@ -94,7 +94,7 @@ class ClientManager:
self.send_raw_message('{}#%'.format(command)) self.send_raw_message('{}#%'.format(command))
def send_host_message(self, msg): def send_host_message(self, msg):
self.send_command('CT', self.server.config['hostname'], msg) self.send_command('CT', self.server.config['hostname'], msg, '1')
def send_motd(self): def send_motd(self):
self.send_host_message('=== MOTD ===\r\n{}\r\n============='.format(self.server.config['motd'])) self.send_host_message('=== MOTD ===\r\n{}\r\n============='.format(self.server.config['motd']))
@ -272,7 +272,7 @@ class ClientManager:
info = 'Current online: {}'.format(cnt) + info info = 'Current online: {}'.format(cnt) + info
else: else:
try: try:
info = 'People in this area: {}\n'.format(len(self.server.area_manager.areas[area_id].clients)) + self.get_area_info(area_id, mods) info = 'People in this area: {}'.format(len(self.server.area_manager.areas[area_id].clients)) + self.get_area_info(area_id, mods)
except AreaError: except AreaError:
raise raise
self.send_host_message(info) self.send_host_message(info)

View File

@ -502,7 +502,7 @@ def ooc_cmd_announce(client, arg):
if len(arg) == 0: if len(arg) == 0:
raise ArgumentError("Can't send an empty message.") raise ArgumentError("Can't send an empty message.")
client.server.send_all_cmd_pred('CT', '{}'.format(client.server.config['hostname']), client.server.send_all_cmd_pred('CT', '{}'.format(client.server.config['hostname']),
'=== Announcement ===\r\n{}\r\n=================='.format(arg)) '=== Announcement ===\r\n{}\r\n=================='.format(arg), '1')
logger.log_server('[{}][{}][ANNOUNCEMENT]{}.'.format(client.area.abbreviation, client.get_char_name(), arg), client) logger.log_server('[{}][{}][ANNOUNCEMENT]{}.'.format(client.area.abbreviation, client.get_char_name(), arg), client)
logger.log_mod('[{}][{}][ANNOUNCEMENT]{}.'.format(client.area.abbreviation, client.get_char_name(), arg), client) logger.log_mod('[{}][{}][ANNOUNCEMENT]{}.'.format(client.area.abbreviation, client.get_char_name(), arg), client)

View File

@ -60,7 +60,7 @@ class DistrictClient:
elif cmd == 'NEED': elif cmd == 'NEED':
need_msg = '=== Cross Advert ===\r\n{} at {} in {} [{}] needs {}\r\n====================' \ need_msg = '=== Cross Advert ===\r\n{} at {} in {} [{}] needs {}\r\n====================' \
.format(args[1], args[0], args[2], args[3], args[4]) .format(args[1], args[0], args[2], args[3], args[4])
self.server.send_all_cmd_pred('CT', '{}'.format(self.server.config['hostname']), need_msg, self.server.send_all_cmd_pred('CT', '{}'.format(self.server.config['hostname']), need_msg, '1',
pred=lambda x: not x.muted_adverts) pred=lambda x: not x.muted_adverts)
async def write_queue(self): async def write_queue(self):

View File

@ -253,8 +253,8 @@ class TsuServer3:
area_name = client.area.name area_name = client.area.name
area_id = client.area.abbreviation area_id = client.area.abbreviation
self.send_all_cmd_pred('CT', '{}'.format(self.config['hostname']), self.send_all_cmd_pred('CT', '{}'.format(self.config['hostname']),
'=== Advert ===\r\n{} in {} [{}] needs {}\r\n===============' ['=== Advert ===\r\n{} in {} [{}] needs {}\r\n==============='
.format(char_name, area_name, area_id, msg), pred=lambda x: not x.muted_adverts) .format(char_name, area_name, area_id, msg), '1'], pred=lambda x: not x.muted_adverts)
if self.config['use_district']: if self.config['use_district']:
self.district_client.send_raw_message('NEED#{}#{}#{}#{}'.format(char_name, area_name, area_id, msg)) self.district_client.send_raw_message('NEED#{}#{}#{}#{}'.format(char_name, area_name, area_id, msg))