00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <tqlabel.h>
00025 #include <tqlayout.h>
00026
00027 #include <kdialog.h>
00028 #include <klocale.h>
00029 #include <kstandarddirs.h>
00030
00031 #include <libkcal/freebusyurlstore.h>
00032
00033 #include "freebusywidget.h"
00034
00035 FreeBusyWidget::FreeBusyWidget( KABC::AddressBook *ab, TQWidget *parent, const char *name )
00036 : KAB::ContactEditorWidget( ab, parent, name )
00037 {
00038 TQHBoxLayout *layout = new TQHBoxLayout( this, KDialog::marginHint(),
00039 KDialog::spacingHint() );
00040
00041 TQLabel *label = new TQLabel( i18n( "Location of Free/Busy information:" ), this );
00042 layout->addWidget( label );
00043
00044 mURL = new KURLRequester( this );
00045 label->setBuddy( mURL );
00046 layout->addWidget( mURL );
00047
00048 connect( mURL, TQT_SIGNAL( textChanged( const TQString& ) ),
00049 this, TQT_SLOT( setModified() ) );
00050 }
00051
00052 FreeBusyWidget::~FreeBusyWidget()
00053 {
00054 }
00055
00056 void FreeBusyWidget::loadContact( KABC::Addressee *addr )
00057 {
00058 if ( addr->preferredEmail().isEmpty() )
00059 return;
00060
00061 mURL->setURL( KCal::FreeBusyUrlStore::self()->readUrl( addr->preferredEmail() ) );
00062 }
00063
00064 void FreeBusyWidget::storeContact( KABC::Addressee *addr )
00065 {
00066 if ( addr->preferredEmail().isEmpty() )
00067 return;
00068
00069 KCal::FreeBusyUrlStore::self()->writeUrl( addr->preferredEmail(), mURL->url() );
00070 KCal::FreeBusyUrlStore::self()->sync();
00071 if ( mURL->url().isEmpty() ) {
00072 addr->removeCustom( "KADDRESSBOOK", "FreeBusyURL" );
00073 } else {
00074 addr->insertCustom( "KADDRESSBOOK", "FreeBusyURL", mURL->url() );
00075 }
00076 }
00077
00078 void FreeBusyWidget::setReadOnly( bool readOnly )
00079 {
00080 mURL->setEnabled( !readOnly );
00081 }
00082
00083 #include "freebusywidget.moc"