25 #include "resourcecalendar.h"
35 class ResourceCalendar::Private
39 : mResolveConflict( false ),
40 mNoReadOnlyOnLoad( false ),
43 bool mResolveConflict;
44 bool mNoReadOnlyOnLoad;
46 bool mReceivedLoadError;
47 bool mReceivedSaveError;
52 ResourceCalendar::ResourceCalendar()
53 : KRES::Resource(), d( new Private )
57 ResourceCalendar::ResourceCalendar(
const KConfigGroup &group )
58 : KRES::Resource( group ),
63 ResourceCalendar::~ResourceCalendar()
68 bool ResourceCalendar::isResolveConflictSet()
const
70 return d->mResolveConflict;
73 void ResourceCalendar::setResolveConflict(
bool b )
75 d->mResolveConflict = b;
87 txt += i18n(
"Type: %1", t );
94 void ResourceCalendar::writeConfig( KConfigGroup &group )
117 Incidence::AddVisitor<ResourceCalendar> v(
this );
118 return incidence->
accept( v );
123 Incidence::DeleteVisitor<ResourceCalendar> v(
this );
124 return incidence->
accept( v );
159 d->mReceivedLoadError =
false;
166 success =
doLoad(
false );
168 if ( !success && !d->mReceivedLoadError ) {
175 if ( !d->mNoReadOnlyOnLoad &&
readOnly() ) {
177 Incidence::List::Iterator it;
178 for ( it = incidences.begin(); it != incidences.end(); ++it ) {
179 (*it)->setReadOnly(
true );
190 kDebug() <<
"Error loading resource:" << err;
192 d->mReceivedLoadError =
true;
194 QString msg = i18n(
"Error while loading %1.\n",
resourceName() );
195 if ( !err.isEmpty() ) {
201 bool ResourceCalendar::receivedLoadError()
const
203 return d->mReceivedLoadError;
206 void ResourceCalendar::setReceivedLoadError(
bool b )
208 d->mReceivedLoadError = b;
213 if ( d->mInhibitSave ) {
220 d->mReceivedSaveError =
false;
223 kDebug() <<
"Trying to save into a closed resource" <<
resourceName();
226 bool success = incidence ?
doSave(
false, incidence ) :
doSave(
false );
227 if ( !success && !d->mReceivedSaveError ) {
233 kDebug() <<
"Don't save read-only resource" <<
resourceName();
240 d->mLastError.clear();
241 bool ret =
save( incidence );
253 Q_UNUSED( incidence );
254 return doSave( syncCache );
259 kDebug() <<
"Error saving resource:" << err;
261 d->mReceivedSaveError =
true;
262 QString msg = i18n(
"Error while saving %1.\n",
resourceName() );
263 if ( !err.isEmpty() ) {
272 return QStringList();
282 Q_UNUSED( resource );
294 Q_UNUSED( incidence );
298 bool ResourceCalendar::receivedSaveError()
const
300 return d->mReceivedSaveError;
303 void ResourceCalendar::setReceivedSaveError(
bool b )
305 d->mReceivedSaveError = b;
310 d->mInhibitSave = inhibit;
315 return d->mInhibitSave;
327 d->mNoReadOnlyOnLoad = noReadOnly;
332 return d->mNoReadOnlyOnLoad;