22#include <QDirIterator>
23#include <QCoreApplication>
24#include <QCryptographicHash>
25#include <QReadWriteLock>
32#include <klocalizedstring.h>
36#if defined(Q_CC_CLANG)
37# pragma clang diagnostic push
38# pragma clang diagnostic ignored "-Wnonportable-include-path"
41#include <solid/device.h>
42#include <solid/deviceinterface.h>
43#include <solid/devicenotifier.h>
44#include <solid/storageaccess.h>
45#include <solid/storagedrive.h>
46#include <solid/storagevolume.h>
47#include <solid/opticaldisc.h>
48#include <solid/predicate.h>
50#if defined(Q_CC_CLANG)
51# pragma clang diagnostic pop
77 qCDebug(DIGIKAM_DATABASE_LOG) <<
"Creating new Location " << info.
specificPath <<
" uuid " << info.
identifier;
84 (path != QLatin1String(
"/")) &&
85 path.endsWith(QLatin1Char(
'/'))
104 m_status = CollectionLocation::LocationHidden;
110 m_status = CollectionLocation::LocationAvailable;
114 m_status = CollectionLocation::LocationUnavailable;
121 m_caseSensitivity = c;
132 if (m_status == CollectionLocation::LocationAvailable)
137 else if (m_status == CollectionLocation::LocationHidden)
172 bool available =
false;
187 return path.isNull();
196 bool isRemovable =
false;
197 bool isOpticalDisc =
false;
198 bool isMounted =
false;
211 QList<SolidVolumeInfo> actuallyListVolumes();
212 void slotTriggerUpdateVolumesList();
217 QList<SolidVolumeInfo> listVolumes();
229 SolidVolumeInfo findVolumeForUrl(
const QUrl& fileUrl,
const QList<SolidVolumeInfo>& volumes);
235 QString volumeIdentifier(
const QString& path);
238 QString networkShareIdentifier(
const QStringList& paths);
244 QStringList networkShareMountPathsFromIdentifier(
const AlbumRootLocation* location);
247 static QString directoryHash(
const QString& path);
250 bool checkIfExists(
const QString& path, QList<CollectionLocation> assumeDeleted);
256 QString getCollectionUUID(
const QString& path);
259 bool checkCollectionUUID(
AlbumRootLocation*
const location,
const QString& path);
265 bool changingDB =
false;
267 bool watchEnabled =
false;
281 d->changingDB =
true;
286 d->changingDB =
false;
Definition coredbalbuminfo.h:38
QString identifier
Definition coredbalbuminfo.h:49
int type
Definition coredbalbuminfo.h:48
QString label
Definition coredbalbuminfo.h:46
int caseSensitivity
Definition coredbalbuminfo.h:51
int id
Definition coredbalbuminfo.h:45
QString specificPath
Definition coredbalbuminfo.h:50
int status
Definition coredbalbuminfo.h:47
Definition collectionmanager_p.h:69
void setStatusFromFlags()
Definition collectionmanager_p.h:100
void setStatus(CollectionLocation::Status s)
Definition collectionmanager_p.h:124
void setId(int id)
Definition collectionmanager_p.h:149
void setType(Type type)
Definition collectionmanager_p.h:159
void setLabel(const QString &label)
Definition collectionmanager_p.h:164
QString specificPath
Definition collectionmanager_p.h:171
void setAbsolutePath(const QString &path)
Definition collectionmanager_p.h:154
void setCaseSensitivity(CollectionLocation::CaseSensitivity c)
Definition collectionmanager_p.h:119
AlbumRootLocation(const AlbumRootInfo &info)
Definition collectionmanager_p.h:75
AlbumRootLocation()=default
Definition albummanager_p.h:214
ChangingDB(CollectionManager::Private *const dd)
Definition collectionmanager_p.h:278
~ChangingDB()
Definition collectionmanager_p.h:284
Definition collectionlocation.h:31
CaseSensitivity
Definition collectionlocation.h:100
Type
Definition collectionlocation.h:70
Status
Definition collectionlocation.h:36
Definition collectionmanager_p.h:204
QList< SolidVolumeInfo > volumesListCache
Definition collectionmanager_p.h:213
QStringList udisToWatch
Definition collectionmanager_p.h:266
QReadWriteLock lock
Definition collectionmanager_p.h:263
QMap< int, AlbumRootLocation * > locations
Definition collectionmanager_p.h:264
Definition collectionmanager.h:35
Definition collectionmanager_p.h:179
SolidVolumeInfo()=default
QString label
volume label (think of CDs)
Definition collectionmanager_p.h:195
bool isNull() const
Definition collectionmanager_p.h:185
QString udi
Solid device UDI of the StorageAccess device.
Definition collectionmanager_p.h:192
QString uuid
UUID as from Solid.
Definition collectionmanager_p.h:194
QString path
mount path of volume, with trailing slash
Definition collectionmanager_p.h:193
Definition datefolderview.cpp:34