-void Core::connectToIrc(const QString &h, quint16 port) {
- qDebug() << "Core: Connecting to " << h << ":" << port;
- server.connectToIrc(h, port);
+void Core::connectToIrc(QStringList networks) {
+ foreach(QString net, networks) {
+ if(servers.contains(net)) {
+
+ } else {
+ Server *server = new Server(net);
+ connect(this, SIGNAL(connectToIrc(QString)), server, SLOT(connectToIrc(QString)));
+ connect(this, SIGNAL(disconnectFromIrc(QString)), server, SLOT(disconnectFromIrc(QString)));
+ connect(this, SIGNAL(msgFromGUI(QString, QString, QString)), server, SLOT(userInput(QString, QString, QString)));
+ connect(server, SIGNAL(sendMessage(QString, QString)), this, SLOT(recvMessageFromServer(QString, QString)));
+ connect(server, SIGNAL(sendStatusMsg(QString)), this, SLOT(recvStatusMsgFromServer(QString)));
+ // add error handling
+
+ server->start();
+ servers[net] = server;
+ }
+ emit connectToIrc(net);
+ }