#include <creaImageIOTreeHandlerImageAdder.h>
#include <creaImageIOSystem.h>
#include "boost/filesystem.hpp"
+#include <boost/filesystem/operations.hpp>
+#include <boost/utility.hpp>
+
namespace fs = boost::filesystem;
+using boost::filesystem::path;
+using boost::next;
+using boost::prior;
+
//using namespace crea;
mProgress.IncNumberScannedDirs();
if ( !fs::exists( dirpath ) ) return;
-
+ time_t lastModif=fs::last_write_time(dirpath);
+
fs::directory_iterator end_itr; // default construction yields past-the-end
for ( fs::directory_iterator itr( dirpath );
itr != end_itr;
// If is directory & recurse : do recurse
if ( fs::is_directory(itr->status()) )
{
- if (recursive) AddDirectoryRecursor( itr->string(), recursive);
+ if (recursive)
+ {
+ AddDirectoryRecursor( itr->string(), recursive);
+ }
}
else
{
- mProgress.IncNumberScannedFiles();
- if (IsHandledFile(itr->string()))
- {
- mProgress.IncNumberHandledFiles();
- AddFile( itr->string() );
- }
- mProgressSignal(mProgress);
- if (mProgress.GetStop())
- {
- //itr = end_itr;
- break;
- }
+ bool valid=mTimestampHandler->AddDirectory(dirpath, itr->string(), lastModif, time(0));
+ if(valid)
+ {
+ mProgress.IncNumberScannedFiles();
+ if (IsHandledFile(itr->string()))
+ {
+ mProgress.IncNumberHandledFiles();
+ AddFile( itr->string() );
+ }
+ mProgressSignal(mProgress);
+ if (mProgress.GetStop())
+ {
+ //itr = end_itr;
+ break;
+ }
+ }
}
}
+
}
//=======================================================================