summaryrefslogtreecommitdiff
path: root/platform/qt
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-09-12 12:03:44 +0100
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-09-13 13:00:24 +0300
commitfdd114d275b1490b11024ea6f2d2f489ee2d5393 (patch)
treefbc9c75252f1d80c2dba482efb967e737bd65862 /platform/qt
parentcbd4115477d973b97bf6e54ba58643237547709b (diff)
downloadqtlocation-mapboxgl-fdd114d275b1490b11024ea6f2d2f489ee2d5393.tar.gz
[qt] Separate transition options accessors from class API
Diffstat (limited to 'platform/qt')
-rw-r--r--platform/qt/app/mapwindow.cpp9
-rw-r--r--platform/qt/include/qmapboxgl.hpp6
-rw-r--r--platform/qt/src/qmapboxgl.cpp33
3 files changed, 26 insertions, 22 deletions
diff --git a/platform/qt/app/mapwindow.cpp b/platform/qt/app/mapwindow.cpp
index 72bb5729ca..2a6e55cb2f 100644
--- a/platform/qt/app/mapwindow.cpp
+++ b/platform/qt/app/mapwindow.cpp
@@ -105,13 +105,14 @@ void MapWindow::keyPressEvent(QKeyEvent *ev)
case Qt::Key_Tab:
m_map.cycleDebugOptions();
break;
- case Qt::Key_R:
+ case Qt::Key_R: {
+ m_map.setTransitionOptions(transition);
if (m_map.hasClass("night")) {
- m_map.removeClass("night", transition);
+ m_map.removeClass("night");
} else {
- m_map.addClass("night", transition);
+ m_map.addClass("night");
}
- break;
+ } break;
default:
break;
}
diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp
index 84e5ba5184..bab46fd096 100644
--- a/platform/qt/include/qmapboxgl.hpp
+++ b/platform/qt/include/qmapboxgl.hpp
@@ -159,14 +159,14 @@ public:
void setGestureInProgress(bool inProgress);
void addClass(const QString &);
- void addClass(const QString &, const QMapbox::TransitionOptions &);
void removeClass(const QString &);
- void removeClass(const QString &, const QMapbox::TransitionOptions &);
bool hasClass(const QString &) const;
void setClasses(const QStringList &);
- void setClasses(const QStringList &, const QMapbox::TransitionOptions &);
QStringList getClasses() const;
+ QMapbox::TransitionOptions getTransitionOptions() const;
+ void setTransitionOptions(const QMapbox::TransitionOptions&);
+
QMapbox::AnnotationID addPointAnnotation(const QMapbox::PointAnnotation &);
QMapbox::AnnotationID addShapeAnnotation(const QMapbox::ShapeAnnotation &);
diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp
index f7f1a7fb5e..a3cf57100e 100644
--- a/platform/qt/src/qmapboxgl.cpp
+++ b/platform/qt/src/qmapboxgl.cpp
@@ -107,6 +107,16 @@ auto fromQMapboxTransitionOptions(const QMapbox::TransitionOptions &options) {
return mbgl::style::TransitionOptions { convert(options.duration), convert(options.delay) };
}
+auto toQMapboxTransitionOptions(const mbgl::style::TransitionOptions &options) {
+ auto convert = [](auto& value) -> QVariant {
+ if (value) {
+ return qint64(std::chrono::duration_cast<mbgl::Milliseconds>(*value).count());
+ }
+ return {};
+ };
+ return QMapbox::TransitionOptions { convert(options.duration), convert(options.delay) };
+}
+
auto fromQStringList(const QStringList &list)
{
std::vector<std::string> strings(list.size());
@@ -462,21 +472,11 @@ void QMapboxGL::addClass(const QString &className)
d_ptr->mapObj->addClass(className.toStdString());
}
-void QMapboxGL::addClass(const QString &className, const QMapbox::TransitionOptions &options)
-{
- d_ptr->mapObj->addClass(className.toStdString(), fromQMapboxTransitionOptions(options));
-}
-
void QMapboxGL::removeClass(const QString &className)
{
d_ptr->mapObj->removeClass(className.toStdString());
}
-void QMapboxGL::removeClass(const QString &className, const QMapbox::TransitionOptions &options)
-{
- d_ptr->mapObj->removeClass(className.toStdString(), fromQMapboxTransitionOptions(options));
-}
-
bool QMapboxGL::hasClass(const QString &className) const
{
return d_ptr->mapObj->hasClass(className.toStdString());
@@ -487,11 +487,6 @@ void QMapboxGL::setClasses(const QStringList &classNames)
d_ptr->mapObj->setClasses(fromQStringList(classNames));
}
-void QMapboxGL::setClasses(const QStringList &classNames, const QMapbox::TransitionOptions &options)
-{
- d_ptr->mapObj->setClasses(fromQStringList(classNames), fromQMapboxTransitionOptions(options));
-}
-
QStringList QMapboxGL::getClasses() const
{
QStringList classNames;
@@ -501,6 +496,14 @@ QStringList QMapboxGL::getClasses() const
return classNames;
}
+QMapbox::TransitionOptions QMapboxGL::getTransitionOptions() const {
+ return toQMapboxTransitionOptions(d_ptr->mapObj->getTransitionOptions());
+}
+
+void QMapboxGL::setTransitionOptions(const QMapbox::TransitionOptions &options) {
+ d_ptr->mapObj->setTransitionOptions(fromQMapboxTransitionOptions(options));
+}
+
mbgl::Annotation fromPointAnnotation(const PointAnnotation &pointAnnotation) {
const Coordinate &coordinate = pointAnnotation.first;
const QString &icon = pointAnnotation.second;