Go to the documentation of this file.
8 #include <QSharedPointer>
76 { qDebug() << QString(
"Created %1 (%2)").arg(m_id).arg(++GetItemCount()); }
79 { qDebug() << QString(
"Deleted %1 (%2)").arg(m_id).arg(--GetItemCount()); }
82 static int& GetItemCount() {
static int count;
return count; }
98 std::chrono::seconds m_modTime { 0s };
100 std::chrono::seconds m_date { 0s };
101 int m_orientation { 0 };
105 bool m_isHidden {
false };
106 int m_userThumbnail { 0 };
112 int m_dirCount { 0 };
113 int m_fileCount { 0 };
119 bool IsLocal()
const {
return IsLocalId(m_id); }
128 static QString
ToLocalId(
const QString &
id) {
return "-" + id; }
131 static int ToDbId(
int id) {
return abs(
id); }
132 static QString
ToDbId(QString ids) {
return ids.remove(
"-"); }
144 for (
int id : std::as_const(ids))
147 local << QString::number(
id);
149 remote << QString::number(
id);
151 return qMakePair(local.join(
","), remote.join(
","));
170 #endif // IMAGETYPES_H
QSharedPointer< ImageItemK > ImagePtrK
@ kSortBySizeAsc
File size Smallest -> Largest.
QHash< QString, QString > NameHash
@ kSortByModTimeAsc
File modified time Earliest -> Latest.
@ kUnknown
Unprocessable file type.
int m_id
Uniquely identifies an image (file/dir).
ImageNodeType
Type of image node.
QString m_comment
User comment, from Exif metadata.
@ kSortByDateAsc
Exif date Earliest -> Latest.
static int ToLocalId(int id)
Converts a DB id (positive) to an id of a local image (negative)
ImageSortOrder
Image ordering.
static QString ToDbId(QString ids)
@ kSortByExtAsc
Extension A-Z.
@ kDirectory
A device sub directory.
static StringPair PartitionIds(const ImageIdList &ids)
Separates list of ids into a list of local ids and a list of remote ids.
@ kDevice
Storage Group and local mounted media.
QHash< QString, ImagePtr > ImageHash
@ kSortByNameAsc
Name A-Z.
Q_DECLARE_METATYPE(std::chrono::seconds)
QMap< int, QString > StringMap
QList< ImagePtrK > ImageListK
static QString ToLocalId(const QString &id)
static bool IsLocalId(int id)
Determine image type (local/remote) from its id. Root/Gallery is remote.
QString m_baseName
File/Dir name with extension (no path)
@ kSortByNameDesc
Name Z-A.
QVector< ImagePtr > ImageList
static bool IsLocalParent(int id)
Parents of locals are locals or root.
QList< ThumbPair > m_thumbNails
QSharedPointer< ImageItem > ImagePtr
@ kCloneDir
A device sub dir comprised from multiple SG dirs.
Represents a picture, video or directory.
@ kSortByDateDesc
Exif date Latest -> Earliest.
static int ToDbId(int id)
Converts local image ids (negative) to Db ids (positive)
QString m_thumbPath
Myth URL of image (abs filepath for locals)
static constexpr int PHOTO_DB_ID
QPair< QString, QString > StringPair
@ kSortByExtDesc
Extension Z-A.
@ kSortBySizeDesc
File size Largest -> Smallest.
QPair< int, QString > ThumbPair
QString m_extension
Image file extension.
static constexpr int GALLERY_DB_ID
@ kSortByModTimeDesc
File modified time Latest -> Earliest.
QString m_filePath
Absolute for local images. Usually SG-relative for remotes.