diff options
author | Aleksey Tatarov <[email protected]> | 2020-05-24 20:57:33 +0300 |
---|---|---|
committer | Pekka Vuorela <[email protected]> | 2020-05-25 09:04:27 +0000 |
commit | 8cbbeb060188191b833863f23bc513909a9a4d0a (patch) | |
tree | a3063aaa1d223e51fc89e545a6da7cb64fcd8007 | |
parent | 2cf80a8007e1ad449acd00d6677739970fc67198 (diff) |
The fileSize variable may be larger than the int type can provide,
it is needed to add support of type int64.
Change-Id: I06980d24efecdc8251f57e8dce9cf791819b94e0
Reviewed-by: Pekka Vuorela <[email protected]>
-rw-r--r-- | src/gallery/tracker/qgallerytrackerlistcolumn.cpp | 20 | ||||
-rw-r--r-- | src/gallery/tracker/qgallerytrackerlistcolumn_p.h | 6 | ||||
-rw-r--r-- | src/gallery/tracker/qgallerytrackerschema.cpp | 8 |
3 files changed, 32 insertions, 2 deletions
diff --git a/src/gallery/tracker/qgallerytrackerlistcolumn.cpp b/src/gallery/tracker/qgallerytrackerlistcolumn.cpp index 92bcf34..981faf7 100644 --- a/src/gallery/tracker/qgallerytrackerlistcolumn.cpp +++ b/src/gallery/tracker/qgallerytrackerlistcolumn.cpp @@ -163,6 +163,26 @@ QVariant QGalleryTrackerIntegerColumn::toVariant(TrackerSparqlCursor *cursor, in } +QVariant QGalleryTrackerLongLongColumn::toVariant(TrackerSparqlCursor *cursor, int index) const +{ + switch (TrackerSparqlValueType type = tracker_sparql_cursor_get_value_type(cursor, index)) { + case TRACKER_SPARQL_VALUE_TYPE_INTEGER: + return qint64(tracker_sparql_cursor_get_integer(cursor, index)); + case TRACKER_SPARQL_VALUE_TYPE_DOUBLE: + return qint64(tracker_sparql_cursor_get_double(cursor, index)); + case TRACKER_SPARQL_VALUE_TYPE_UNBOUND: + case TRACKER_SPARQL_VALUE_TYPE_BLANK_NODE: + break; + default: + if (!m_warned) { + m_warned = true; + qWarning() << "QGalleryTracker: Expected integer type at index" << index << "got" << type; + } + break; + } + return QVariant(); +} + QVariant QGalleryTrackerDoubleColumn::toVariant(TrackerSparqlCursor *cursor, int index) const { switch (TrackerSparqlValueType type = tracker_sparql_cursor_get_value_type(cursor, index)) { diff --git a/src/gallery/tracker/qgallerytrackerlistcolumn_p.h b/src/gallery/tracker/qgallerytrackerlistcolumn_p.h index 8e19bca..62f47a7 100644 --- a/src/gallery/tracker/qgallerytrackerlistcolumn_p.h +++ b/src/gallery/tracker/qgallerytrackerlistcolumn_p.h @@ -115,6 +115,12 @@ public: QVariant toVariant(TrackerSparqlCursor *cursor, int index) const; }; +class QGalleryTrackerLongLongColumn : public QGalleryTrackerValueColumn +{ +public: + QVariant toVariant(TrackerSparqlCursor *cursor, int index) const; +}; + class QGalleryTrackerDoubleColumn : public QGalleryTrackerValueColumn { public: diff --git a/src/gallery/tracker/qgallerytrackerschema.cpp b/src/gallery/tracker/qgallerytrackerschema.cpp index f54d7e8..ed79f46 100644 --- a/src/gallery/tracker/qgallerytrackerschema.cpp +++ b/src/gallery/tracker/qgallerytrackerschema.cpp @@ -733,7 +733,7 @@ static bool qt_writeOrientationCondition( QT_GALLERY_NIE_DATAOBJECT_PROPERTIES, \ QT_GALLERY_NIE_INFORMATIONELEMENT_PROPERTIES, \ QT_GALLERY_ITEM_PROPERTY("fileName" , "nfo:fileName(?x)" , String , CanRead | CanSort | CanFilter), \ - QT_GALLERY_ITEM_PROPERTY("fileSize" , "nfo:fileSize(?x)" , Int , CanRead | CanSort | CanFilter), \ + QT_GALLERY_ITEM_PROPERTY("fileSize" , "nfo:fileSize(?x)" , LongLong, CanRead | CanSort | CanFilter), \ QT_GALLERY_ITEM_PROPERTY("lastAccessed" , "nfo:fileLastAccessed(?x)" , DateTime, CanRead | CanSort | CanFilter), \ QT_GALLERY_ITEM_PROPERTY("lastModified" , "nfo:fileLastModified(?x)" , DateTime, CanRead | CanSort | CanFilter) @@ -1232,7 +1232,8 @@ QDocumentGallery::Error QGalleryTrackerSchema::prepareTypeResponse( new QGalleryTrackerStaticColumn(qt_galleryItemTypeList[m_itemIndex].itemType)); arguments->valueColumns = QVector<QGalleryTrackerValueColumn *>() << new QGalleryTrackerStringColumn - << new QGalleryTrackerIntegerColumn; + << new QGalleryTrackerIntegerColumn + << new QGalleryTrackerLongLongColumn; arguments->service = qt_galleryItemTypeList[m_itemIndex].service; arguments->updateMask = qt_galleryItemTypeList[m_itemIndex].updateMask; @@ -1427,6 +1428,9 @@ static QVector<QGalleryTrackerValueColumn *> qt_createValueColumns( case QVariant::Url: columns.append(new QGalleryTrackerUrlColumn); break; + case QVariant::LongLong: + columns.append(new QGalleryTrackerLongLongColumn); + break; default: Q_ASSERT(false); break; |