Add row for account in tooltip based on IrcUser->account(). If not
supported, it's ignored. Otherwise, will either show the account
name if logged in, or "Not logged in" if known to be logged out.
When account() information is available, hide the Whois account reply
as it's redundant, and might be out-of-date.
NetworkItem::escapeHTML(_ircUser->suserHost()),
!_ircUser->suserHost().isEmpty());
}
NetworkItem::escapeHTML(_ircUser->suserHost()),
!_ircUser->suserHost().isEmpty());
}
+
+ // Keep track of whether or not the account information's been added. Don't show it twice.
+ bool accountAdded = false;
+ if(!_ircUser->account().isEmpty()) {
+ // IRCv3 account-notify is supported by the core and IRC server.
+ // Assume logged out (seems to be more common)
+ QString accountHTML = QString("<p class='italic'>%1</p>").arg(tr("Not logged in"));
+
+ // If account is logged in, replace with the escaped account name.
+ if (_ircUser->account() != "*") {
+ accountHTML = NetworkItem::escapeHTML(_ircUser->account());
+ }
+ addRow(NetworkItem::escapeHTML(tr("Account"), true),
+ accountHTML,
+ true);
+ // Mark the row as added
+ accountAdded = true;
+ }
// whoisServiceReply may return "<nick> is identified for this nick", which should be translated.
// See https://www.alien.net.au/irc/irc2numerics.html
if(_ircUser->whoisServiceReply().endsWith("identified for this nick")) {
addRow(NetworkItem::escapeHTML(tr("Account"), true),
NetworkItem::escapeHTML(tr("Identified for this nick")),
// whoisServiceReply may return "<nick> is identified for this nick", which should be translated.
// See https://www.alien.net.au/irc/irc2numerics.html
if(_ircUser->whoisServiceReply().endsWith("identified for this nick")) {
addRow(NetworkItem::escapeHTML(tr("Account"), true),
NetworkItem::escapeHTML(tr("Identified for this nick")),
+ !accountAdded);
+ // Don't add the account row again if information's already added via account-notify
+ // Mark the row as added
+ accountAdded = true;
} else {
addRow(NetworkItem::escapeHTML(tr("Service Reply"), true),
NetworkItem::escapeHTML(_ircUser->whoisServiceReply()),
} else {
addRow(NetworkItem::escapeHTML(tr("Service Reply"), true),
NetworkItem::escapeHTML(_ircUser->whoisServiceReply()),
NetworkItem::escapeHTML(_ircUser->suserHost()),
!_ircUser->suserHost().isEmpty());
}
NetworkItem::escapeHTML(_ircUser->suserHost()),
!_ircUser->suserHost().isEmpty());
}
+
+ // Keep track of whether or not the account information's been added. Don't show it twice.
+ bool accountAdded = false;
+ if(!_ircUser->account().isEmpty()) {
+ // IRCv3 account-notify is supported by the core and IRC server.
+ // Assume logged out (seems to be more common)
+ QString accountHTML = QString("<p class='italic'>%1</p>").arg(tr("Not logged in"));
+
+ // If account is logged in, replace with the escaped account name.
+ if (_ircUser->account() != "*") {
+ accountHTML = NetworkItem::escapeHTML(_ircUser->account());
+ }
+ addRow(NetworkItem::escapeHTML(tr("Account"), true),
+ accountHTML,
+ true);
+ // Mark the row as added
+ accountAdded = true;
+ }
// whoisServiceReply may return "<nick> is identified for this nick", which should be translated.
// See https://www.alien.net.au/irc/irc2numerics.html
if(_ircUser->whoisServiceReply().endsWith("identified for this nick")) {
addRow(NetworkItem::escapeHTML(tr("Account"), true),
NetworkItem::escapeHTML(tr("Identified for this nick")),
// whoisServiceReply may return "<nick> is identified for this nick", which should be translated.
// See https://www.alien.net.au/irc/irc2numerics.html
if(_ircUser->whoisServiceReply().endsWith("identified for this nick")) {
addRow(NetworkItem::escapeHTML(tr("Account"), true),
NetworkItem::escapeHTML(tr("Identified for this nick")),
+ !accountAdded);
+ // Don't add the account row again if information's already added via account-notify
+ // Mark the row as added
+ accountAdded = true;
} else {
addRow(NetworkItem::escapeHTML(tr("Service Reply"), true),
NetworkItem::escapeHTML(_ircUser->whoisServiceReply()),
} else {
addRow(NetworkItem::escapeHTML(tr("Service Reply"), true),
NetworkItem::escapeHTML(_ircUser->whoisServiceReply()),