summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircmessage.cpp
authorskyhusker <skyhusker>2005-01-14 20:54:49 (UTC)
committer skyhusker <skyhusker>2005-01-14 20:54:49 (UTC)
commita808497c334275c4b73e31a9bea37f84e344964d (patch) (side-by-side diff)
tree490b0396494b83b1145fc65ab81e3e437af9aed5 /noncore/net/opieirc/ircmessage.cpp
parentb6c5c3b8b1ab130217678ec789db573ffc52c3eb (diff)
downloadopie-a808497c334275c4b73e31a9bea37f84e344964d.zip
opie-a808497c334275c4b73e31a9bea37f84e344964d.tar.gz
opie-a808497c334275c4b73e31a9bea37f84e344964d.tar.bz2
Added message queue, now topics always appear in channel tab
Diffstat (limited to 'noncore/net/opieirc/ircmessage.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircmessage.cpp35
1 files changed, 32 insertions, 3 deletions
diff --git a/noncore/net/opieirc/ircmessage.cpp b/noncore/net/opieirc/ircmessage.cpp
index d823ad1..d0b2652 100644
--- a/noncore/net/opieirc/ircmessage.cpp
+++ b/noncore/net/opieirc/ircmessage.cpp
@@ -1,4 +1,7 @@
#include <qtextstream.h>
+#include <qstring.h>
+#include <qstringlist.h>
+
#include "ircmessage.h"
/*
@@ -64,8 +67,8 @@ IRCMessage::IRCMessage(QString line) {
m_ctcp = FALSE;
}
- /*
- -- Uncomment to debug --
+ /*
+ //-- Uncomment to debug --
printf("Parsed : '%s'\n", line.ascii());
printf("Prefix : '%s'\n", m_prefix.ascii());
@@ -76,7 +79,8 @@ IRCMessage::IRCMessage(QString line) {
}
printf("CTCP Command : '%s'\n", m_ctcpCommand.latin1());
printf("CTCP Destination : '%s'\n", m_ctcpDestination.latin1());
- printf("CTCP param count is : '%i'\n", m_parameters.count());
+ printf("CTCP param count is : '%i'\n", m_parameters.count());
+
*/
}
@@ -84,6 +88,31 @@ QString IRCMessage::param(int param) {
return m_parameters[param];
}
+QStringList IRCMessage::params(const QString &paramstring) const {
+ QStringList params, retvalue;
+ params = QStringList::split(',', paramstring);
+ QStringList::Iterator end = params.end();
+
+ for (QStringList::Iterator it = params.begin(); it != end; ++it) {
+ int pos = (*it).find(':');
+ if(pos < 0) {
+ if((*it).toInt() < m_parameters.count())
+ retvalue << m_parameters[(*it).toInt()];
+ }
+
+ else {
+ int start, end;
+ start = (*it).left(pos).toInt();
+ end = (*it).mid(pos+1).toInt();
+ for (int i=start;i<=end && i < m_parameters.count() ;++i) {
+ retvalue << m_parameters[i];
+ }
+ }
+ }
+
+ return retvalue;
+}
+
QString IRCMessage::prefix() {
return m_prefix;
}