summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAleksey Tatarov <alekseytatarv@gmail.com>2020-05-24 20:57:33 +0300
committerPekka Vuorela <pvuorela@iki.fi>2020-05-25 09:04:27 +0000
commit8cbbeb060188191b833863f23bc513909a9a4d0a (patch)
treea3063aaa1d223e51fc89e545a6da7cb64fcd8007 /src
parent2cf80a8007e1ad449acd00d6677739970fc67198 (diff)
Replace int with longlong for fileSize propertyHEADmaster
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 <pvuorela@iki.fi>
Diffstat (limited to 'src')
-rw-r--r--src/gallery/tracker/qgallerytrackerlistcolumn.cpp20
-rw-r--r--src/gallery/tracker/qgallerytrackerlistcolumn_p.h6
-rw-r--r--src/gallery/tracker/qgallerytrackerschema.cpp8
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;