diff --git a/src/Database.cpp b/src/Database.cpp index c6f16ebb..9ad28e04 100644 --- a/src/Database.cpp +++ b/src/Database.cpp @@ -114,9 +114,15 @@ std::vector Database::getAllIntervals () } //////////////////////////////////////////////////////////////////////////////// -void Database::addExclusion (const std::string& exclusion) +void Database::clearExclusions () { - _files.back ().addExclusion (exclusion); + _exclusions.clear (); +} + +//////////////////////////////////////////////////////////////////////////////// +void Database::addExclusion (const Exclusion& exclusion) +{ + _exclusions.push_back (exclusion); _dirty = true; } diff --git a/src/Database.h b/src/Database.h index 78be6e9b..5c986056 100644 --- a/src/Database.h +++ b/src/Database.h @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -43,7 +44,8 @@ public: Interval getLatestInterval (); std::vector getAllIntervals (); - void addExclusion (const std::string&); + void clearExclusions (); + void addExclusion (const Exclusion&); void addInterval (const Interval&); void modifyInterval (const Interval&); @@ -53,10 +55,11 @@ private: std::string currentDataFile () const; private: - std::string _location {"~/.timewarrior/data"}; - std::string _current {}; - std::vector _files {}; - bool _dirty {false}; + std::string _location {"~/.timewarrior/data"}; + std::string _current {}; + std::vector _files {}; + bool _dirty {false}; + std::vector _exclusions {}; }; #endif