kitchensync Library API Documentation

extramap.cpp

00001 /*
00002     This file is part of KitchenSync.
00003 
00004     Copyright (c) 2002,2003 Holger Freyther <freyther@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00019     Boston, MA 02111-1307, USA.
00020 */
00021 
00022 #include <qdom.h>
00023 #include <qstylesheet.h>
00024 #include <qstringlist.h>
00025 
00026 #include <kdebug.h>
00027 
00028 #include "extramap.h"
00029 
00030 using namespace OpieHelper;
00031 
00032 
00033 QString ExtraMap::toString( const CUID& cuid) {
00034     if (!contains( cuid ) ) return QString::null;
00035 
00036     KeyValue val = (*this)[cuid];
00037     KeyValue::Iterator it;
00038     QString str;
00039     for (it = val.begin(); it != val.end(); ++it ) {
00040         str += " "+it.key()+"=\""+escape( it.data() )+"\"";
00041     }
00042 
00043     return str;
00044 }
00045 QString ExtraMap::toString( const QString& app, const QString& uid ) {
00046     return toString(app+uid);
00047 }
00048 void ExtraMap::add( const QString& app, const QString& uid, const QDomNamedNodeMap& map, const QStringList& lst ) {
00049     KeyValue val;
00050     uint count =  map.count();
00051     for ( uint i = 0; i < count; i++ ) {
00052         QDomAttr attr = map.item( i ).toAttr();
00053         if (!attr.isNull() ) {
00054             if (!lst.contains(attr.name() ) ) {
00055                 val.insert( attr.name(), attr.value() );
00056             }
00057         }
00058     }
00059     insert(app+uid, val );
00060 }
00061 QString ExtraMap::escape( const QString& str ) {
00062     return QStyleSheet::escape( str );
00063 }
KDE Logo
This file is part of the documentation for kitchensync Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Apr 4 04:47:07 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003