From f485105bde17447b5d0c5a914ba9afd9a06888b5 Mon Sep 17 00:00:00 2001 From: Thibaut Meyer Date: Fri, 21 Apr 2023 18:35:19 +0200 Subject: [PATCH] adds print_topic_on_join boolean under lookandfeel --- src/fe-common/irc/fe-events-numeric.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c index 34ba3fe7..89873f33 100644 --- a/src/fe-common/irc/fe-events-numeric.c +++ b/src/fe-common/irc/fe-events-numeric.c @@ -715,6 +715,8 @@ void fe_events_numeric_init(void) last_away_nick = NULL; last_away_msg = NULL; + settings_add_bool("lookandfeel", "print_topic_on_join", TRUE); + /* clang-format off */ signal_add("event 221", (SIGNAL_FUNC) event_user_mode); signal_add("event 303", (SIGNAL_FUNC) event_ison); @@ -729,8 +731,12 @@ void fe_events_numeric_init(void) signal_add("event 348", (SIGNAL_FUNC) event_eban_list); signal_add("event 346", (SIGNAL_FUNC) event_invite_list); signal_add("event 433", (SIGNAL_FUNC) event_nick_in_use); - signal_add("event 332", (SIGNAL_FUNC) event_topic_get); - signal_add("event 333", (SIGNAL_FUNC) event_topic_info); + + if (settings_get_bool("print_topic_on_join")) { + signal_add("event 332", (SIGNAL_FUNC) event_topic_get); + signal_add("event 333", (SIGNAL_FUNC) event_topic_info); + } + signal_add("event 324", (SIGNAL_FUNC) event_channel_mode); signal_add("event 329", (SIGNAL_FUNC) event_channel_created); signal_add("event 306", (SIGNAL_FUNC) event_nowaway); @@ -827,8 +833,12 @@ void fe_events_numeric_deinit(void) signal_remove("event 348", (SIGNAL_FUNC) event_eban_list); signal_remove("event 346", (SIGNAL_FUNC) event_invite_list); signal_remove("event 433", (SIGNAL_FUNC) event_nick_in_use); - signal_remove("event 332", (SIGNAL_FUNC) event_topic_get); - signal_remove("event 333", (SIGNAL_FUNC) event_topic_info); + + if (settings_get_bool("print_topic_on_join")) { + signal_remove("event 332", (SIGNAL_FUNC) event_topic_get); + signal_remove("event 333", (SIGNAL_FUNC) event_topic_info); + } + signal_remove("event 324", (SIGNAL_FUNC) event_channel_mode); signal_remove("event 329", (SIGNAL_FUNC) event_channel_created); signal_remove("event 306", (SIGNAL_FUNC) event_nowaway);