diff options
author | Anton Lundin <glance@acc.umu.se> | 2014-03-26 23:08:56 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-27 10:40:06 -0700 |
commit | 770bf9afba18a2d50ead56c0068dc07ed8cb63a1 (patch) | |
tree | 78dfc1706dad2affd6957cf974914745c2f172a8 /qt-ui | |
parent | 027ffc41bb2e50ccb6a1b812a225773fb8227fee (diff) | |
download | subsurface-770bf9afba18a2d50ead56c0068dc07ed8cb63a1.tar.gz |
Introduce NO_MARBLE define, make GlobeGPS a dummy
Some users have requested a way to build subsurface without marble.
This hides all traces in the ui and creates a GlobeGPS-dummy thats
just a QLabel saying that marble is disabled, in case its shown
somehow. The dummy is there so we can just ignore the fact that marble
is disabled in the rest of the code.
Fixes #394
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/globe.cpp | 10 | ||||
-rw-r--r-- | qt-ui/globe.h | 18 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 4 |
3 files changed, 32 insertions, 0 deletions
diff --git a/qt-ui/globe.cpp b/qt-ui/globe.cpp index 4c6743770..961e0dbe5 100644 --- a/qt-ui/globe.cpp +++ b/qt-ui/globe.cpp @@ -1,4 +1,5 @@ #include "globe.h" +#ifndef NO_MARBLE #include "kmessagewidget.h" #include "mainwindow.h" #include "ui_mainwindow.h" @@ -295,3 +296,12 @@ void GlobeGPS::resizeEvent(QResizeEvent *event) messageWidget->setGeometry(5, 5, size - 10, 0); messageWidget->setMaximumHeight(500); } +#else + +GlobeGPS::GlobeGPS(QWidget* parent) { setText("MARBLE DISABLED AT BUILD TIME"); } +void GlobeGPS::repopulateLabels() {} +void GlobeGPS::centerOn(dive* dive) {} +bool GlobeGPS::eventFilter(QObject *obj, QEvent *ev) {} +void GlobeGPS::prepareForGetDiveCoordinates() {} +void GlobeGPS::reload() {} +#endif diff --git a/qt-ui/globe.h b/qt-ui/globe.h index 80d9613dd..f5a1e4053 100644 --- a/qt-ui/globe.h +++ b/qt-ui/globe.h @@ -1,5 +1,6 @@ #ifndef GLOBE_H #define GLOBE_H +#ifndef NO_MARBLE #include <marble/MarbleWidget.h> #include <marble/GeoDataCoordinates.h> @@ -41,4 +42,21 @@ slots: void prepareForGetDiveCoordinates(); }; +#else // NO_MARBLE +/* Dummy widget for when we don't have MarbleWidget */ +#include <QLabel> + +class GlobeGPS : public QLabel { + Q_OBJECT +public: + GlobeGPS(QWidget *parent); + void reload(); + void repopulateLabels(); + void centerOn(struct dive* dive); + bool eventFilter(QObject*, QEvent*); +public slots: + void prepareForGetDiveCoordinates(); +}; + +#endif // NO_MARBLE #endif // GLOBE_H diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index e77fa6b2c..e1b9d3e4f 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -81,6 +81,10 @@ MainWindow::MainWindow() : QMainWindow(), #ifndef ENABLE_PLANNER ui.menuLog->removeAction(ui.actionDivePlanner); #endif +#ifdef NO_MARBLE + ui.layoutWidget->hide(); + ui.menuView->removeAction(ui.actionViewGlobe); +#endif } MainWindow::~MainWindow() |