25 #include "resourcecalendar.h"
31 #include "resourcecalendar.moc"
36 class ResourceCalendar::Private
40 : mResolveConflict( false ),
41 mNoReadOnlyOnLoad( false ),
44 bool mResolveConflict;
45 bool mNoReadOnlyOnLoad;
47 bool mReceivedLoadError;
48 bool mReceivedSaveError;
53 ResourceCalendar::ResourceCalendar()
54 : KRES::Resource(), d( new Private )
58 ResourceCalendar::ResourceCalendar(
const KConfigGroup &group )
59 : KRES::Resource( group ),
64 ResourceCalendar::~ResourceCalendar()
69 bool ResourceCalendar::isResolveConflictSet()
const
71 return d->mResolveConflict;
74 void ResourceCalendar::setResolveConflict(
bool b )
76 d->mResolveConflict = b;
88 txt += i18n(
"Type: %1", t );
95 void ResourceCalendar::writeConfig( KConfigGroup &group )
118 Incidence::AddVisitor<ResourceCalendar> v(
this );
119 return incidence->
accept( v );
124 Incidence::DeleteVisitor<ResourceCalendar> v(
this );
125 return incidence->
accept( v );
160 d->mReceivedLoadError =
false;
167 success =
doLoad(
false );
169 if ( !success && !d->mReceivedLoadError ) {
176 if ( !d->mNoReadOnlyOnLoad &&
readOnly() ) {
178 Incidence::List::Iterator it;
179 for ( it = incidences.begin(); it != incidences.end(); ++it ) {
180 (*it)->setReadOnly(
true );
191 kDebug() <<
"Error loading resource:" << err;
193 d->mReceivedLoadError =
true;
195 QString msg = i18n(
"Error while loading %1.\n",
resourceName() );
196 if ( !err.isEmpty() ) {
202 bool ResourceCalendar::receivedLoadError()
const
204 return d->mReceivedLoadError;
207 void ResourceCalendar::setReceivedLoadError(
bool b )
209 d->mReceivedLoadError = b;
214 if ( d->mInhibitSave ) {
221 d->mReceivedSaveError =
false;
224 kDebug() <<
"Trying to save into a closed resource" <<
resourceName();
227 bool success = incidence ?
doSave(
false, incidence ) :
doSave(
false );
228 if ( !success && !d->mReceivedSaveError ) {
234 kDebug() <<
"Don't save read-only resource" <<
resourceName();
241 d->mLastError.clear();
242 bool ret =
save( incidence );
254 Q_UNUSED( incidence );
255 return doSave( syncCache );
260 kDebug() <<
"Error saving resource:" << err;
262 d->mReceivedSaveError =
true;
263 QString msg = i18n(
"Error while saving %1.\n",
resourceName() );
264 if ( !err.isEmpty() ) {
273 return QStringList();
283 Q_UNUSED( resource );
295 Q_UNUSED( incidence );
299 bool ResourceCalendar::receivedSaveError()
const
301 return d->mReceivedSaveError;
304 void ResourceCalendar::setReceivedSaveError(
bool b )
306 d->mReceivedSaveError = b;
311 d->mInhibitSave = inhibit;
316 return d->mInhibitSave;
328 d->mNoReadOnlyOnLoad = noReadOnly;
333 return d->mNoReadOnlyOnLoad;