aboutsummaryrefslogtreecommitdiff
path: root/courtroom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'courtroom.cpp')
-rw-r--r--courtroom.cpp49
1 files changed, 48 insertions, 1 deletions
diff --git a/courtroom.cpp b/courtroom.cpp
index 300e3e8..a322dec 100644
--- a/courtroom.cpp
+++ b/courtroom.cpp
@@ -208,6 +208,8 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
//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_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()));
}
+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()
{
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);
}
+ if (mute_map.value(m_chatmessage[CHAR_NAME]))
+ return;
+
QString f_showname = ao_app->get_showname(m_chatmessage[CHAR_NAME]);
QString f_message = f_showname + ": " + m_chatmessage[MESSAGE] + '\n';
@@ -1366,6 +1389,30 @@ void Courtroom::on_music_search_edited(QString p_text)
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)
{
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();
- 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()