fixed a bug where & would cause songs not to play

This commit is contained in:
David Skoland 2017-02-13 17:52:12 +01:00
parent 7eb07749c5
commit 511b1e7eee
5 changed files with 62 additions and 4 deletions

View File

@ -67,3 +67,4 @@ HEADERS += lobby.h \
aoblipplayer.h aoblipplayer.h
unix:LIBS += -L/home/omnitroid/Project/Attorney_Online_2/src -lbass unix:LIBS += -L/home/omnitroid/Project/Attorney_Online_2/src -lbass
win32:LIBS += "$$PWD/bass.dll"

View File

@ -37,7 +37,7 @@ public:
void server_packet_received(AOPacket *p_packet); void server_packet_received(AOPacket *p_packet);
void send_ms_packet(AOPacket *p_packet); void send_ms_packet(AOPacket *p_packet);
void send_server_packet(AOPacket *p_packet); void send_server_packet(AOPacket *p_packet, bool encoded = true);
/////////////////server metadata////////////////// /////////////////server metadata//////////////////

View File

@ -208,6 +208,8 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
//emote signals are set in emotes.cpp //emote signals are set in emotes.cpp
connect(ui_mute_list, SIGNAL(clicked(QModelIndex)), this, SLOT(on_mute_list_clicked(QModelIndex)));
connect(ui_ic_chat_message, SIGNAL(returnPressed()), this, SLOT(on_chat_return_pressed())); connect(ui_ic_chat_message, SIGNAL(returnPressed()), this, SLOT(on_chat_return_pressed()));
connect(ui_ooc_chat_message, SIGNAL(returnPressed()), this, SLOT(on_ooc_return_pressed())); connect(ui_ooc_chat_message, SIGNAL(returnPressed()), this, SLOT(on_ooc_return_pressed()));
@ -263,6 +265,24 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
connect(ui_emote_right, SIGNAL(clicked()), this, SLOT(on_emote_right_clicked())); connect(ui_emote_right, SIGNAL(clicked()), this, SLOT(on_emote_right_clicked()));
} }
void Courtroom::set_mute_list()
{
mute_map.clear();
QStringList sorted_mute_list;
for (char_type i_char : char_list)
sorted_mute_list.append(i_char.name);
sorted_mute_list.sort();
for (QString i_name : sorted_mute_list)
{
mute_map.insert(i_name, false);
ui_mute_list->addItem(i_name);
}
}
void Courtroom::set_widgets() void Courtroom::set_widgets()
{ {
QString design_ini_path = ao_app->get_theme_path() + "courtroom_design.ini"; QString design_ini_path = ao_app->get_theme_path() + "courtroom_design.ini";
@ -827,6 +847,9 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
m_chatmessage[n_string] = p_contents->at(n_string); m_chatmessage[n_string] = p_contents->at(n_string);
} }
if (mute_map.value(m_chatmessage[CHAR_NAME]))
return;
QString f_showname = ao_app->get_showname(m_chatmessage[CHAR_NAME]); QString f_showname = ao_app->get_showname(m_chatmessage[CHAR_NAME]);
QString f_message = f_showname + ": " + m_chatmessage[MESSAGE] + '\n'; QString f_message = f_showname + ": " + m_chatmessage[MESSAGE] + '\n';
@ -1366,6 +1389,30 @@ void Courtroom::on_music_search_edited(QString p_text)
list_music(); list_music();
} }
void Courtroom::on_mute_list_clicked(QModelIndex p_index)
{
qDebug() << "mute_list_clicked";
QListWidgetItem *f_item = ui_mute_list->item(p_index.row());
qDebug() << "item text: " << f_item->text();
QString f_char = f_item->text();
QString real_char;
if (f_char.endsWith(" [x]"))
{
real_char = f_char.left(f_char.size() - 4);
mute_map.remove(real_char);
mute_map.insert(real_char, false);
f_item->setText(real_char);
}
else
{
real_char = f_char;
mute_map.remove(real_char);
mute_map.insert(real_char, true);
f_item->setText(real_char + " [x]");
}
}
void Courtroom::on_music_list_double_clicked(QModelIndex p_model) void Courtroom::on_music_list_double_clicked(QModelIndex p_model)
{ {
if (is_muted) if (is_muted)
@ -1373,7 +1420,7 @@ void Courtroom::on_music_list_double_clicked(QModelIndex p_model)
QString p_song = ui_music_list->item(p_model.row())->text(); QString p_song = ui_music_list->item(p_model.row())->text();
ao_app->send_server_packet(new AOPacket("MC#" + p_song + "#" + QString::number(m_cid) + "#%")); ao_app->send_server_packet(new AOPacket("MC#" + p_song + "#" + QString::number(m_cid) + "#%"), false);
} }
void Courtroom::on_hold_it_clicked() void Courtroom::on_hold_it_clicked()

View File

@ -25,6 +25,7 @@
#include <QCloseEvent> #include <QCloseEvent>
#include <QSignalMapper> #include <QSignalMapper>
#include <QSoundEffect> #include <QSoundEffect>
#include <QMap>
class AOApplication; class AOApplication;
@ -45,6 +46,8 @@ public:
void set_char_select_page(); void set_char_select_page();
void set_background(QString p_background); void set_background(QString p_background);
void set_mute_list();
//sets desk and bg based on pos in chatmessage //sets desk and bg based on pos in chatmessage
void set_scene(); void set_scene();
@ -128,6 +131,8 @@ private:
QString previous_ic_message = ""; QString previous_ic_message = "";
QMap<QString, bool> mute_map;
bool is_muted = false; bool is_muted = false;
//state of animation, 0 = objecting, 1 = preanim, 2 = talking, 3 = idle //state of animation, 0 = objecting, 1 = preanim, 2 = talking, 3 = idle
@ -279,6 +284,8 @@ private slots:
void chat_tick(); void chat_tick();
void on_mute_list_clicked(QModelIndex p_index);
void on_chat_return_pressed(); void on_chat_return_pressed();
void on_ooc_return_pressed(); void on_ooc_return_pressed();

View File

@ -297,6 +297,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
w_courtroom->append_ms_chatmessage(w_lobby->get_chatlog()); w_courtroom->append_ms_chatmessage(w_lobby->get_chatlog());
w_courtroom->set_mute_list();
w_courtroom->show(); w_courtroom->show();
destruct_lobby(); destruct_lobby();
@ -438,8 +440,9 @@ void AOApplication::send_ms_packet(AOPacket *p_packet)
delete p_packet; delete p_packet;
} }
void AOApplication::send_server_packet(AOPacket *p_packet) void AOApplication::send_server_packet(AOPacket *p_packet, bool encoded)
{ {
if (encoded)
p_packet->net_encode(); p_packet->net_encode();
QString f_packet = p_packet->to_string(); QString f_packet = p_packet->to_string();