20 #include "collectiongeneralpropertiespage_p.h"
22 #include "collection.h"
23 #include "entitydisplayattribute.h"
24 #include "collectionstatistics.h"
25 #include "collectionutils_p.h"
29 using namespace Akonadi;
33 CollectionGeneralPropertiesPage::CollectionGeneralPropertiesPage( QWidget *parent )
34 : CollectionPropertiesPage( parent )
36 setObjectName( QLatin1String(
"Akonadi::CollectionGeneralPropertiesPage" ) );
38 setPageTitle( i18nc(
"@title:tab general properties page",
"General" ) );
42 void CollectionGeneralPropertiesPage::load(
const Collection & collection)
46 if ( collection.hasAttribute<EntityDisplayAttribute>() ) {
47 displayName = collection.attribute<EntityDisplayAttribute>()->displayName();
48 iconName = collection.attribute<EntityDisplayAttribute>()->iconName();
51 if ( displayName.isEmpty() )
52 ui.nameEdit->setText( collection.name() );
54 ui.nameEdit->setText( displayName );
56 #ifndef KDEPIM_MOBILE_UI
57 if ( iconName.isEmpty() )
58 ui.customIcon->setIcon( CollectionUtils::defaultIconName( collection ) );
60 ui.customIcon->setIcon( iconName );
61 ui.customIconCheckbox->setChecked( !iconName.isEmpty() );
64 if ( collection.statistics().count() >= 0 ) {
65 ui.countLabel->setText( i18ncp(
"@label",
"One object",
"%1 objects",
66 collection.statistics().count() ) );
67 ui.sizeLabel->setText( KGlobal::locale()->formatByteSize( collection.statistics().size() ) );
73 void CollectionGeneralPropertiesPage::save(Collection & collection)
75 if ( collection.hasAttribute<EntityDisplayAttribute>() &&
76 !collection.attribute<EntityDisplayAttribute>()->displayName().isEmpty() )
77 collection.attribute<EntityDisplayAttribute>()->setDisplayName( ui.nameEdit->text() );
79 collection.setName( ui.nameEdit->text() );
81 #ifndef KDEPIM_MOBILE_UI
82 if ( ui.customIconCheckbox->isChecked() )
83 collection.attribute<EntityDisplayAttribute>( Collection::AddIfMissing )->setIconName( ui.customIcon->icon() );
84 else if ( collection.hasAttribute<EntityDisplayAttribute>() )
85 collection.attribute<EntityDisplayAttribute>()->setIconName( QString() );
91 #include "collectiongeneralpropertiespage_p.moc"