ChatLine#topic { foreground: #960096; }
ChatLine#netsplit-join { foreground: #960096; }
ChatLine#netsplit-quit { foreground: #960096; }
+ChatLine#invite { foreground: #916409; }
// BufferView Colors
ChatListItem[state="inactive"] { foreground: #a0a0a4; }
Topic = 0x04000,
NetsplitJoin = 0x08000,
NetsplitQuit = 0x10000,
+ Invite = 0x20000,
};
// DO NOT CHANGE without knowing what you do, some of these flags are stored in the database
//******************************/
// IRC SERVER HANDLER
//******************************/
+void IrcServerHandler::handleInvite(const QString &prefix, const QList<QByteArray> ¶ms) {
+ if(!checkParamCount("IrcServerHandler::handleInvite()", params, 2))
+ return;
+// qDebug() << "IrcServerHandler::handleInvite()" << prefix << params;
+
+ IrcUser *ircuser = network()->updateNickFromMask(prefix);
+ if(!ircuser) {
+ return;
+ }
+
+ QString channel = serverDecode(params[1]);
+
+ emit displayMsg(Message::Invite, BufferInfo::StatusBuffer, "", tr("%1 invited you to channel %2").arg(ircuser->nick()).arg(channel));
+}
+
void IrcServerHandler::handleJoin(const QString &prefix, const QList<QByteArray> ¶ms) {
if(!checkParamCount("IrcServerHandler::handleJoin()", params, 1))
return;
void handleServerMsg(QByteArray rawMsg);
public slots:
+ void handleInvite(const QString &prefix, const QList<QByteArray> ¶ms);
void handleJoin(const QString &prefix, const QList<QByteArray> ¶ms);
void handleKick(const QString &prefix, const QList<QByteArray> ¶ms);
void handleMode(const QString &prefix, const QList<QByteArray> ¶ms);
<< msgTypeQss("topic", "CommandMsg", s)
<< msgTypeQss("netsplit-join", "CommandMsg", s)
<< msgTypeQss("netsplit-quit", "CommandMsg", s)
+ << msgTypeQss("invite", "CommandMsg", s)
<< "\n";
}
fmtType |= UiStyle::NetsplitJoinMsg;
else if(msgType == "netsplit-quit")
fmtType |= UiStyle::NetsplitQuitMsg;
+ else if(msgType == "invite")
+ fmtType |= UiStyle::InviteMsg;
else {
qWarning() << Q_FUNC_INFO << tr("Invalid message type in %1").arg(decl);
}
return NetsplitJoinMsg;
case Message::NetsplitQuit:
return NetsplitQuitMsg;
+ case Message::Invite:
+ return InviteMsg;
}
//Q_ASSERT(false); // we need to handle all message types
qWarning() << Q_FUNC_INFO << "Unknown message type:" << msgType;
t.append(tr("%DN%1%DN (%2 more)").arg(static_cast<QStringList>(users.mid(0, maxNetsplitNicks)).join(", ")).arg(users.count() - maxNetsplitNicks));
}
break;
+ case Message::Invite:
+ //: Invite Message
+ t = tr("%1").arg(txt); break;
default:
t = tr("[%1]").arg(txt);
}
return tr("=>"); break;
case Message::NetsplitQuit:
return tr("<="); break;
+ case Message::Invite:
+ return tr("->"); break;
default:
return tr("%1").arg(plainSender());
}
TopicMsg = 0x0000000f,
NetsplitJoinMsg = 0x00000010,
NetsplitQuitMsg = 0x00000020,
+ InviteMsg = 0x00000030,
// Standard Formats
Bold = 0x00000100,