diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-08-18 02:25:24 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-08-18 08:51:12 +0200 |
commit | 96fdaebb5c8c8902c98c1fb43e755cf90fc15198 (patch) | |
tree | bb4e1ace6bb0800a5991884d5f07b41267699283 /logic/pathmatcher/RegexpMatcher.h | |
parent | 4e3af265dad57a27af4051cb574fb90539d287d0 (diff) | |
download | MultiMC-96fdaebb5c8c8902c98c1fb43e755cf90fc15198.tar MultiMC-96fdaebb5c8c8902c98c1fb43e755cf90fc15198.tar.gz MultiMC-96fdaebb5c8c8902c98c1fb43e755cf90fc15198.tar.lz MultiMC-96fdaebb5c8c8902c98c1fb43e755cf90fc15198.tar.xz MultiMC-96fdaebb5c8c8902c98c1fb43e755cf90fc15198.zip |
GH-926 implement log cleaning functionality
Also adds gzip compressed log support
Diffstat (limited to 'logic/pathmatcher/RegexpMatcher.h')
-rw-r--r-- | logic/pathmatcher/RegexpMatcher.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/logic/pathmatcher/RegexpMatcher.h b/logic/pathmatcher/RegexpMatcher.h new file mode 100644 index 00000000..f3cf90b1 --- /dev/null +++ b/logic/pathmatcher/RegexpMatcher.h @@ -0,0 +1,29 @@ +#include "IPathMatcher.h" +#include <QRegularExpression> + +class RegexpMatcher : public IPathMatcher +{ +public: + virtual ~RegexpMatcher() {}; + RegexpMatcher(QString regexp) + { + m_regexp.setPattern(regexp); + m_onlyFilenamePart = !regexp.contains('/'); + } + + virtual bool matches(const QString &string) 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; +}; |