/* This file is part of KOrganizer. Copyright (c) 2001 Cornelius Schumacher 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. As a special exception, permission is given to link this program with any edition of TQt, and distribute the resulting executable, without including the source code for TQt in the source distribution. */ #include #include #include #include #include #include #ifndef KORG_NOKABC #include #endif #include #include "koprefs.h" #include "publishdialog.h" #include "publishdialog_base.h" PublishDialog::PublishDialog( TQWidget* parent, const char* name, bool modal ) : KDialogBase( parent, name, modal, i18n("Select Addresses"), Ok|Cancel|Help, Ok, true ) { mWidget = new PublishDialog_base( this, "PublishFreeBusy" ); setMainWidget( mWidget ); mWidget->mNameLineEdit->setEnabled( false ); mWidget->mEmailLineEdit->setEnabled( false ); connect( mWidget->mAddressListView, TQT_SIGNAL( selectionChanged(TQListViewItem *) ), TQT_SLOT(updateInput())); connect( mWidget->mNew, TQT_SIGNAL( clicked() ), TQT_SLOT( addItem() ) ); connect( mWidget->mRemove, TQT_SIGNAL( clicked() ), TQT_SLOT( removeItem() ) ); connect( mWidget->mSelectAddressee, TQT_SIGNAL( clicked() ), TQT_SLOT( openAddressbook() ) ); connect( mWidget->mNameLineEdit, TQT_SIGNAL( textChanged(const TQString&) ), TQT_SLOT( updateItem() ) ); connect( mWidget->mEmailLineEdit, TQT_SIGNAL( textChanged(const TQString&) ), TQT_SLOT( updateItem() ) ); } PublishDialog::~PublishDialog() { } void PublishDialog::addAttendee( Attendee *attendee ) { mWidget->mNameLineEdit->setEnabled( true ); mWidget->mEmailLineEdit->setEnabled( true ); TQListViewItem *item = new TQListViewItem( mWidget->mAddressListView ); item->setText( 0, attendee->name() ); item->setText( 1, attendee->email() ); mWidget->mAddressListView->insertItem( item ); } TQString PublishDialog::addresses() { TQString to = ""; TQListViewItem *item; int i, count; count = mWidget->mAddressListView->childCount(); for ( i=0; imAddressListView->firstChild(); mWidget->mAddressListView->takeItem( item ); to += item->text( 1 ); if ( i < count-1 ) { to += ", "; } } return to; } void PublishDialog::addItem() { mWidget->mNameLineEdit->setEnabled( true ); mWidget->mEmailLineEdit->setEnabled( true ); TQListViewItem *item = new TQListViewItem( mWidget->mAddressListView ); mWidget->mAddressListView->insertItem( item ); mWidget->mAddressListView->setSelected( item, true ); mWidget->mNameLineEdit->setText( i18n("(EmptyName)") ); mWidget->mEmailLineEdit->setText( i18n("(EmptyEmail)") ); } void PublishDialog::removeItem() { TQListViewItem *item; item = mWidget->mAddressListView->selectedItem(); if (!item) return; mWidget->mAddressListView->takeItem( item ); item = mWidget->mAddressListView->selectedItem(); if ( !item ) { mWidget->mNameLineEdit->setText( "" ); mWidget->mEmailLineEdit->setText( "" ); mWidget->mNameLineEdit->setEnabled( false ); mWidget->mEmailLineEdit->setEnabled( false ); } if ( mWidget->mAddressListView->childCount() == 0 ) { mWidget->mNameLineEdit->setEnabled( false ); mWidget->mEmailLineEdit->setEnabled( false ); } } void PublishDialog::openAddressbook() { #ifndef KORG_NOKABC TDEABC::Addressee::List addressList; addressList = TDEABC::AddresseeDialog::getAddressees( this ); //TDEABC::Addressee a = TDEABC::AddresseeDialog::getAddressee(this); TDEABC::Addressee a = addressList.first(); if ( !a.isEmpty() ) { uint i; for ( i=0; imNameLineEdit->setEnabled( true ); mWidget->mEmailLineEdit->setEnabled( true ); TQListViewItem *item = new TQListViewItem( mWidget->mAddressListView ); mWidget->mAddressListView->setSelected( item, true ); mWidget->mNameLineEdit->setText( a.realName() ); mWidget->mEmailLineEdit->setText( a.preferredEmail() ); mWidget->mAddressListView->insertItem( item ); } } #endif } void PublishDialog::updateItem() { TQListViewItem *item; item = mWidget->mAddressListView->selectedItem(); if (!item) return; item->setText( 0, mWidget->mNameLineEdit->text() ); item->setText( 1, mWidget->mEmailLineEdit->text() ); } void PublishDialog::updateInput() { TQListViewItem *item; item = mWidget->mAddressListView->selectedItem(); if (!item) return; mWidget->mNameLineEdit->setEnabled( true ); mWidget->mEmailLineEdit->setEnabled( true ); mWidget->mNameLineEdit->setText( item->text( 0 ) ); mWidget->mEmailLineEdit->setText( item->text( 1 ) ); } #include "publishdialog.moc"