29
28
#include "publishdialog.h"
31
#include <akonadi/contact/emailaddressselectiondialog.h>
32
#include <kcalcore/attendee.h>
33
#include <kcalcore/person.h>
34
#include <kpimutils/email.h>
36
#include <klineedit.h>
30
#include <Akonadi/Contact/EmailAddressSelectionDialog>
32
#include <KCalCore/Attendee>
33
#include <KCalCore/Person>
35
#include <KPIMUtils/Email>
39
42
PublishDialog::PublishDialog( QWidget *parent )
40
43
: KDialog( parent )
74
77
SLOT(removeItem()) );
75
78
connect( mUI.mSelectAddressee, SIGNAL(clicked()),
76
79
SLOT(openAddressbook()) );
77
connect( mUI.mNameLineEdit, SIGNAL(textChanged(const QString &)),
80
connect( mUI.mNameLineEdit, SIGNAL(textChanged(QString)),
78
81
SLOT(updateItem()) );
79
connect( mUI.mEmailLineEdit, SIGNAL(textChanged(const QString &)),
82
connect( mUI.mEmailLineEdit, SIGNAL(textChanged(QString)),
80
83
SLOT(updateItem()) );
98
101
QString PublishDialog::addresses()
101
104
QListWidgetItem *item;
103
count = mUI.mListWidget->count();
104
for ( i=0; i<count; ++i ) {
105
const int count = mUI.mListWidget->count();
106
for ( int i=0; i<count; ++i ) {
105
107
item = mUI.mListWidget->item( i );
106
108
if( !item->text().isEmpty() ) {
107
109
to += item->text();
156
157
void PublishDialog::openAddressbook()
158
Akonadi::EmailAddressSelectionDialog dlg( this );
162
const Akonadi::EmailAddressSelection::List selections = dlg.selectedAddresses();
163
if ( !selections.isEmpty() ) {
164
foreach ( const Akonadi::EmailAddressSelection &selection, selections ) {
165
mUI.mNameLineEdit->setEnabled( true );
166
mUI.mEmailLineEdit->setEnabled( true );
167
QListWidgetItem *item = new QListWidgetItem( mUI.mListWidget );
168
mUI.mListWidget->setItemSelected( item, true );
169
mUI.mNameLineEdit->setText( selection.name() );
170
mUI.mEmailLineEdit->setText( selection.email() );
171
mUI.mListWidget->addItem( item );
159
QWeakPointer<Akonadi::EmailAddressSelectionDialog> dialog(
160
new Akonadi::EmailAddressSelectionDialog( this ) );
161
dialog.data()->view()->view()->setSelectionMode( QAbstractItemView::MultiSelection );
163
if ( dialog.data()->exec() == QDialog::Accepted ) {
165
Akonadi::EmailAddressSelectionDialog *dialogPtr = dialog.data();
167
const Akonadi::EmailAddressSelection::List selections = dialogPtr->selectedAddresses();
168
if ( !selections.isEmpty() ) {
169
foreach ( const Akonadi::EmailAddressSelection &selection, selections ) {
170
mUI.mNameLineEdit->setEnabled( true );
171
mUI.mEmailLineEdit->setEnabled( true );
172
QListWidgetItem *item = new QListWidgetItem( mUI.mListWidget );
173
mUI.mListWidget->setItemSelected( item, true );
174
mUI.mNameLineEdit->setText( selection.name() );
175
mUI.mEmailLineEdit->setText( selection.email() );
176
mUI.mListWidget->addItem( item );
179
mUI.mRemove->setEnabled( true );
174
mUI.mRemove->setEnabled( true );