digiKam
Loading...
Searching...
No Matches
itemfiltermodelthreads.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 : 2009-03-11
7 * Description : Qt item model for database entries - threads management
8 *
9 * SPDX-FileCopyrightText: 2009-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QThread>
20
21// Local includes
22
23#include "digikam_export.h"
24#include "workerobject.h"
25#include "itemfiltermodel.h"
26
27namespace Digikam
28{
29
30class ItemFilterModelTodoPackage;
31
32class DIGIKAM_DATABASE_EXPORT ItemFilterModelWorker : public WorkerObject
33{
34 Q_OBJECT
35
36public:
37
38 explicit ItemFilterModelWorker(ItemFilterModel::ItemFilterModelPrivate* const dd);
39
40 bool checkVersion(const ItemFilterModelTodoPackage& package);
41
42public Q_SLOTS:
43
44 virtual void process(ItemFilterModelTodoPackage package) = 0;
45
46Q_SIGNALS:
47
50
51protected:
52
53 ItemFilterModel::ItemFilterModelPrivate* d = nullptr;
54};
55
56// -----------------------------------------------------------------------------------------
57
58class DIGIKAM_DATABASE_EXPORT ItemFilterModelPreparer : public ItemFilterModelWorker
59{
60 Q_OBJECT
61
62public:
63
64 explicit ItemFilterModelPreparer(ItemFilterModel::ItemFilterModelPrivate* const d)
66 {
67 }
68
69 void process(ItemFilterModelTodoPackage package) override;
70};
71
72// ----------------------------------------------------------------------------------------
73
74class DIGIKAM_DATABASE_EXPORT ItemFilterModelFilterer : public ItemFilterModelWorker
75{
76 Q_OBJECT
77
78public:
79
80 explicit ItemFilterModelFilterer(ItemFilterModel::ItemFilterModelPrivate* const d)
82 {
83 }
84
85 void process(ItemFilterModelTodoPackage package) override;
86};
87
88} // namespace Digikam
Definition itemfiltermodelthreads.h:75
ItemFilterModelFilterer(ItemFilterModel::ItemFilterModelPrivate *const d)
Definition itemfiltermodelthreads.h:80
Definition itemfiltermodelthreads.h:59
ItemFilterModelPreparer(ItemFilterModel::ItemFilterModelPrivate *const d)
Definition itemfiltermodelthreads.h:64
Definition itemfiltermodel_p.h:44
Definition itemfiltermodelthreads.h:33
virtual void process(ItemFilterModelTodoPackage package)=0
void processed(const ItemFilterModelTodoPackage &package)
void discarded(const ItemFilterModelTodoPackage &package)
Definition workerobject.h:35
Definition datefolderview.cpp:34