digiKam
Loading...
Searching...
No Matches
coredburl.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 : 2007-03-19
7 * Description : Core database Url interface.
8 *
9 * SPDX-FileCopyrightText: 2007-2008 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 <QDateTime>
20#include <QList>
21#include <QUrl>
22
23// Local includes
24
25#include "digikam_export.h"
26#include "dbengineparameters.h"
27#include "coredbaccess.h"
28
29namespace Digikam
30{
31
32class DIGIKAM_DATABASE_EXPORT CoreDbUrl : public QUrl
33{
34public:
35
53 static CoreDbUrl fromFileUrl(const QUrl& fileUrl,
54 const QUrl& albumRoot,
55 int albumRootId,
56 const DbEngineParameters& parameters = CoreDbAccess::parameters());
57
58 static CoreDbUrl fromFileUrl(const QUrl& fileUrl,
59 const QUrl& albumRoot,
60 const DbEngineParameters& parameters = CoreDbAccess::parameters());
61
67 static CoreDbUrl fromAlbumAndName(const QString& name,
68 const QString& album,
69 const QUrl& albumRoot,
70 int albumRootId,
71 const DbEngineParameters& parameters = CoreDbAccess::parameters());
72
73 static CoreDbUrl fromAlbumAndName(const QString& name,
74 const QString& album,
75 const QUrl& albumRoot,
76 const DbEngineParameters& parameters = CoreDbAccess::parameters());
77
81 static CoreDbUrl albumUrl(const DbEngineParameters& parameters = CoreDbAccess::parameters());
82
88 static CoreDbUrl fromTagIds(const QList<int>& tagIds,
89 const DbEngineParameters& parameters = CoreDbAccess::parameters());
90
94 static CoreDbUrl dateUrl(const DbEngineParameters& parameters = CoreDbAccess::parameters());
95
100 static CoreDbUrl fromDateForMonth(const QDate& date,
101 const DbEngineParameters& parameters = CoreDbAccess::parameters());
102
107 static CoreDbUrl fromDateForYear(const QDate& date,
108 const DbEngineParameters& parameters = CoreDbAccess::parameters());
109
115 static CoreDbUrl fromDateRange(const QDate& startDate, const QDate& endDate,
116 const DbEngineParameters& parameters = CoreDbAccess::parameters());
117
121 static CoreDbUrl mapImagesUrl(const DbEngineParameters& parameters = CoreDbAccess::parameters());
122
123 static CoreDbUrl fromAreaRange(const qreal lat1, const qreal lng1,
124 const qreal lat2, const qreal lng2,
125 const DbEngineParameters& parameters = CoreDbAccess::parameters());
126
130 static CoreDbUrl searchUrl(int searchId, const DbEngineParameters& parameters = CoreDbAccess::parameters());
131
135 explicit CoreDbUrl(const QUrl& digikamUrl);
136
140 CoreDbUrl() = default;
141 ~CoreDbUrl() = default;
142
147 bool isAlbumUrl() const;
148 bool isTagUrl() const;
149 bool isDateUrl() const;
150 bool isSearchUrl() const;
151 bool isMapImagesUrl() const;
152
157 DbEngineParameters parameters() const;
158
163 void setParameters(const DbEngineParameters& parameters);
164
171
176 QUrl albumRoot() const;
177
182 QString albumRootPath() const;
183
187 int albumRootId() const;
188
193 QString album() const;
194
198 QString name() const;
199
203 QUrl fileUrl() const;
204
206
210 int tagId() const;
211
216 QList<int> tagIds() const;
217
219
223 QDate startDate() const;
224
228 QDate endDate() const;
229
231
236 bool areaCoordinates(double* lat1, double* lat2, double* lon1, double* lon2) const;
237
239
243 int searchId() const;
244
245 CoreDbUrl(const CoreDbUrl& url);
246
247 CoreDbUrl& operator=(const QUrl& digikamalbumsUrl);
248 CoreDbUrl& operator=(const CoreDbUrl& url);
249
250 bool operator==(const QUrl& digikamalbumsUrl) const;
251};
252
253} // namespace Digikam
Definition coredburl.h:33
~CoreDbUrl()=default
Definition dbengineparameters.h:39
Definition datefolderview.cpp:34
bool operator==(const SearchTextSettings &a, const SearchTextSettings &b)
Definition searchtextbar.cpp:40