diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /libkmime/kqcstringsplitter.cpp | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'libkmime/kqcstringsplitter.cpp')
-rw-r--r-- | libkmime/kqcstringsplitter.cpp | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/libkmime/kqcstringsplitter.cpp b/libkmime/kqcstringsplitter.cpp new file mode 100644 index 000000000..fdd6dff09 --- /dev/null +++ b/libkmime/kqcstringsplitter.cpp @@ -0,0 +1,161 @@ +/* + kqcstringsplitter.cpp + + KNode, the KDE newsreader + Copyright (c) 1999-2001 the KNode authors. + See file AUTHORS for details + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US +*/ + +#include "kqcstringsplitter.h" + +KQCStringSplitter::KQCStringSplitter() +{ + reset(); +} + + + + +KQCStringSplitter::~KQCStringSplitter() +{ +} + + + +void KQCStringSplitter::init(const QCString &str, const char *s) +{ + sep=s; + src=str; +} + + + +void KQCStringSplitter::init(const char *str, const char *s) +{ + sep=s; + src=str; +} + +bool KQCStringSplitter::first() +{ + /*int plus; + if(incSep) plus=sep.length(); + else plus=0; */ + + start=0; + + end=src.find(sep, start); + + if(end!=-1) { + dst=src.mid(start, end); + return true; + } + else { + start=src.length(); + end=start; + return false; + } + +} + + + +bool KQCStringSplitter::last() +{ + /*int startplus, endplus; + + if(incSep) { + startplus=0; + endplus=sep.length(); + } + else { + startplus=sep.length(); + endplus=0; + }*/ + + end=src.length(); + + start=src.findRev(sep,end); + + if(start!=-1) { + dst=src.mid(start, end-start); + return true; + } + else return false; + + +} + + + +bool KQCStringSplitter::next() +{ + /*int plus; + if(incSep) plus=sep.length(); + else plus=0;*/ + + start=end+1; + + if(start< (int) src.length()) { + + end=src.find(sep, start); + + if(end!=-1) { + dst=src.mid(start, end-start); + } + else { + dst=src.mid(start, src.length()-start); + start=src.length(); + end=src.length(); + } + + return true; + } + else return false; + +} + + + +bool KQCStringSplitter::prev() +{ + /*int startplus, endplus; + + if(incSep) { + startplus=0; + endplus=sep.length(); + } + else { + startplus=sep.length(); + endplus=0; + }*/ + + end=start-1; + + if(end>0) { + + start=src.findRev(sep,end); + + if(start!=-1) + dst=src.mid(start, end-start); + + else { + dst=src.mid(0, end+1); + end=0; + start=0; + } + + return true; + } + else return false; + +} + |