addresseehelper.h

00001 /*
00002     This file is part of the KDE libraries
00003     Copyright (C) 2003 Carsten Pfeiffer <pfeiffer@kde.org>
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Library General Public
00007     License as published by the Free Software Foundation, version 2.
00008 
00009     This library is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012     Library General Public License for more details.
00013 
00014     You should have received a copy of the GNU Library General Public License
00015     along with this library; see the file COPYING.LIB.  If not, write to
00016     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017     Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #ifndef KABC_ADDRESSEEHELPER_H
00021 #define KABC_ADDRESSEEHELPER_H
00022 
00023 #include <qobject.h>
00024 #include <qstringlist.h>
00025 
00026 #include <dcopobject.h>
00027 
00028 #include <set>
00029 
00034 namespace KABC {
00035 
00036 class KABC_EXPORT AddresseeHelper : public QObject, public DCOPObject
00037 {
00038   K_DCOP
00039         
00040   public:
00041     static AddresseeHelper *self();
00042 
00043     bool containsTitle( const QString& title ) const;
00044     bool containsPrefix( const QString& prefix ) const;
00045     bool containsSuffix( const QString& suffix ) const;
00046     bool tradeAsFamilyName() const;
00047 
00048   k_dcop:
00049     ASYNC initSettings();
00050 
00051   private:
00052     AddresseeHelper();
00053 
00054     static void addToSet( const QStringList& list,
00055                           std::set<QString>& container );
00056     std::set<QString> mTitles;
00057     std::set<QString> mPrefixes;
00058     std::set<QString> mSuffixes;
00059     bool mTradeAsFamilyName;
00060 
00061     static AddresseeHelper *s_self;
00062 };
00063 
00064 }
00065 
00066 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys