summaryrefslogtreecommitdiff
path: root/src/location/maps/qgeomap.cpp
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@theqtcompany.com>2015-04-13 11:13:48 +0200
committerMichal Klocek <michal.klocek@theqtcompany.com>2015-05-04 08:41:41 +0000
commit72ecba08268ae8c080b411cfc5117ddcf9b6d0fe (patch)
tree668dff26ba307d54bc27e8dfdd86fdb44623c60b /src/location/maps/qgeomap.cpp
parent986110e3a41b0e90ab55fa7d17ef12599c824b56 (diff)
downloadqtlocation-72ecba08268ae8c080b411cfc5117ddcf9b6d0fe.tar.gz
Fix PIMPL in QGeoMap.
Use QObjectPrivate as base for QGeoMapPrivate. Remove not required setters and getters in private class. Change-Id: I029a77907235b4b0976ad961f1c41b5038da3881 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/location/maps/qgeomap.cpp')
-rw-r--r--src/location/maps/qgeomap.cpp109
1 files changed, 31 insertions, 78 deletions
diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp
index 0fe8268c..3f0d1510 100644
--- a/src/location/maps/qgeomap.cpp
+++ b/src/location/maps/qgeomap.cpp
@@ -43,57 +43,57 @@
QT_BEGIN_NAMESPACE
QGeoMap::QGeoMap(QGeoMappingManagerEngine *engine, QObject *parent)
- : QObject(parent),
- d_ptr(new QGeoMapPrivate(engine, this)) {}
+ : QObject(*new QGeoMapPrivate(engine),parent) {}
QGeoMap::~QGeoMap()
{
- delete d_ptr;
}
QGeoMapController *QGeoMap::mapController()
{
Q_D(QGeoMap);
- return d->mapController();
+ if (!d->m_controller)
+ d->m_controller = new QGeoMapController(this);
+ return d->m_controller;
}
void QGeoMap::resize(int width, int height)
{
Q_D(QGeoMap);
d->resize(width, height);
-
// always emit this signal to trigger items to redraw
- emit cameraDataChanged(d->cameraData());
+ emit cameraDataChanged(d->m_cameraData);
}
int QGeoMap::width() const
{
Q_D(const QGeoMap);
- return d->width();
+ return d->m_width;
}
int QGeoMap::height() const
{
Q_D(const QGeoMap);
- return d->height();
+ return d->m_height;
}
void QGeoMap::setCameraData(const QGeoCameraData &cameraData)
{
Q_D(QGeoMap);
- if (cameraData == d->cameraData())
+ if (cameraData == d->m_cameraData)
return;
d->setCameraData(cameraData);
+
update();
- emit cameraDataChanged(d->cameraData());
+ emit cameraDataChanged(d->m_cameraData);
}
QGeoCameraData QGeoMap::cameraData() const
{
Q_D(const QGeoMap);
- return d->cameraData();
+ return d->m_cameraData;
}
void QGeoMap::update()
@@ -104,41 +104,44 @@ void QGeoMap::update()
void QGeoMap::setActiveMapType(const QGeoMapType type)
{
Q_D(QGeoMap);
- d->setActiveMapType(type);
+ d->m_activeMapType = type;
+ changeActiveMapType(type);
+ d->setCameraData(d->m_cameraData);
+ update();
}
const QGeoMapType QGeoMap::activeMapType() const
{
Q_D(const QGeoMap);
- return d->activeMapType();
+ return d->m_activeMapType;
}
QString QGeoMap::pluginString()
{
- Q_D(QGeoMap);
- return d->pluginString();
+ Q_D(const QGeoMap);
+ return d->m_pluginString;
}
QGeoCameraCapabilities QGeoMap::cameraCapabilities()
{
- Q_D(QGeoMap);
- if (d->engine())
- return d->engine()->cameraCapabilities();
+ Q_D(const QGeoMap);
+ if (d->m_engine)
+ return d->m_engine->cameraCapabilities();
else
return QGeoCameraCapabilities();
}
QGeoMappingManagerEngine *QGeoMap::engine()
{
- Q_D(QGeoMap);
- return d->engine();
+ Q_D(const QGeoMap);
+ return d->m_engine;
}
-QGeoMapPrivate::QGeoMapPrivate(QGeoMappingManagerEngine *engine, QGeoMap *parent)
- : m_width(0),
+QGeoMapPrivate::QGeoMapPrivate(QGeoMappingManagerEngine *engine)
+ : QObjectPrivate(),
+ m_width(0),
m_height(0),
m_aspectRatio(0.0),
- m_map(parent),
m_engine(engine),
m_controller(0),
m_activeMapType(QGeoMapType())
@@ -154,25 +157,9 @@ QGeoMapPrivate::~QGeoMapPrivate()
// However: how to ensure this is done in rendering thread?
}
-QGeoMappingManagerEngine *QGeoMapPrivate::engine() const
-{
- return m_engine;
-}
-
-QString QGeoMapPrivate::pluginString()
-{
- return m_pluginString;
-}
-
-QGeoMapController *QGeoMapPrivate::mapController()
-{
- if (!m_controller)
- m_controller = new QGeoMapController(m_map);
- return m_controller;
-}
-
void QGeoMapPrivate::setCameraData(const QGeoCameraData &cameraData)
{
+ Q_Q(QGeoMap);
QGeoCameraData oldCameraData = m_cameraData;
m_cameraData = cameraData;
@@ -205,52 +192,18 @@ void QGeoMapPrivate::setCameraData(const QGeoCameraData &cameraData)
// anyway when it is resized to a width > 0.
// this is mainly an optimization to the initialization of the geomap, which would otherwise
// call changeCameraData four or more times
- if (width() > 0)
- m_map->changeCameraData(oldCameraData);
-}
-
-QGeoCameraData QGeoMapPrivate::cameraData() const
-{
- return m_cameraData;
+ if (m_width > 0)
+ q->changeCameraData(oldCameraData);
}
void QGeoMapPrivate::resize(int width, int height)
{
+ Q_Q(QGeoMap);
m_width = width;
m_height = height;
m_aspectRatio = 1.0 * m_width / m_height;
- m_map->mapResized(width, height);
+ q->mapResized(width, height);
setCameraData(m_cameraData);
}
-int QGeoMapPrivate::width() const
-{
- return m_width;
-}
-
-int QGeoMapPrivate::height() const
-{
- return m_height;
-}
-
-double QGeoMapPrivate::aspectRatio() const
-{
- return m_aspectRatio;
-}
-
-void QGeoMapPrivate::setActiveMapType(const QGeoMapType &type)
-{
- m_activeMapType = type;
-
- m_map->changeActiveMapType(type);
- setCameraData(m_cameraData);
-
- m_map->update();
-}
-
-const QGeoMapType QGeoMapPrivate::activeMapType() const
-{
- return m_activeMapType;
-}
-
QT_END_NAMESPACE