summaryrefslogtreecommitdiffabout
path: root/kabc/plugins/dir/resourcedir.cpp
authorulf69 <ulf69>2004-08-20 19:53:52 (UTC)
committer ulf69 <ulf69>2004-08-20 19:53:52 (UTC)
commita3083042bb9c69193cc43105e6c9d045bd79e8b2 (patch) (side-by-side diff)
tree6d89eb16d0661b03316117aca6f919339ef5df1d /kabc/plugins/dir/resourcedir.cpp
parentb42c4af4200c67802ee0cc57e10e1464903736b7 (diff)
downloadkdepimpi-a3083042bb9c69193cc43105e6c9d045bd79e8b2.zip
kdepimpi-a3083042bb9c69193cc43105e6c9d045bd79e8b2.tar.gz
kdepimpi-a3083042bb9c69193cc43105e6c9d045bd79e8b2.tar.bz2
merged bugfix from KDE Head: Don't KDirWatch for own changes
Diffstat (limited to 'kabc/plugins/dir/resourcedir.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/dir/resourcedir.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/kabc/plugins/dir/resourcedir.cpp b/kabc/plugins/dir/resourcedir.cpp
index eccd482..fac06a1 100644
--- a/kabc/plugins/dir/resourcedir.cpp
+++ b/kabc/plugins/dir/resourcedir.cpp
@@ -197,49 +197,52 @@ bool ResourceDir::load()
if ( !mFormat->loadAll( addressBook(), this, &file ) )
ok = false;
file.close();
}
return ok;
}
bool ResourceDir::save( Ticket *ticket )
{
kdDebug(5700) << "ResourceDir::save(): '" << mPath << "'" << endl;
AddressBook::Iterator it;
bool ok = true;
+ mDirWatch.stopScan();
+
for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) {
if ( (*it).resource() != this || !(*it).changed() )
continue;
QFile file( mPath + "/" + (*it).uid() );
if ( !file.open( IO_WriteOnly ) ) {
addressBook()->error( i18n( "Unable to open file '%1' for writing" ).arg( file.name() ) );
continue;
}
mFormat->save( *it, &file );
// mark as unchanged
(*it).setChanged( false );
file.close();
}
+ mDirWatch.startScan();
delete ticket;
unlock( mPath );
return ok;
}
bool ResourceDir::lock( const QString &path )
{
kdDebug(5700) << "ResourceDir::lock()" << endl;
QString p = path;
//US change the implementation how the lockfilename is getting created
//US p.replace( QRegExp("/"), "_" );
//US QString lockName = locateLocal( "data", "kabc/lock/" + p + ".lock" );
KURL url(p);