digiKam
Loading...
Searching...
No Matches
collectionlocation.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-04-09
7 * Description : Collection location abstraction
8 *
9 * SPDX-FileCopyrightText: 2007-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 <QString>
20#include <QHash>
21
22// Local includes
23
24#include "digikam_export.h"
25#include "coredbalbuminfo.h"
26
27namespace Digikam
28{
29
30class DIGIKAM_DATABASE_EXPORT CollectionLocation
31{
32
33public:
34
66
67public:
68
69 enum Type
70 {
75 Undefined = 0,
76
81 VolumeHardWired = 1,
82
88 VolumeRemovable = 2,
89
94 Network = 3
95 };
96
97public:
98
100 {
105
110
114 CaseSensitive
115 };
116
117public:
118
120
124 int id() const;
125
130 Qt::CaseSensitivity asQtCaseSensitivity() const;
131
135 CaseSensitivity caseSensitivity() const;
136
140 Status status() const;
141
145 Type type() const;
146
151 QString albumRootPath() const;
152
156 QString label() const;
157
158 bool isAvailable() const
159 {
160 return (m_status == LocationAvailable);
161 }
162
163 bool isNull() const
164 {
165 return (m_status == LocationNull);
166 }
167
168#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
169
170 size_t hash() const
171
172#else
173
174 uint hash() const
175
176#endif
177
178 {
179 return ::qHash(m_id);
180 }
181
182public:
183
184 QString identifier;
185
186protected:
187
188 int m_id = -1;
189 QString m_label;
190 Status m_status = LocationNull;
191 Type m_type = VolumeHardWired;
192 QString m_path;
193 CaseSensitivity m_caseSensitivity = UnknownCaseSensitivity;
194};
195
196#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
197
198inline size_t qHash(const CollectionLocation& loc)
199
200#else
201
202inline uint qHash(const CollectionLocation& loc)
203
204#endif
205
206{
207 return loc.hash();
208}
209
210} // namespace Digikam
Definition collectionlocation.h:31
QString m_label
Definition collectionlocation.h:189
CaseSensitivity
Definition collectionlocation.h:100
@ UnknownCaseSensitivity
Definition collectionlocation.h:104
@ CaseInsensitive
Definition collectionlocation.h:109
QString identifier
Definition collectionlocation.h:184
QString m_path
Definition collectionlocation.h:192
bool isAvailable() const
Definition collectionlocation.h:158
Type
Definition collectionlocation.h:70
Status
Definition collectionlocation.h:36
@ LocationNull
Definition collectionlocation.h:41
@ LocationHidden
Definition collectionlocation.h:52
@ LocationUnavailable
Definition collectionlocation.h:58
@ LocationAvailable
Definition collectionlocation.h:46
bool isNull() const
Definition collectionlocation.h:163
size_t hash() const
Definition collectionlocation.h:170
Definition datefolderview.cpp:34
size_t qHash(const PAlbumPath &id)
Definition albummanager_p.h:135