aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kvilib/config/kvi_sourcesdate.h4
-rw-r--r--src/kvirc/kernel/kvi_ircconnectionserverinfo.cpp34
-rw-r--r--src/kvirc/kernel/kvi_ircconnectionserverinfo.h24
3 files changed, 60 insertions, 2 deletions
diff --git a/src/kvilib/config/kvi_sourcesdate.h b/src/kvilib/config/kvi_sourcesdate.h
index 30edc8ee7..7c967ddf3 100644
--- a/src/kvilib/config/kvi_sourcesdate.h
+++ b/src/kvilib/config/kvi_sourcesdate.h
@@ -36,8 +36,8 @@
* \def KVI_SOURCES_DATE Defines the sources date
* \def KVI_SOURCES_DATE_NUMERIC Defines the sources date
*/
-#define KVI_SOURCES_DATE "20100810"
-#define KVI_SOURCES_DATE_NUMERIC 0x20100810
+#define KVI_SOURCES_DATE "20100818"
+#define KVI_SOURCES_DATE_NUMERIC 0x20100818
/**
* \brief This is the date of the sources before that we should force a setup
diff --git a/src/kvirc/kernel/kvi_ircconnectionserverinfo.cpp b/src/kvirc/kernel/kvi_ircconnectionserverinfo.cpp
index c6abe2c44..b4aa94fe5 100644
--- a/src/kvirc/kernel/kvi_ircconnectionserverinfo.cpp
+++ b/src/kvirc/kernel/kvi_ircconnectionserverinfo.cpp
@@ -236,6 +236,10 @@ void KviIrcConnectionServerInfo::setServerVersion(const QString & version)
m_pServInfo = new KviIrcdRatboxIrcServerInfo(this, version);
else if(version.contains("inspircd",Qt::CaseInsensitive))
m_pServInfo = new KviInspIRCdIrcServerInfo(this, version);
+ else if(version.contains("snircd",Qt::CaseInsensitive))
+ m_pServInfo = new KviSnircdIrcServerInfo(this, version);
+ else if(version.contains("u2",Qt::CaseInsensitive))
+ m_pServInfo = new KviIrcuIrcServerInfo(this, version);
else
m_pServInfo = new KviBasicIrcServerInfo(this, version);
}
@@ -427,3 +431,33 @@ const QString & KviIrcdRatboxIrcServerInfo::getChannelModeDescription(char mode)
}
return KviBasicIrcServerInfo::getChannelModeDescription(mode);
}
+
+const QString & KviSnircdIrcServerInfo::getChannelModeDescription(char mode)
+{
+ switch(mode)
+ {
+ case 'C': return __tr2qs("Forbid channel CTCPs"); break;
+ case 'D': return __tr2qs("Delay users join to first message"); break;
+ case 'M': return __tr2qs("Moderate non auth users"); break;
+ case 'N': return __tr2qs("Block NOTICE"); break;
+ case 'R': return __tr2qs("Registered"); break;
+ case 'T': return __tr2qs("No multitarget messages"); break;
+ case 'd': return __tr2qs("Contains hidden users (previously +D)"); break;
+ case 'c': return __tr2qs("Color free (no ANSI colors)"); break;
+ case 'r': return __tr2qs("Only registered nicks can join"); break;
+ case 'u': return __tr2qs("Hide QUIT and PART messages"); break;
+ }
+ return KviBasicIrcServerInfo::getChannelModeDescription(mode);
+}
+
+const QString & KviIrcuIrcServerInfo::getChannelModeDescription(char mode)
+{
+ switch(mode)
+ {
+ case 'D': return __tr2qs("Delay users join to first message"); break;
+ case 'R': return __tr2qs("Registered"); break;
+ case 'd': return __tr2qs("Contains hidden users (previously +D)"); break;
+ case 'r': return __tr2qs("Only registered nicks can join"); break;
+ }
+ return KviBasicIrcServerInfo::getChannelModeDescription(mode);
+}
diff --git a/src/kvirc/kernel/kvi_ircconnectionserverinfo.h b/src/kvirc/kernel/kvi_ircconnectionserverinfo.h
index 3b752dcac..c6de9b7cc 100644
--- a/src/kvirc/kernel/kvi_ircconnectionserverinfo.h
+++ b/src/kvirc/kernel/kvi_ircconnectionserverinfo.h
@@ -119,6 +119,30 @@ public:
virtual const QString & getChannelModeDescription(char mode);
};
+class KVIRC_API KviSnircdIrcServerInfo : public KviBasicIrcServerInfo
+{
+ //quakenet; note: snird is an extension to ircu
+public:
+ KviSnircdIrcServerInfo(KviIrcConnectionServerInfo * pParent = 0, const QString & version = KviQString::Empty)
+ :KviBasicIrcServerInfo(pParent, version) {;};
+ virtual char getRegisterModeChar() { return 'R'; };
+ virtual const char * getSoftware() { return "Snircd"; };
+ virtual bool getNeedsOpToListModeseI() { return false; }; //modes eI doesn't exists
+ virtual const QString & getChannelModeDescription(char mode);
+};
+
+class KVIRC_API KviIrcuIrcServerInfo : public KviBasicIrcServerInfo
+{
+ //undernet
+public:
+ KviIrcuIrcServerInfo(KviIrcConnectionServerInfo * pParent = 0, const QString & version = KviQString::Empty)
+ :KviBasicIrcServerInfo(pParent, version) {;};
+ virtual char getRegisterModeChar() { return 'R'; };
+ virtual const char * getSoftware() { return "Ircu"; };
+ virtual bool getNeedsOpToListModeseI() { return true; };
+ virtual const QString & getChannelModeDescription(char mode);
+};
+
class KVIRC_API KviIrcConnectionServerInfo
{
friend class KviConsole; // for now