kabc Library API Documentation

distributionlistdialog.h

00001 /*
00002     This file is part of libkabc.
00003     Copyright (c) 2001 Cornelius Schumacher <schumacher@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; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Library General Public License for more details.
00014 
00015     You should have received a copy of the GNU Library General Public License
00016     along with this library; see the file COPYING.LIB.  If not, write to
00017     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018     Boston, MA 02111-1307, USA.
00019 */
00020 
00021 #ifndef KABC_DISTRIBUTIONLISTDIALOG_H
00022 #define KABC_DISTRIBUTIONLISTDIALOG_H
00023 
00024 #include <qwidget.h>
00025 
00026 #include <kdialogbase.h>
00027 
00028 class QListView;
00029 class QComboBox;
00030 class QButtonGroup;
00031 
00032 namespace KABC {
00033 
00034 class AddressBook;
00035 class DistributionListEditorWidget;
00036 class DistributionListManager;
00037 
00055 class DistributionListDialog : public KDialogBase
00056 {
00057     Q_OBJECT
00058 
00059   public:
00066     DistributionListDialog( AddressBook *ab, QWidget *parent );
00067 
00071     virtual ~DistributionListDialog();
00072 
00073   private:
00074     DistributionListEditorWidget *mEditor;
00075 
00076     struct Data;
00077     Data *d;
00078 };
00079 
00083 class EmailSelector : public KDialogBase
00084 {
00085   public:
00086     EmailSelector( const QStringList &emails, const QString &current,
00087         QWidget *parent );
00088 
00089     QString selected();
00090 
00091     static QString getEmail( const QStringList &emails, const QString &current,
00092         QWidget *parent );
00093 
00094   private:
00095     QButtonGroup *mButtonGroup;
00096 };
00097 
00101 class DistributionListEditorWidget : public QWidget
00102 {
00103     Q_OBJECT
00104 
00105   public:
00106     DistributionListEditorWidget( AddressBook *, QWidget *parent );
00107     virtual ~DistributionListEditorWidget();
00108 
00109   private slots:
00110     void newList();
00111     void editList();
00112     void removeList();
00113     void addEntry();
00114     void removeEntry();
00115     void changeEmail();
00116     void updateEntryView();
00117     void updateAddresseeView();
00118     void updateNameCombo();
00119     void slotSelectionEntryViewChanged();
00120     void slotSelectionAddresseeViewChanged();
00121     void save();
00122 
00123   private:
00124     QComboBox *mNameCombo;  
00125     QLabel *mListLabel;
00126     QListView *mEntryView;
00127     QListView *mAddresseeView;
00128 
00129     AddressBook *mAddressBook;
00130     DistributionListManager *mManager;
00131     QPushButton *mNewButton, *mEditButton, *mRemoveButton;
00132     QPushButton *mChangeEmailButton, *mRemoveEntryButton, *mAddEntryButton;
00133 
00134     struct Data;
00135     Data *d;
00136 };
00137 
00138 }
00139 #endif
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:29:19 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001