kitchensync

addressbookfilter.h

00001 /*
00002     This file is part of KitchenSync.
00003 
00004     Copyright (c) 2005 Tobias Koenig <tokoe@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., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 */
00021 
00022 #ifndef ADDRESSBOOKFILTER_H
00023 #define ADDRESSBOOKFILTER_H
00024 
00025 #include "filter.h"
00026 
00027 class KListView;
00028 
00029 namespace KSync {
00030 
00031 class AddressBookSyncee;
00032 
00033 class AddressBookConfigWidget : public QWidget
00034 {
00035   public:
00036     AddressBookConfigWidget( QWidget *parent, const char *name );
00037 
00038     void setCategories( const QStringList &categories );
00039 
00040     void setSelectedCategories( const QStringList &categories );
00041 
00042     QStringList selectedCategories() const;
00043 
00044   private:
00045     KListView *mView;
00046 };
00047 
00048 
00049 class AddressBookFilter : public Filter
00050 {
00051   public:
00052     AddressBookFilter( QObject *parent );
00053     virtual ~AddressBookFilter();
00054   
00055     virtual bool supports( Syncee *syncee );
00056     virtual QWidget *configWidget( QWidget *parent );
00057     virtual void configWidgetClosed( QWidget *widget );
00058 
00059     virtual void convert( Syncee* );
00060     virtual void reconvert( Syncee* );
00061 
00062     QString type() const { return "addressbook"; }
00063   
00064   private:
00065     void doLoad();
00066     void doSave();
00067 
00068     void filterSyncee( AddressBookSyncee*, const QStringList& );
00069     void unfilterSyncee( AddressBookSyncee* );
00070 
00071     AddressBookSyncEntry::PtrList mFilteredEntries;
00072     QStringList mSelectedCategories;
00073 };
00074 
00075 }
00076 
00077 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys