Auto Identify works now. Also newly created networks will have sane defaults as well :)
authorManuel Nickschas <sputnick@quassel-irc.org>
Wed, 13 Feb 2008 00:42:59 +0000 (00:42 +0000)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 13 Feb 2008 00:42:59 +0000 (00:42 +0000)
src/core/coresession.cpp
src/core/networkconnection.cpp
src/qtui/settingspages/networkssettingspage.cpp

index 54457c7..bce4cf7 100644 (file)
@@ -142,6 +142,7 @@ void CoreSession::loadSettings() {
       info.autoReconnectInterval = 60;
       info.autoReconnectRetries = 20;
       info.useAutoIdentify = false;
       info.autoReconnectInterval = 60;
       info.autoReconnectRetries = 20;
       info.useAutoIdentify = false;
+      info.autoIdentifyService = "NickServ";
       info.rejoinChannels = true;
 
       Core::updateNetwork(user(), info);
       info.rejoinChannels = true;
 
       Core::updateNetwork(user(), info);
index a8b8e15..912c2c0 100644 (file)
@@ -174,8 +174,14 @@ void NetworkConnection::networkInitialized() {
 }
 
 void NetworkConnection::sendPerform() {
 }
 
 void NetworkConnection::sendPerform() {
+  BufferInfo statusBuf = Core::bufferInfo(coreSession()->user(), network()->networkId(), BufferInfo::StatusBuffer);
+  // do auto identify
+  if(network()->useAutoIdentify() && !network()->autoIdentifyService().isEmpty() && !network()->autoIdentifyPassword().isEmpty()) {
+    userInputHandler()->handleMsg(statusBuf, QString("%1 IDENTIFY %2").arg(network()->autoIdentifyService(), network()->autoIdentifyPassword()));
+  }
+  // send perform list
   foreach(QString line, network()->perform()) {
   foreach(QString line, network()->perform()) {
-    if(!line.isEmpty()) userInput(Core::bufferInfo(coreSession()->user(), network()->networkId(), BufferInfo::StatusBuffer), line);
+    if(!line.isEmpty()) userInput(statusBuf, line);
   }
 }
 
   }
 }
 
index 16aa61b..e7c3512 100644 (file)
@@ -468,6 +468,16 @@ void NetworksSettingsPage::on_addNetwork_clicked() {
     info.networkId = id;
     info.networkName = dlg.networkName();
     info.identity = 1;
     info.networkId = id;
     info.networkName = dlg.networkName();
     info.identity = 1;
+
+    // defaults
+    info.useRandomServer = false;
+    info.useAutoReconnect = true;
+    info.autoReconnectInterval = 60;
+    info.autoReconnectRetries = 20;
+    info.useAutoIdentify = false;
+    info.autoIdentifyService = "NickServ";
+    info.rejoinChannels = true;
+
     networkInfos[id] = info;
     QListWidgetItem *item = insertNetwork(info);
     ui.networkList->setCurrentItem(item);
     networkInfos[id] = info;
     QListWidgetItem *item = insertNetwork(info);
     ui.networkList->setCurrentItem(item);