/* This file is part of libtdeabc. Copyright (c) 2002 - 2003 Tobias Koenig This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef RESOURCELDAPCONFIG_H #define RESOURCELDAPCONFIG_H #include #include #include #include #include #include #include #include class TQCheckBox; class TQPushButton; class TQSpinBox; class TQString; class KComboBox; class KLineEdit; namespace TDEABC { class KABC_EXPORT ResourceLDAPTDEIOConfig : public KRES::ConfigWidget { Q_OBJECT public: ResourceLDAPTDEIOConfig( TQWidget* parent = 0, const char* name = 0 ); public slots: void loadSettings( KRES::Resource* ); void saveSettings( KRES::Resource* ); private slots: void editAttributes(); void editCache(); private: TQPushButton *mEditButton, *mCacheButton; LdapConfigWidget *cfg; TQCheckBox *mSubTree; TQMap mAttributes; int mRDNPrefix, mCachePolicy; bool mAutoCache; TQString mCacheDst; }; class AttributesDialog : public KDialogBase { Q_OBJECT public: AttributesDialog( const TQMap &attributes, int rdnprefix, TQWidget *parent, const char *name = 0 ); ~AttributesDialog(); TQMap attributes() const; int rdnprefix() const; private slots: void mapChanged( int pos ); private: enum { UserMap, KolabMap, NetscapeMap, EvolutionMap, OutlookMap }; KComboBox *mMapCombo, *mRDNCombo; TQValueList< TQMap > mMapList; TQMap mDefaultMap; TQDict mLineEditDict; TQDict mNameDict; }; class OfflineDialog : public KDialogBase { Q_OBJECT public: OfflineDialog( bool autoCache, int cachePolicy, const KURL &src, const TQString &dst, TQWidget *parent, const char *name = 0 ); ~OfflineDialog(); int cachePolicy() const; bool autoCache() const; private slots: void loadCache(); private: KURL mSrc; TQString mDst; TQButtonGroup *mCacheGroup; TQCheckBox *mAutoCache; }; } #endif