mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 06:15:26 +00:00
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>
This commit is contained in:
parent
027ffc41bb
commit
770bf9afba
4 changed files with 36 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -144,8 +144,10 @@ link_pkgconfig: packagesExist(libiconv): PKGCONFIG += libiconv
|
|||
# Before Marble 4.9, the GeoDataTreeModel.h header wasn't installed
|
||||
# Check if it's present by trying to compile
|
||||
# ### FIXME: implement that
|
||||
win32: CONFIG(debug, debug|release): LIBS += -lmarblewidgetd
|
||||
else: LIBS += -lmarblewidget
|
||||
!contains(DEFINES, NO_MARBLE) {
|
||||
win32: CONFIG(debug, debug|release): LIBS += -lmarblewidgetd
|
||||
else: LIBS += -lmarblewidget
|
||||
}
|
||||
|
||||
libgit21-api {
|
||||
DEFINES += USE_LIBGIT21_API
|
||||
|
|
Loading…
Add table
Reference in a new issue