From d09693f19143c69a97d43b0f706a460de38ca3ee Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 27 Sep 2012 13:16:14 +0200 Subject: Read sync-exclude.lst from /etc/ownCloud, renamed from exclude.lst. --- CMakeLists.txt | 4 ++-- cmake/modules/NSIS.template.in | 2 +- src/mirall/mirallconfigfile.cpp | 28 +++++++++++++++++----------- sync-exclude.lst | 24 ++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 14 deletions(-) create mode 100644 sync-exclude.lst diff --git a/CMakeLists.txt b/CMakeLists.txt index 185b02710..cd19835fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,8 +99,8 @@ if(UNIT_TESTING) endif(UNIT_TESTING) if(BUILD_OWNCLOUD_OSX_BUNDLE) - install( FILES exclude.lst DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources ) + install( FILES sync-exclude.lst DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources ) else() - install( FILES exclude.lst DESTINATION ${CMAKE_INSTALL_SYSCONFDIR} ) + install( FILES sync-exclude.lst DESTINATION ${CMAKE_INSTALL_SYSCONFDIR} ) endif() diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in index 1fd3ff8e9..0fc6ad8ce 100644 --- a/cmake/modules/NSIS.template.in +++ b/cmake/modules/NSIS.template.in @@ -351,7 +351,7 @@ Section "${APPLICATION_NAME}" SEC_OWNCLOUD ; CSync configs File "${CSYNC_CONFIG_DIR}/csync.conf" - File "${SOURCE_PATH}/exclude.lst" + File "${SOURCE_PATH}/sync-exclude.lst" SectionEnd diff --git a/src/mirall/mirallconfigfile.cpp b/src/mirall/mirallconfigfile.cpp index fda93ed46..72ce1b96b 100644 --- a/src/mirall/mirallconfigfile.cpp +++ b/src/mirall/mirallconfigfile.cpp @@ -50,27 +50,33 @@ QString MirallConfigFile::configPath() const QString MirallConfigFile::excludeFile() const { - const QString exclFile(QLatin1String("exclude.lst")); - QString dir = configPath(); - dir += exclFile; + // prefer sync-exclude.lst, but if it does not exist, check for + // exclude.lst for compatibility reasonsin the user writeable + // directories. + const QString exclFile("sync-exclude.lst"); - QFileInfo fi( dir ); - if( fi.isReadable() ) { - return dir; + QFileInfo fi; + fi.setFile( configPath(), exclFile ); + + if( ! fi.isReadable() ) { + fi.setFile( configPath(), QLatin1String("exclude.lst") ); } // Check alternative places... + if( ! fi.isReadable() ) { #ifdef Q_OS_WIN32 - fi.setFile( QApplication::applicationDirPath(), exclFile ); + fi.setFile( QApplication::applicationDirPath(), exclFile ); #endif #ifdef Q_OS_LINUX - fi.setFile( QString("/etc"), exclFile ); + fi.setFile( QString("/etc/%1").arg(Theme::instance()->appName()), exclFile ); #endif #ifdef Q_OS_MAC - // exec path is inside the bundle - fi.setFile( QApplication::applicationDirPath(), - QLatin1String("../Resources/") + exclFile ); + // exec path is inside the bundle + fi.setFile( QApplication::applicationDirPath(), + QLatin1String("../Resources/") + exclFile ); #endif + } + if( fi.isReadable() ) { qDebug() << " ==> returning exclude file path: " << fi.absoluteFilePath(); return fi.absoluteFilePath(); diff --git a/sync-exclude.lst b/sync-exclude.lst new file mode 100644 index 000000000..711aa02bb --- /dev/null +++ b/sync-exclude.lst @@ -0,0 +1,24 @@ +*.filepart +*~ +*.bak +*.part + +*.unison* +*csync_timedif.ctmp* +.*.sw? +.*.*sw? + +.DS_Store +.ds_store +desktop.ini +Thumbs.db + +*.kate-swp +*.aux +*.nav +*.out +*.toc + +*_conflict-* + + -- cgit v1.2.3