distributionlistdialog.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
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 ¤t,
00087         QWidget *parent );
00088 
00089     QString selected();
00090 
00091     static QString getEmail( const QStringList &emails, const QString ¤t,
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
 
This file is part of the documentation for kabc Library Version 3.2.0.