diff options
Diffstat (limited to 'logic/pathmatcher')
-rw-r--r-- | logic/pathmatcher/FSTreeMatcher.h | 21 | ||||
-rw-r--r-- | logic/pathmatcher/IPathMatcher.h | 12 | ||||
-rw-r--r-- | logic/pathmatcher/MultiMatcher.h | 31 | ||||
-rw-r--r-- | logic/pathmatcher/RegexpMatcher.h | 42 |
4 files changed, 0 insertions, 106 deletions
diff --git a/logic/pathmatcher/FSTreeMatcher.h b/logic/pathmatcher/FSTreeMatcher.h deleted file mode 100644 index a5bed57c..00000000 --- a/logic/pathmatcher/FSTreeMatcher.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "IPathMatcher.h" -#include <SeparatorPrefixTree.h> -#include <QRegularExpression> - -class FSTreeMatcher : public IPathMatcher -{ -public: - virtual ~FSTreeMatcher() {}; - FSTreeMatcher(SeparatorPrefixTree<'/'> & tree) : m_fsTree(tree) - { - } - - virtual bool matches(const QString &string) const override - { - return m_fsTree.covers(string); - } - - SeparatorPrefixTree<'/'> & m_fsTree; -}; diff --git a/logic/pathmatcher/IPathMatcher.h b/logic/pathmatcher/IPathMatcher.h deleted file mode 100644 index 1d410947..00000000 --- a/logic/pathmatcher/IPathMatcher.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -#include <memory> - -class IPathMatcher -{ -public: - typedef std::shared_ptr<IPathMatcher> Ptr; - -public: - virtual ~IPathMatcher(){}; - virtual bool matches(const QString &string) const = 0; -}; diff --git a/logic/pathmatcher/MultiMatcher.h b/logic/pathmatcher/MultiMatcher.h deleted file mode 100644 index 91f70aa4..00000000 --- a/logic/pathmatcher/MultiMatcher.h +++ /dev/null @@ -1,31 +0,0 @@ -#include "IPathMatcher.h" -#include <SeparatorPrefixTree.h> -#include <QRegularExpression> - -class MultiMatcher : public IPathMatcher -{ -public: - virtual ~MultiMatcher() {}; - MultiMatcher() - { - } - MultiMatcher &add(Ptr add) - { - m_matchers.append(add); - return *this; - } - - virtual bool matches(const QString &string) const override - { - for(auto iter: m_matchers) - { - if(iter->matches(string)) - { - return true; - } - } - return false; - } - - QList<Ptr> m_matchers; -}; diff --git a/logic/pathmatcher/RegexpMatcher.h b/logic/pathmatcher/RegexpMatcher.h deleted file mode 100644 index da552123..00000000 --- a/logic/pathmatcher/RegexpMatcher.h +++ /dev/null @@ -1,42 +0,0 @@ -#include "IPathMatcher.h" -#include <QRegularExpression> - -class RegexpMatcher : public IPathMatcher -{ -public: - virtual ~RegexpMatcher() {}; - RegexpMatcher(const QString ®exp) - { - m_regexp.setPattern(regexp); - m_onlyFilenamePart = !regexp.contains('/'); - } - - RegexpMatcher &caseSensitive(bool cs = true) - { - if(cs) - { - m_regexp.setPatternOptions(QRegularExpression::CaseInsensitiveOption); - } - else - { - m_regexp.setPatternOptions(QRegularExpression::NoPatternOption); - } - return *this; - } - - virtual bool matches(const QString &string) const override - { - if(m_onlyFilenamePart) - { - auto slash = string.lastIndexOf('/'); - if(slash != -1) - { - auto part = string.mid(slash + 1); - return m_regexp.match(part).hasMatch(); - } - } - return m_regexp.match(string).hasMatch(); - } - QRegularExpression m_regexp; - bool m_onlyFilenamePart = false; -}; |