25#include "publishdialog_p.h"
27#include <kcalcore/attendee.h>
28#include <kcalcore/person.h>
30#include <KLocalizedString>
32using namespace KCalCore;
35PublishDialog::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");
41 QWidget *widget =
new QWidget(
this);
42 widget->setObjectName(
"PublishFreeBusy");
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()));
80PublishDialog::~PublishDialog()
85void PublishDialog::addAttendee(
const Attendee::Ptr &attendee)
87 d->mUI.mNameLineEdit->setEnabled(
true);
88 d->mUI.mEmailLineEdit->setEnabled(
true);
89 QListWidgetItem *item =
new QListWidgetItem(d->mUI.mListWidget);
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());
96QString PublishDialog::addresses()
const
99 QListWidgetItem *item;
100 const int count = d->mUI.mListWidget->count();
101 for (
int i=0; i<count; ++i) {
102 item = d->mUI.mListWidget->item(i);
103 if (!item->text().isEmpty()) {
FreeBusyManager::Singleton.