aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/kernel/KviOptions.cpp1
-rw-r--r--src/kvirc/kernel/KviOptions.h3
-rw-r--r--src/kvirc/sparser/KviIrcServerParser_numericHandlers.cpp6
-rw-r--r--src/modules/options/OptionsWidget_ircOutput.cpp1
4 files changed, 7 insertions, 4 deletions
diff --git a/src/kvirc/kernel/KviOptions.cpp b/src/kvirc/kernel/KviOptions.cpp
index 5420eabe2..cba45d52e 100644
--- a/src/kvirc/kernel/KviOptions.cpp
+++ b/src/kvirc/kernel/KviOptions.cpp
@@ -340,6 +340,7 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]=
BOOL_OPTION("ShowTreeWindowListHandle",true,KviOption_sectFlagWindowList | KviOption_resetUpdateGui | KviOption_groupTheme),
BOOL_OPTION("MenuBarVisible",true,KviOption_sectFlagFrame | KviOption_resetUpdateGui),
BOOL_OPTION("WarnAboutHidingMenuBar",true,KviOption_sectFlagFrame),
+ BOOL_OPTION("WhoRepliesToActiveWindow",false,KviOption_sectFlagConnection),
};
#define STRING_OPTION(_txt,_val,_flags) KviStringOption(KVI_STRING_OPTIONS_PREFIX _txt,_val,_flags)
diff --git a/src/kvirc/kernel/KviOptions.h b/src/kvirc/kernel/KviOptions.h
index ab499a547..75d6fd043 100644
--- a/src/kvirc/kernel/KviOptions.h
+++ b/src/kvirc/kernel/KviOptions.h
@@ -360,8 +360,9 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList)
#define KviOption_boolShowTreeWindowListHandle 265
#define KviOption_boolMenuBarVisible 266
#define KviOption_boolWarnAboutHidingMenuBar 267
+#define KviOption_boolWhoRepliesToActiveWindow 268 /* irc::output */
-#define KVI_NUM_BOOL_OPTIONS 268
+#define KVI_NUM_BOOL_OPTIONS 269
#define KVI_STRING_OPTIONS_PREFIX "string"
diff --git a/src/kvirc/sparser/KviIrcServerParser_numericHandlers.cpp b/src/kvirc/sparser/KviIrcServerParser_numericHandlers.cpp
index 4563f9ce2..07bee40be 100644
--- a/src/kvirc/sparser/KviIrcServerParser_numericHandlers.cpp
+++ b/src/kvirc/sparser/KviIrcServerParser_numericHandlers.cpp
@@ -955,7 +955,7 @@ void KviIrcServerParser::parseNumericWhoReply(KviIrcMessage *msg)
if(!msg->haltOutput())
{
- KviWindow * pOut = chan ? chan : KVI_OPTION_BOOL(KviOption_boolServerRepliesToActiveWindow) ?
+ KviWindow * pOut = KVI_OPTION_BOOL(KviOption_boolWhoRepliesToActiveWindow) && chan ?
msg->console()->activeWindow() : static_cast<KviWindow *>(msg->console());
QString szAway = bAway ? __tr2qs("Yes") : __tr2qs("No");
@@ -995,7 +995,7 @@ void KviIrcServerParser::parseNumericWhospcrpl(KviIrcMessage *msg)
if(chan->hasWhoList() && !chan->sentSyncWhoRequest())
{
QString szWText = msg->connection()->decodeText(msg->allParams());
- KviWindow * pOut = chan ? chan : KVI_OPTION_BOOL(KviOption_boolServerRepliesToActiveWindow) ?
+ KviWindow * pOut = KVI_OPTION_BOOL(KviOption_boolWhoRepliesToActiveWindow) && chan ?
msg->console()->activeWindow() : static_cast<KviWindow *>(msg->console());
pOut->output(KVI_OUT_UNHANDLED,
@@ -1112,7 +1112,7 @@ void KviIrcServerParser::parseNumericEndOfWho(KviIrcMessage *msg)
if(!msg->haltOutput())
{
- KviWindow * pOut = chan ? chan : KVI_OPTION_BOOL(KviOption_boolServerRepliesToActiveWindow) ?
+ KviWindow * pOut = KVI_OPTION_BOOL(KviOption_boolWhoRepliesToActiveWindow) && chan ?
msg->console()->activeWindow() : static_cast<KviWindow *>(msg->console());
QString whoTarget = msg->connection()->decodeText(msg->safeParam(1));
if(IS_CHANNEL_TYPE_FLAG(whoTarget[0]))
diff --git a/src/modules/options/OptionsWidget_ircOutput.cpp b/src/modules/options/OptionsWidget_ircOutput.cpp
index fd252a4d9..577f749b5 100644
--- a/src/modules/options/OptionsWidget_ircOutput.cpp
+++ b/src/modules/options/OptionsWidget_ircOutput.cpp
@@ -70,6 +70,7 @@ OptionsWidget_ircOutput::OptionsWidget_ircOutput(QWidget * pParent)
addBoolSelector(pGroup,__tr2qs_ctx("External messages","options"),KviOption_boolExternalMessagesToActiveWindow);
addBoolSelector(pGroup,__tr2qs_ctx("External CTCP replies","options"),KviOption_boolCtcpRepliesToActiveWindow);
addBoolSelector(pGroup,__tr2qs_ctx("WHOIS replies","options"),KviOption_boolWhoisRepliesToActiveWindow);
+ addBoolSelector(pGroup,__tr2qs_ctx("WHO replies","options"),KviOption_boolWhoRepliesToActiveWindow);
addBoolSelector(pGroup,__tr2qs_ctx("ChanServ and NickServ notices","options"),KviOption_boolServicesNoticesToActiveWindow);
addBoolSelector(pGroup,__tr2qs_ctx("Invite messages","options"),KviOption_boolInvitesToActiveWindow);
addBoolSelector(pGroup,__tr2qs_ctx("Server replies","options"),KviOption_boolServerRepliesToActiveWindow);