kaddressbook
freebusywidget.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <qlabel.h>
00025 #include <qlayout.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, QWidget *parent, const char *name )
00036 : KAB::ContactEditorWidget( ab, parent, name )
00037 {
00038 QHBoxLayout *layout = new QHBoxLayout( this, KDialog::marginHint(),
00039 KDialog::spacingHint() );
00040
00041 QLabel *label = new QLabel( 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, SIGNAL( textChanged( const QString& ) ),
00049 this, 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 }
00072
00073 void FreeBusyWidget::setReadOnly( bool readOnly )
00074 {
00075 mURL->setEnabled( !readOnly );
00076 }
00077
00078 #include "freebusywidget.moc"
|