00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "categorieseditwidget.h"
00023
00024 #include "tagwidget.h"
00025
00026 #include <akonadi/item.h>
00027 #include <kabc/addressee.h>
00028 #include <kcombobox.h>
00029 #include <kdialog.h>
00030 #include <klocale.h>
00031 #include <nepomuk/tag.h>
00032
00033 #include <QtCore/QString>
00034 #include <QtGui/QHBoxLayout>
00035
00036 CategoriesEditWidget::CategoriesEditWidget( QWidget *parent )
00037 : QWidget( parent )
00038 {
00039 QHBoxLayout *layout = new QHBoxLayout( this );
00040 layout->setMargin( 0 );
00041 layout->setSpacing( KDialog::spacingHint() );
00042
00043 mTagWidget = new TagWidget( this );
00044 layout->addWidget( mTagWidget );
00045 }
00046
00047 CategoriesEditWidget::~CategoriesEditWidget()
00048 {
00049 }
00050
00051 void CategoriesEditWidget::setReadOnly( bool readOnly )
00052 {
00053 mTagWidget->setEnabled( !readOnly );
00054 }
00055
00056 void CategoriesEditWidget::loadContact( const KABC::Addressee &contact )
00057 {
00058 QVector<Nepomuk::Tag> tags;
00059
00060 const QStringList categories = contact.categories();
00061 foreach ( const QString &category, categories )
00062 tags.append( Nepomuk::Tag( category ) );
00063
00064 mTagWidget->setTags( tags );
00065 }
00066
00067 void CategoriesEditWidget::storeContact( KABC::Addressee &contact ) const
00068 {
00069 QStringList categories;
00070
00071 const QVector<Nepomuk::Tag> tags = mTagWidget->tags();
00072 foreach ( const Nepomuk::Tag &tag, tags )
00073 categories.append( tag.genericLabel() );
00074
00075 contact.setCategories( categories );
00076 }
00077
00078 #include "categorieseditwidget.moc"