summaryrefslogtreecommitdiffabout
path: root/korganizer/publishdialog.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/publishdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/publishdialog.cpp152
1 files changed, 152 insertions, 0 deletions
diff --git a/korganizer/publishdialog.cpp b/korganizer/publishdialog.cpp
new file mode 100644
index 0000000..176595a
--- a/dev/null
+++ b/korganizer/publishdialog.cpp
@@ -0,0 +1,152 @@
+/*
+ This file is part of KOrganizer.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ As a special exception, permission is given to link this program
+ with any edition of Qt, and distribute the resulting executable,
+ without including the source code for Qt in the source distribution.
+*/
+
+#include <qlineedit.h>
+#include <kdebug.h>
+
+#include <kglobal.h>
+#include <klocale.h>
+#ifndef KORG_NOKABC
+#include <kabc/addresseedialog.h>
+#endif
+
+#include "koprefs.h"
+#include "publishdialog.h"
+
+PublishDialog::PublishDialog(QWidget* parent, const char* name,
+ bool modal, WFlags fl)
+ : PublishDialog_base(parent,name,modal,fl)
+{
+ setCaption(i18n("Select Addresses"));
+ mNameLineEdit->setEnabled(false);
+ mEmailLineEdit->setEnabled(false);
+ connect(mAddressListView,SIGNAL(selectionChanged(QListViewItem *)),
+ SLOT(updateInput()));
+}
+
+PublishDialog::~PublishDialog()
+{
+}
+
+void PublishDialog::addAttendee(Attendee *attendee)
+{
+ mNameLineEdit->setEnabled(true);
+ mEmailLineEdit->setEnabled(true);
+ QListViewItem *item = new QListViewItem(mAddressListView);
+ item->setText(0,attendee->name());
+ item->setText(1,attendee->email());
+ mAddressListView->insertItem(item);
+}
+
+QString PublishDialog::addresses()
+{
+ QString to = "";
+ QListViewItem *item;
+ int i, count;
+ count = mAddressListView->childCount();
+ for (i=0;i<count;i++) {
+ item = mAddressListView->firstChild();
+ mAddressListView->takeItem(item);
+ to += item->text(1);
+ if (i<count-1) {
+ to += ", ";
+ }
+ }
+ return to;
+}
+
+void PublishDialog::addItem()
+{
+ mNameLineEdit->setEnabled(true);
+ mEmailLineEdit->setEnabled(true);
+ QListViewItem *item = new QListViewItem(mAddressListView);
+ mAddressListView->insertItem(item);
+ mAddressListView->setSelected(item,true);
+ mNameLineEdit->setText(i18n("(EmptyName)"));
+ mEmailLineEdit->setText(i18n("(EmptyEmail)"));
+}
+
+void PublishDialog::removeItem()
+{
+ QListViewItem *item;
+ item = mAddressListView->selectedItem();
+ if (!item) return;
+ mAddressListView->takeItem(item);
+ item = mAddressListView->selectedItem();
+ if (!item) {
+ mNameLineEdit->setText("");
+ mEmailLineEdit->setText("");
+ mNameLineEdit->setEnabled(false);
+ mEmailLineEdit->setEnabled(false);
+ }
+ if (mAddressListView->childCount() == 0) {
+ mNameLineEdit->setEnabled(false);
+ mEmailLineEdit->setEnabled(false);
+ }
+}
+
+void PublishDialog::openAddressbook()
+{
+#ifndef KORG_NOKABC
+ KABC::Addressee::List addressList;
+ addressList = KABC::AddresseeDialog::getAddressees(this);
+ //KABC::Addressee a = KABC::AddresseeDialog::getAddressee(this);
+ KABC::Addressee a = addressList.first();
+ if (!a.isEmpty()) {
+ uint i;
+ for (i=0;i<addressList.count();i++) {
+ a = addressList[i];
+ mNameLineEdit->setEnabled(true);
+ mEmailLineEdit->setEnabled(true);
+ QListViewItem *item = new QListViewItem(mAddressListView);
+ mAddressListView->setSelected(item,true);
+ mNameLineEdit->setText(a.realName());
+ mEmailLineEdit->setText(a.preferredEmail());
+ mAddressListView->insertItem(item);
+ }
+ }
+#endif
+}
+
+void PublishDialog::updateItem()
+{
+ QListViewItem *item;
+ item = mAddressListView->selectedItem();
+ if (!item) return;
+ item->setText(0,mNameLineEdit->text());
+ item->setText(1,mEmailLineEdit->text());
+}
+
+void PublishDialog::updateInput()
+{
+ QListViewItem *item;
+ item = mAddressListView->selectedItem();
+ if (!item) return;
+ mNameLineEdit->setEnabled(true);
+ mEmailLineEdit->setEnabled(true);
+ QString mail = item->text(1);
+ mNameLineEdit->setText(item->text(0));
+ mEmailLineEdit->setText(mail);
+}
+
+#include "publishdialog.moc"