distributionlisteditor.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., 51 Franklin Street, Fifth Floor,
00018     Boston, MA 02110-1301, USA.
00019 */
00020 #ifndef KABC_DISTRIBUTIONLISTEDITOR_H
00021 #define KABC_DISTRIBUTIONLISTEDITOR_H
00022 
00023 #include <qwidget.h>
00024 
00025 #include <kdialogbase.h>
00026 
00027 class QListView;
00028 class QComboBox;
00029 class QButtonGroup;
00030 
00031 namespace KABC {
00032 
00033 class AddressBook;
00034 class DistributionListManager;
00035 
00036 class KABC_EXPORT EmailSelectDialog : public KDialogBase
00037 {
00038   public:
00039     EmailSelectDialog( const QStringList &emails, const QString &current,
00040                        QWidget *parent );
00041     
00042     QString selected();
00043 
00044     static QString getEmail( const QStringList &emails, const QString &current,
00045                              QWidget *parent );
00046 
00047   private:
00048     QButtonGroup *mButtonGroup;
00049 };
00050 
00054 class DistributionListEditor : public QWidget
00055 {
00056     Q_OBJECT
00057   public:
00058     DistributionListEditor( AddressBook *, QWidget *parent );
00059     virtual ~DistributionListEditor();
00060 
00061   private slots:
00062     void newList();
00063     void removeList();
00064     void addEntry();
00065     void removeEntry();
00066     void changeEmail();
00067     void updateEntryView();
00068     void updateAddresseeView();
00069     void updateNameCombo();
00070     void slotSelectionEntryViewChanged();
00071     void slotSelectionAddresseeViewChanged();
00072 
00073   private:
00074     QComboBox *mNameCombo;  
00075     QListView *mEntryView;
00076     QListView *mAddresseeView;
00077 
00078     AddressBook *mAddressBook;
00079     DistributionListManager *mManager;
00080     QPushButton *newButton, *removeButton;
00081     QPushButton *changeEmailButton,*removeEntryButton,*addEntryButton;
00082 };
00083 
00084 }
00085 
00086 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys