25 #include "publishdialog_p.h"
27 #include <kcalcore/attendee.h>
28 #include <kcalcore/person.h>
30 #include <KLocalizedString>
32 using namespace KCalCore;
33 using namespace Akonadi;
35 PublishDialog::PublishDialog(
QWidget *parent)
36 : KDialog(parent), d(new Private(this))
38 setCaption(i18n(
"Select Addresses"));
39 setButtons(Ok|Cancel|Help);
40 setHelp(
"group-scheduling",
"korganizer");
43 d->mUI.setupUi(widget);
44 setMainWidget(widget);
45 d->mUI.mListWidget->setSelectionMode(QAbstractItemView::SingleSelection);
46 d->mUI.mNameLineEdit->setEnabled(
false);
47 d->mUI.mEmailLineEdit->setEnabled(
false);
49 setButtonToolTip(Ok, i18n(
"Send email to these recipients"));
50 setButtonWhatsThis(Ok, i18n(
"Clicking the <b>Ok</b> button will cause "
51 "an email to be sent to the recipients you "
53 setButtonToolTip(Cancel, i18n(
"Cancel recipient selection and the email"));
54 setButtonWhatsThis(Cancel, i18n(
"Clicking the <b>Cancel</b> button will "
55 "cause the email operation to be terminated."));
57 setButtonWhatsThis(Help, i18n(
"Click the <b>Help</b> button to read "
58 "more information about Group Scheduling."));
60 d->mUI.mNew->setIcon(KIcon(
"list-add"));
61 d->mUI.mRemove->setIcon(KIcon(
"list-remove"));
62 d->mUI.mRemove->setEnabled(
false);
63 d->mUI.mSelectAddressee->setIcon(KIcon(
"view-pim-contacts"));
64 d->mUI.mNameLineEdit->setTrapReturnKey(
true );
65 d->mUI.mEmailLineEdit->setTrapReturnKey(
true );
66 connect(d->mUI.mListWidget, SIGNAL(itemSelectionChanged()),
67 d, SLOT(updateInput()));
68 connect(d->mUI.mNew, SIGNAL(clicked()),
70 connect(d->mUI.mRemove, SIGNAL(clicked()),
71 d, SLOT(removeItem()));
72 connect(d->mUI.mSelectAddressee, SIGNAL(clicked()),
73 d, SLOT(openAddressbook()));
74 connect(d->mUI.mNameLineEdit, SIGNAL(textChanged(
QString)),
75 d, SLOT(updateItem()));
76 connect(d->mUI.mEmailLineEdit, SIGNAL(textChanged(
QString)),
77 d, SLOT(updateItem()));
80 PublishDialog::~PublishDialog()
85 void PublishDialog::addAttendee(
const Attendee::Ptr &attendee)
87 d->mUI.mNameLineEdit->setEnabled(
true);
88 d->mUI.mEmailLineEdit->setEnabled(
true);
90 Person person(attendee->name(), attendee->email());
91 item->
setText(person.fullName());
92 d->mUI.mListWidget->addItem(item);
93 d->mUI.mRemove->setEnabled(!d->mUI.mListWidget->selectedItems().isEmpty());
96 QString PublishDialog::addresses()
const
100 const int count = d->mUI.mListWidget->count();
101 for (
int i=0; i<count; ++i) {
102 item = d->mUI.mListWidget->item(i);
void setObjectName(const QString &name)
void setText(const QString &text)