digiKam
Loading...
Searching...
No Matches
importfilter.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2010-12-16
7 * Description : Filter for filter combobox
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Petri Damstén <petri dot damsten at iki dot fi>
10 * SPDX-FileCopyrightText: 2014 by Teemu Rytilahti <tpr@iki.fi>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QHash>
21#include <QString>
22#include <QList>
23#include <QStringList>
24#include <QRegularExpression>
25
26// Local includes
27
28#include "camiteminfo.h"
29
30namespace Digikam
31{
32
33class Filter
34{
35public:
36
37 Filter() = default;
38 ~Filter() = default;
39
40 QString toString();
41 void fromString(const QString& filter);
42 bool match(const QStringList& wildcards, const QString& name);
43 const QRegularExpression& regexp(const QString& wildcard);
44 const QStringList& mimeWildcards(const QString& mime);
45 bool matchesCurrentFilter(const CamItemInfo& item);
46
47public:
48
49 QString name;
50 bool onlyNew = false;
51 QStringList fileFilter;
52 QStringList pathFilter;
53 QStringList ignoreNames;
54 QStringList ignoreExtensions;
55 QString mimeFilter;
56 QHash<QString, QRegularExpression> filterHash;
57 QHash<QString, QStringList> mimeHash;
58};
59
60typedef QList<Filter*> FilterList;
61
62} // namespace Digikam
63
64Q_DECLARE_METATYPE(Digikam::Filter*)
Definition camiteminfo.h:39
Definition importfilter.h:34
Filter()=default
QHash< QString, QStringList > mimeHash
Definition importfilter.h:57
const QStringList & mimeWildcards(const QString &mime)
Definition importfilter.cpp:107
void fromString(const QString &filter)
Definition importfilter.cpp:42
~Filter()=default
QHash< QString, QRegularExpression > filterHash
Definition importfilter.h:56
bool onlyNew
Definition importfilter.h:50
const QRegularExpression & regexp(const QString &wildcard)
Definition importfilter.cpp:74
bool matchesCurrentFilter(const CamItemInfo &item)
Definition importfilter.cpp:134
QStringList fileFilter
Definition importfilter.h:51
QStringList ignoreExtensions
Definition importfilter.h:54
QStringList pathFilter
Definition importfilter.h:52
bool match(const QStringList &wildcards, const QString &name)
Definition importfilter.cpp:88
QString mimeFilter
Definition importfilter.h:55
QString toString()
Definition importfilter.cpp:30
QStringList ignoreNames
Definition importfilter.h:53
QString name
Definition importfilter.h:49
Definition datefolderview.cpp:34
QList< Filter * > FilterList
Definition importfilter.h:60