diff options
-rw-r--r-- | platform/qt/app/mapwindow.cpp | 14 | ||||
-rw-r--r-- | platform/qt/include/qmapbox.hpp | 2 | ||||
-rw-r--r-- | platform/qt/src/qmapbox.cpp | 15 |
3 files changed, 21 insertions, 10 deletions
diff --git a/platform/qt/app/mapwindow.cpp b/platform/qt/app/mapwindow.cpp index 474363039f..c2a07fc9c9 100644 --- a/platform/qt/app/mapwindow.cpp +++ b/platform/qt/app/mapwindow.cpp @@ -1,7 +1,5 @@ #include "mapwindow.hpp" -#include <mbgl/util/default_styles.hpp> - #include <QApplication> #include <QDebug> #include <QKeyEvent> @@ -54,16 +52,12 @@ void MapWindow::changeStyle() { static uint8_t currentStyleIndex; - mbgl::util::default_styles::DefaultStyle newStyle = - mbgl::util::default_styles::orderedStyles[currentStyleIndex]; - - QString url(newStyle.url); - m_map.setStyleURL(url); + auto& styles = QMapbox::defaultStyles(); - QString name(newStyle.name); - setWindowTitle(QString("Mapbox GL: ") + name); + m_map.setStyleURL(styles[currentStyleIndex].first); + setWindowTitle(QString("Mapbox GL: ") + styles[currentStyleIndex].second); - if (++currentStyleIndex == mbgl::util::default_styles::numOrderedStyles) { + if (++currentStyleIndex == styles.size()) { currentStyleIndex = 0; } } diff --git a/platform/qt/include/qmapbox.hpp b/platform/qt/include/qmapbox.hpp index 937d895a7f..52bb6da50a 100644 --- a/platform/qt/include/qmapbox.hpp +++ b/platform/qt/include/qmapbox.hpp @@ -39,6 +39,8 @@ struct Q_DECL_EXPORT CameraOptions { QVariant pitch; // double }; +Q_DECL_EXPORT QList<QPair<QString, QString>>& defaultStyles(); + Q_DECL_EXPORT NetworkMode networkMode(); Q_DECL_EXPORT void setNetworkMode(NetworkMode); diff --git a/platform/qt/src/qmapbox.cpp b/platform/qt/src/qmapbox.cpp index 8ecb2c09b9..2929d07cd3 100644 --- a/platform/qt/src/qmapbox.cpp +++ b/platform/qt/src/qmapbox.cpp @@ -1,4 +1,5 @@ #include <mbgl/storage/network_status.hpp> +#include <mbgl/util/default_styles.hpp> #include <QMapbox> @@ -29,4 +30,18 @@ Q_DECL_EXPORT void setNetworkMode(NetworkMode mode) } } +Q_DECL_EXPORT QList<QPair<QString, QString>>& defaultStyles() +{ + static QList<QPair<QString, QString>> styles; + + if (styles.isEmpty()) { + for (auto style : mbgl::util::default_styles::orderedStyles) { + styles.append(QPair<QString, QString>( + QString::fromStdString(style.url), QString::fromStdString(style.name))); + } + } + + return styles; +} + } |