20 #include "cachepolicypage.h"
22 #include "ui_cachepolicypage.h"
24 #include "cachepolicy.h"
25 #include "collection.h"
26 #include "collectionutils_p.h"
28 using namespace Akonadi;
30 class CachePolicyPage::Private
43 void slotIntervalValueChanged(
int );
44 void slotCacheValueChanged(
int );
45 void slotRetrievalOptionsGroupBoxDisabled(
bool disable );
47 Ui::CachePolicyPage* mUi;
50 void CachePolicyPage::Private::slotIntervalValueChanged(
int interval )
52 mUi->checkInterval->setSuffix( QLatin1Char(
' ' ) + i18np(
"minute",
"minutes", interval ) );
55 void CachePolicyPage::Private::slotCacheValueChanged(
int interval )
57 mUi->localCacheTimeout->setSuffix( QLatin1Char(
' ' ) + i18np(
"minute",
"minutes", interval ) );
60 void CachePolicyPage::Private::slotRetrievalOptionsGroupBoxDisabled(
bool disable )
62 mUi->retrievalOptionsGroupBox->setDisabled( disable );
64 mUi->label->setEnabled( mUi->retrieveOnlyHeaders->isChecked() );
65 mUi->localCacheTimeout->setEnabled( mUi->retrieveOnlyHeaders->isChecked() );
74 setObjectName( QLatin1String(
"Akonadi::CachePolicyPage" ) );
77 d->mUi->setupUi(
this );
78 connect( d->mUi->checkInterval, SIGNAL(valueChanged(
int)),
79 SLOT(slotIntervalValueChanged(
int)) );
80 connect( d->mUi->localCacheTimeout, SIGNAL(valueChanged(
int)),
81 SLOT(slotCacheValueChanged(
int)) );
82 connect( d->mUi->inherit, SIGNAL(toggled(
bool)),
83 SLOT(slotRetrievalOptionsGroupBoxDisabled(
bool)));
85 d->mUi->stackedWidget->setCurrentWidget( d->mUi->rawPage );
104 if ( interval == -1 ) {
114 d->mUi->checkInterval->setValue( interval );
115 d->mUi->localCacheTimeout->setValue( cache );
116 d->mUi->syncOnDemand->setChecked( policy.
syncOnDemand() );
117 d->mUi->localParts->setItems( policy.
localParts() );
119 const bool fetchBodies = policy.
localParts().contains( QLatin1String(
"RFC822" ) );
120 d->mUi->retrieveFullMessages->setChecked( fetchBodies );
123 d->mUi->retrieveOnlyHeaders->setChecked( !fetchBodies );
124 d->mUi->label->setEnabled( !fetchBodies );
125 d->mUi->localCacheTimeout->setEnabled( !fetchBodies );
130 int interval = d->mUi->checkInterval->value();
131 if ( interval == 0 ) {
135 int cache = d->mUi->localCacheTimeout->value();
146 QStringList localParts = d->mUi->localParts->items();
152 if ( d->mUi->stackedWidget->currentWidget() != d->mUi->rawPage ) {
153 if ( d->mUi->retrieveFullMessages->isChecked() &&
154 !localParts.contains( QLatin1String(
"RFC822" ) ) ) {
155 localParts.append( QLatin1String(
"RFC822" ) );
156 }
else if ( !d->mUi->retrieveFullMessages->isChecked() &&
157 localParts.contains( QLatin1String(
"RFC822" ) ) ) {
158 localParts.removeAll( QLatin1String(
"RFC822" ) );
166 #include "moc_cachepolicypage.cpp"