summaryrefslogtreecommitdiff
path: root/library/backend/stringutil.cpp
Side-by-side diff
Diffstat (limited to 'library/backend/stringutil.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/stringutil.cpp415
1 files changed, 0 insertions, 415 deletions
diff --git a/library/backend/stringutil.cpp b/library/backend/stringutil.cpp
deleted file mode 100644
index df58f54..0000000
--- a/library/backend/stringutil.cpp
+++ b/dev/null
@@ -1,415 +0,0 @@
-/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included
-** in the packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
-** THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
-** PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
-
-#include "stringutil.h"
-#include <qregexp.h>
-#include <qstringlist.h>
-
-namespace Qtopia
-{
-
-
-
-/*
- Very, very simple Latin-1 only collation guaranteed to displease anyone
- who actually uses the non-ASCII characters.
- */
-
-static const char collationHack[] = {
-0x00, //C-@
-0x01, //C-A
-0x02, //C-B
-0x03, //C-C
-0x04, //C-D
-0x05, //C-E
-0x06, //C-F
-0x07, //C-G
-0x08, //C-H
-0x09, //C-I
-0x0a, //C-J
-0x0b, //C-K
-0x0c, //C-L
-0x0d, //C-M
-0x0e, //C-N
-0x0f, //C-O
-0x10, //C-P
-0x11, //C-Q
-0x12, //C-R
-0x13, //C-S
-0x14, //C-T
-0x15, //C-U
-0x16, //C-V
-0x17, //C-W
-0x18, //C-X
-0x19, //C-Y
-0x1a, //C-Z
-0x1b, //C-[
-0x1c, //C-\
-0x1d, //C-]
-0x1e, //C-^
-0x1f, //C-_
-' ', //
-'!', //!
-'"', //"
-'#', //#
-'$', //$
-'%', //%
-'&', //&
-'\'', //'
-'(', //(
-')', //)
-'*', //*
-'+', //+
-',', //,
-'-', //-
-'.', //.
-'/', ///
-0x80, //0
-0x81, //1
-0x82, //2
-0x83, //3
-0x84, //4
-0x85, //5
-0x86, //6
-0x87, //7
-0x88, //8
-0x89, //9
-':', //:
-';', //;
-'<', //<
-'=', //=
-'>', //>
-'?', //?
-'@', //@
-'A', //A
-'B', //B
-'C', //C
-'D', //D
-'E', //E
-'F', //F
-'G', //G
-'H', //H
-'I', //I
-'J', //J
-'K', //K
-'L', //L
-'M', //M
-'N', //N
-'O', //O
-'P', //P
-'Q', //Q
-'R', //R
-'S', //S
-'T', //T
-'U', //U
-'V', //V
-'W', //W
-'X', //X
-'Y', //Y
-'Z', //Z
-'[', //[
-'\\', //\
-']', //]
-'^', //^
-'_', //_
-'`', //`
-'A', //a
-'B', //b
-'C', //c
-'D', //d
-'E', //e
-'F', //f
-'G', //g
-'H', //h
-'I', //i
-'J', //j
-'K', //k
-'L', //l
-'M', //m
-'N', //n
-'O', //o
-'P', //p
-'Q', //q
-'R', //r
-'S', //s
-'T', //t
-'U', //u
-'V', //v
-'W', //w
-'X', //x
-'Y', //y
-'Z', //z
-'{', //{
-'|', //|
-'}', //}
-'~', //~
-'', //
-0x80, //C-M-@
-0x81, //C-M-A
-0x82, //C-M-B
-0x83, //C-M-C
-0x84, //C-M-D
-0x85, //C-M-E
-0x86, //C-M-F
-0x87, //C-M-G
-0x88, //C-M-H
-0x89, //C-M-I
-0x8a, //C-M-J
-0x8b, //C-M-K
-0x8c, //C-M-L
-0x8d, //C-M-M
-0x8e, //C-M-N
-0x8f, //C-M-O
-0x90, //C-M-P
-0x91, //C-M-Q
-0x92, //C-M-R
-0x93, //C-M-S
-0x94, //C-M-T
-0x95, //C-M-U
-0x96, //C-M-V
-0x97, //C-M-W
-0x98, //C-M-X
-0x99, //C-M-Y
-0x9a, //C-M-Z
-0x9b, //C-M-[
-0x9c, //C-M-\
-0x9d, //C-M-]
-0x9e, //C-M-^
-0x9f, //C-M-_
-' ', // 
-'¡', //¡
-'¢', //¢
-'£', //£
-'¤', //¤
-'¥', //¥
-'¦', //¦
-'§', //§
-'¨', //¨
-'©', //©
-'A', //ª
-'«', //«
-'¬', //¬
-'­', //­
-'®', //®
-'¯', //¯
-'O', //°
-'±', //±
-'²', //²
-'³', //³
-'´', //´
-'µ', //µ
-'P', //¶
-'·', //·
-'¸', //¸
-'¹', //¹
-'O', //º
-'»', //»
-'¼', //¼
-'½', //½
-'¾', //¾
-'¿', //¿
-'A', //À
-'A', //Á
-'A', //Â
-'A', //Ã
-'A', //Ä
-'A', //Å
-'A', //Æ
-'C', //Ç
-'E', //È
-'E', //É
-'E', //Ê
-'E', //Ë
-'I', //Ì
-'I', //Í
-'I', //Î
-'I', //Ï
-'D', //Ð
-'N', //Ñ
-'O', //Ò
-'O', //Ó
-'O', //Ô
-'O', //Õ
-'O', //Ö
-'×', //×
-'O', //Ø
-'U', //Ù
-'U', //Ú
-'U', //Û
-'U', //Ü
-'Y', //Ý
-'T', //Þ
-'S', //ß
-'A', //à
-'A', //á
-'A', //â
-'A', //ã
-'A', //ä
-'A', //å
-'A', //æ
-'C', //ç
-'E', //è
-'E', //é
-'E', //ê
-'E', //ë
-'I', //ì
-'I', //í
-'I', //î
-'I', //ï
-'D', //ð
-'N', //ñ
-'O', //ò
-'O', //ó
-'O', //ô
-'O', //õ
-'O', //ö
-'÷', //÷
-'O', //ø
-'U', //ù
-'U', //ú
-'U', //û
-'U', //ü
-'Y', //ý
-'T', //þ
-'Y', //ÿ
-};
-
-
-
-
-
-static void hackString ( QString &s )
-{
- int len = s.length();
- const QChar* uc = s.unicode();
- for ( int i = 0; i < len; i++ ) {
- if ( !uc++->row() )
- s[i] = collationHack[s[i].cell()];
- }
-}
-
-QString buildSortKey( const QString & s )
-{
- QString res = s;
- hackString( res );
- return res;
-}
-
-QString buildSortKey( const QString & s1, const QString & s2 )
-{
- QString res = s1 + QChar( '\0' ) + s2;
- hackString( res );
- return res;
-}
-
-QString buildSortKey( const QString & s1, const QString & s2,
- const QString & s3 )
-{
- QString res = s1 + QChar( '\0' ) + s2 + QChar( '\0' ) + s3;
- hackString( res );
- return res;
-}
-
-static inline QChar coll( QChar u )
-{
- return u.row() ? u : QChar(collationHack[ u.cell() ]);
-}
-
-
-int compare( const QString & s1, const QString & s2 )
-{
- const QChar* u1 = s1.unicode();
- const QChar* u2 = s2.unicode();
-
- if ( u1 == u2 )
- return 0;
- if ( u1 == 0 )
- return 1;
- if ( u2 == 0 )
- return -1;
- int l=QMIN(s1.length(),s2.length());
- while ( l-- && coll(*u1) == coll(*u2) )
- u1++,u2++;
- if ( l==-1 )
- return ( s1.length()-s2.length() );
- return u1->unicode() - u2->unicode();
-}
-
-QString simplifyMultiLineSpace( const QString &multiLine )
-{
- QString result;
- QStringList lines = QStringList::split("\n", multiLine);
- for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it ) {
- if ( it != lines.begin() )
- result += "\n";
- result += (*it).simplifyWhiteSpace();
- }
- return result;
-}
-
-QString escapeString( const QString& plain )
-{
- QString tmp(plain);
- int pos = tmp.length();
- const QChar *uc = plain.unicode();
- while ( pos-- ) {
- unsigned char ch = uc[pos].latin1();
- if ( ch == '&' )
- tmp.replace( pos, 1, "&amp;" );
- else if ( ch == '<' )
- tmp.replace( pos, 1, "&lt;" );
- else if ( ch == '>' )
- tmp.replace( pos, 1, "&gt;" );
- else if ( ch == '\"' )
- tmp.replace( pos, 1, "&quot;" );
- }
- return tmp;
-}
-
-QString plainString( const char* escaped, unsigned int length )
-{
- return plainString( QString::fromUtf8( escaped, length ) );
-}
-
-QString plainString( const QCString& string )
-{
- // We first have to pass it through a ::fromUtf8()
- return plainString( string.data(), string.length() );
-}
-
-QString plainString( const QString& string )
-{
- QString tmp( string );
- int pos = -1;
- while ( (pos = tmp.find( "&", pos +1 ) ) != -1 ) {
- if ( tmp.find( "&amp;", pos ) == pos )
- tmp.replace( pos, 5, "&" );
- else if ( tmp.find( "&lt;", pos ) == pos )
- tmp.replace( pos, 4, "<" );
- else if( tmp.find( "&gt;", pos ) == pos )
- tmp.replace( pos, 4, ">" );
- else if ( tmp.find( "&quot;", pos ) == pos )
- tmp.replace( pos, 6, "\"" );
- }
- return tmp;
-}
-
-} // namespace QPC