Refactoring the GUI. Work in progress.
[quassel.git] / core / server.cpp
index 44b85b4..e5ed4eb 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005/06 by The Quassel Team                             *
+ *   Copyright (C) 2005-07 by The Quassel Team                             *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -26,7 +26,7 @@
 #include <QMetaObject>
 #include <QDateTime>
 
-Server::Server(QString net) : network(net) {
+Server::Server(UserId uid, QString net) : user(uid), network(net) {
   QString MQUOTE = QString('\020');
   ctcpMDequoteHash[MQUOTE + '0'] = QString('\000');
   ctcpMDequoteHash[MQUOTE + 'n'] = QString('\n');
@@ -67,8 +67,8 @@ void Server::sendState() {
 
 void Server::connectToIrc(QString net) {
   if(net != network) return; // not me!
-  networkSettings = global->getData("Networks").toMap()[net].toMap();
-  identity = global->getData("Identities").toMap()[networkSettings["Identity"].toString()].toMap();
+  networkSettings = Global::data(user, "Networks").toMap()[net].toMap();
+  identity = Global::data(user, "Identities").toMap()[networkSettings["Identity"].toString()].toMap();
   QList<QVariant> servers = networkSettings["Servers"].toList();
   QString host = servers[0].toMap()["Address"].toString();
   quint16 port = servers[0].toMap()["Port"].toUInt();
@@ -167,7 +167,7 @@ void Server::handleServerMsg(QString msg) {
       return;
     }
     // OK, first we split the raw message into its various parts...
-    QString prefix;
+    QString prefix = "";
     QString cmd;
     QStringList params;
 
@@ -738,6 +738,7 @@ void Server::handleServer001(QString prefix, QStringList params) {
 /* RPL_ISUPPORT */
 // TODO Complete 005 handling, also use sensible defaults for non-sent stuff
 void Server::handleServer005(QString prefix, QStringList params) {
+  //qDebug() << prefix << params;
   params.removeLast();
   foreach(QString p, params) {
     QString key = p.section("=", 0, 0);
@@ -869,7 +870,7 @@ void Server::handleCtcpAction(CtcpType ctcptype, QString prefix, QString target,
 void Server::handleCtcpPing(CtcpType ctcptype, QString prefix, QString target, QString param) {
   if(ctcptype == CtcpQuery) {
     ctcpReply(nickFromMask(prefix), "PING", param);
-    emit displayMsg(Message::Plain, "", tr("Received CTCP PING request by %1").arg(prefix));
+    emit displayMsg(Message::Server, "", tr("Received CTCP PING request by %1").arg(prefix));
   } else {
     // display ping answer
   }
@@ -878,8 +879,9 @@ void Server::handleCtcpPing(CtcpType ctcptype, QString prefix, QString target, Q
 void Server::handleCtcpVersion(CtcpType ctcptype, QString prefix, QString target, QString param) {
   if(ctcptype == CtcpQuery) {
     // FIXME use real Info about quassel :)
-    ctcpReply(nickFromMask(prefix), "VERSION", QString("Quassel:pre Release:*nix"));
-    emit displayMsg(Message::Plain, "", tr("Received CTCP VERSION request by %1").arg(prefix));
+    //ctcpReply(nickFromMask(prefix), "VERSION", QString("Quassel:pre Release:*nix"));
+    ctcpReply(nickFromMask(prefix), "VERSION", QString("Quassel IRC (Pre-Release) - http://www.quassel-irc.org"));
+    emit displayMsg(Message::Server, "", tr("Received CTCP VERSION request by %1").arg(prefix));
   } else {
     // TODO display Version answer
   }