aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2014-03-26 23:08:56 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-03-27 10:40:06 -0700
commit770bf9afba18a2d50ead56c0068dc07ed8cb63a1 (patch)
tree78dfc1706dad2affd6957cf974914745c2f172a8 /qt-ui
parent027ffc41bb2e50ccb6a1b812a225773fb8227fee (diff)
downloadsubsurface-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.cpp10
-rw-r--r--qt-ui/globe.h18
-rw-r--r--qt-ui/mainwindow.cpp4
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()