summaryrefslogtreecommitdiff
path: root/algorithm.h
diff options
context:
space:
mode:
Diffstat (limited to 'algorithm.h')
-rw-r--r--algorithm.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/algorithm.h b/algorithm.h
index 16bb11eb..f85d1639 100644
--- a/algorithm.h
+++ b/algorithm.h
@@ -8,12 +8,10 @@
#define ALGORITHM_H_INCLUDED
#include "file_hierarchy.h"
-
+#include "library/soft_filter.h"
namespace zen
{
-class SoftFilter;
-
void swapGrids(const MainConfiguration& config, FolderComparison& folderCmp);
struct DeterminationProblem //callback
@@ -21,7 +19,9 @@ struct DeterminationProblem //callback
virtual ~DeterminationProblem() {}
virtual void reportWarning(const wxString& text) = 0;
};
-void redetermineSyncDirection(const SyncConfig& config, BaseDirMapping& baseDirectory, DeterminationProblem* handler); //handler may be NULL
+std::vector<DirectionConfig> extractDirectionCfg(const MainConfiguration& mainCfg);
+
+void redetermineSyncDirection(const DirectionConfig& directConfig, BaseDirMapping& baseDirectory, DeterminationProblem* handler); //handler may be NULL
void redetermineSyncDirection(const MainConfiguration& mainCfg, FolderComparison& folderCmp, DeterminationProblem* handler);
void setSyncDirectionRec(SyncDirection newDirection, FileSystemObject& fsObj); //set new direction (recursively)
@@ -33,6 +33,8 @@ void applyFiltering (FolderComparison& folderCmp, const MainConfiguration& main
void addHardFiltering(BaseDirMapping& baseMap, const Zstring& excludeFilter); //exclude additional entries only
void addSoftFiltering(BaseDirMapping& baseMap, const SoftFilter& timeSizeFilter); //exclude additional entries only
+void applyTimeSpanFilter(FolderComparison& folderCmp, const Int64& timeFrom, const Int64& timeTo); //overwrite current active/inactive settings
+
void setActiveStatus(bool newStatus, FolderComparison& folderCmp); //activate or deactivate all rows
void setActiveStatus(bool newStatus, FileSystemObject& fsObj); //activate or deactivate row: (not recursively anymore)
@@ -41,7 +43,7 @@ void setActiveStatus(bool newStatus, FileSystemObject& fsObj); //activate or
std::pair<wxString, int> deleteFromGridAndHDPreview( //returns wxString with elements to be deleted and total count of selected(!) objects, NOT total files/dirs!
const std::vector<FileSystemObject*>& rowsToDeleteOnLeft, //all pointers need to be bound!
const std::vector<FileSystemObject*>& rowsToDeleteOnRight, //
- const bool deleteOnBothSides);
+ bool deleteOnBothSides);
class DeleteFilesHandler
{
@@ -59,11 +61,12 @@ public:
//virtual void totalFilesToDelete(int objectsTotal) = 0; //informs about the total number of files to be deleted
virtual void notifyDeletion(const Zstring& currentObject) = 0; //called for each file/folder that has been deleted
};
-void deleteFromGridAndHD(FolderComparison& folderCmp, //attention: rows will be physically deleted!
- std::vector<FileSystemObject*>& rowsToDeleteOnLeft, //refresh GUI grid after deletion to remove invalid rows
+void deleteFromGridAndHD(std::vector<FileSystemObject*>& rowsToDeleteOnLeft, //refresh GUI grid after deletion to remove invalid rows
std::vector<FileSystemObject*>& rowsToDeleteOnRight, //all pointers need to be bound!
- const bool deleteOnBothSides,
- const bool useRecycleBin,
+ FolderComparison& folderCmp, //attention: rows will be physically deleted!
+ const std::vector<DirectionConfig>& directCfgs,
+ bool deleteOnBothSides,
+ bool useRecycleBin,
DeleteFilesHandler& statusHandler);
}
bgstack15