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