21 #include "emailselectdialog.h"
22 #include "addresseedialog.h"
26 #include <QtCore/QPointer>
27 #include <QButtonGroup>
30 #include <QRadioButton>
35 class EmailSelectDialog::Private
38 QButtonGroup *mButtonGroup;
41 EmailSelectDialog::EmailSelectDialog(
const QStringList &emails,
42 const QString ¤t,
44 : KDialog( parent ), d( new Private )
46 setCaption( i18n(
"Select Email Address" ) );
48 setDefaultButton( Ok );
50 QFrame *topFrame =
new QFrame(
this );
51 setMainWidget( topFrame );
53 QBoxLayout *topLayout =
new QVBoxLayout( topFrame );
54 QGroupBox *box =
new QGroupBox( i18n(
"Email Addresses" ) );
55 d->mButtonGroup =
new QButtonGroup( box );
56 d->mButtonGroup->setExclusive(
true );
57 topLayout->addWidget( box );
58 QVBoxLayout *layout =
new QVBoxLayout;
60 QStringList::ConstIterator it;
61 QStringList::ConstIterator end( emails.end() );
62 for ( it = emails.begin(); it != end; ++it ) {
63 QRadioButton *button =
new QRadioButton( *it, box );
64 d->mButtonGroup->addButton( button );
65 layout->addWidget( button );
66 if ( ( *it ) == current ) {
67 button->setChecked(
true );
70 layout->addStretch( 1 );
71 box->setLayout( layout );
74 EmailSelectDialog::~EmailSelectDialog()
79 QString EmailSelectDialog::selected()
81 QAbstractButton *button = d->mButtonGroup->checkedButton();
83 return button->text();
88 QString EmailSelectDialog::getEmail(
const QStringList &emails,
const QString ¤t,
91 QPointer<EmailSelectDialog> dlg =
new EmailSelectDialog( emails, current, parent );
94 if ( dlg->exec() && dlg ) {
95 result = dlg->selected();
103 class EditEntryItem :
public QTreeWidgetItem
106 EditEntryItem( QTreeWidget *parent,
const Addressee &addressee,
107 const QString &email=QString() ) :
108 QTreeWidgetItem( parent ),
109 mAddressee( addressee ),
112 setText( 0, addressee.realName() );
113 if ( email.isEmpty() ) {
114 setText( 1, addressee.preferredEmail() );
115 setText( 2, i18nc(
"this the preferred email address",
"Yes" ) );
118 setText( 2, i18nc(
"this is not preferred email address",
"No" ) );
122 Addressee addressee()
const
127 QString email()
const
133 Addressee mAddressee;