1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-03-03 14:11:05 +01:00

Compare commits

..

No commits in common. "5525ba6e8ccd98c0405ce77820c20410eb7fac8d" and "eee4f31369c27ba3834e71c532108c4279df9811" have entirely different histories.

3 changed files with 11 additions and 11 deletions

View File

@ -129,14 +129,15 @@ bool MBTilesMap::getBounds()
bool MBTilesMap::getTileSize() bool MBTilesMap::getTileSize()
{ {
QString sql("SELECT zoom_level, tile_data FROM tiles LIMIT 1"); QString sql("SELECT tile_data FROM tiles LIMIT 1");
QSqlQuery query(sql, _db); QSqlQuery query(sql, _db);
query.first(); query.first();
QByteArray z(QByteArray::number(query.value(0).toInt())); QByteArray data = query.value(0).toByteArray();
QByteArray data = query.value(1).toByteArray();
QBuffer buffer(&data); QBuffer buffer(&data);
QImageReader reader(&buffer, z); /* Explicitly specify the image plugin in case of vector tiles
(QTBUG-119910 workaround) */
QImageReader reader(&buffer, _scalable ? QByteArray("mvt") : QByteArray());
QSize tileSize(reader.size()); QSize tileSize(reader.size());
if (!tileSize.isValid() || tileSize.width() != tileSize.height()) { if (!tileSize.isValid() || tileSize.width() != tileSize.height()) {
@ -216,9 +217,9 @@ MBTilesMap::MBTilesMap(const QString &fileName, QObject *parent)
return; return;
if (!getBounds()) if (!getBounds())
return; return;
getTileFormat();
if (!getTileSize()) if (!getTileSize())
return; return;
getTileFormat();
getTilePixelRatio(); getTilePixelRatio();
getName(); getName();

View File

@ -21,8 +21,10 @@ public:
const QPixmap &pixmap() const {return _pixmap;} const QPixmap &pixmap() const {return _pixmap;}
void load() { void load() {
QByteArray z(QString::number(_zoom).toLatin1());
QBuffer buffer(&_data); QBuffer buffer(&_data);
QImageReader reader(&buffer, QByteArray::number(_zoom)); QImageReader reader(&buffer, z);
if (_scaledSize) if (_scaledSize)
reader.setScaledSize(QSize(_scaledSize, _scaledSize)); reader.setScaledSize(QSize(_scaledSize, _scaledSize));
_pixmap = QPixmap::fromImage(reader.read()); _pixmap = QPixmap::fromImage(reader.read());

View File

@ -7,8 +7,6 @@
#include "tileloader.h" #include "tileloader.h"
#define SUBSTITUTE_CHAR '$' #define SUBSTITUTE_CHAR '$'
#define IS_INT(zoom) \
((QMetaType::Type)((zoom).type()) == QMetaType::Int)
class TileImage class TileImage
{ {
@ -20,8 +18,7 @@ public:
void load() void load()
{ {
QImage img; QImage img;
QByteArray z(IS_INT(_tile->zoom()) QByteArray z(_tile->zoom().toString().toLatin1());
? QByteArray::number(_tile->zoom().toInt()) : QByteArray());
QImageReader reader(_file, z); QImageReader reader(_file, z);
if (_scaledSize) if (_scaledSize)
reader.setScaledSize(QSize(_scaledSize, _scaledSize)); reader.setScaledSize(QSize(_scaledSize, _scaledSize));
@ -223,7 +220,7 @@ QUrl TileLoader::tileUrl(const FetchTile &tile) const
QString TileLoader::tileFile(const FetchTile &tile) const QString TileLoader::tileFile(const FetchTile &tile) const
{ {
QString zoom(IS_INT(tile.zoom()) QString zoom(((QMetaType::Type)(tile.zoom().type()) == QMetaType::Int)
? tile.zoom().toString() : fsSafeStr(tile.zoom().toString())); ? tile.zoom().toString() : fsSafeStr(tile.zoom().toString()));
return _dir + QLatin1Char('/') + zoom + QLatin1Char('-') return _dir + QLatin1Char('/') + zoom + QLatin1Char('-')