summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2017-09-02 14:37:25 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-09-04 07:46:35 -0700
commit4bb180b1178d293de4c55099a23d70d385e517d9 (patch)
treeedaaf92a914f94e093443e3bfef38b135d932b3d /desktop-widgets
parenta7d8e0d18748fdf72f5d43cceec945c6add74294 (diff)
downloadsubsurface-4bb180b1178d293de4c55099a23d70d385e517d9.tar.gz
remove Marble from the source tree
In desktop-widgets, remove globe.cpp, globe.h and also remove the NO_MARBLE macro usage. At this point the MapWidget will always be created and there will always be a map in the application. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/globe.cpp398
-rw-r--r--desktop-widgets/globe.h64
-rw-r--r--desktop-widgets/locationinformation.cpp12
-rw-r--r--desktop-widgets/mainwindow.cpp26
-rw-r--r--desktop-widgets/marble/GeoDataTreeModel.h119
-rw-r--r--desktop-widgets/modeldelegates.cpp3
-rw-r--r--desktop-widgets/subsurfacewebservices.cpp6
-rw-r--r--desktop-widgets/tab-widgets/maintab.cpp14
8 files changed, 0 insertions, 642 deletions
diff --git a/desktop-widgets/globe.cpp b/desktop-widgets/globe.cpp
deleted file mode 100644
index ca143f901..000000000
--- a/desktop-widgets/globe.cpp
+++ /dev/null
@@ -1,398 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include "desktop-widgets/globe.h"
-#ifndef NO_MARBLE
-#include "desktop-widgets/mainwindow.h"
-#include "core/helpers.h"
-#include "desktop-widgets/divelistview.h"
-#include "desktop-widgets/tab-widgets/maintab.h"
-#include "core/display.h"
-
-#include <QTimer>
-#include <QContextMenuEvent>
-#include <QMouseEvent>
-
-#include <marble/AbstractFloatItem.h>
-#include <marble/GeoDataPlacemark.h>
-#include <marble/GeoDataDocument.h>
-#include <marble/MarbleModel.h>
-#include <marble/MarbleDirs.h>
-#include <marble/MapThemeManager.h>
-#include <marble/GeoDataStyle.h>
-#include <marble/GeoDataIconStyle.h>
-#include <marble/GeoDataTreeModel.h>
-
-#ifdef MARBLE_SUBSURFACE_BRANCH
-#include <marble/MarbleDebug.h>
-#endif
-
-GlobeGPS *GlobeGPS::instance()
-{
- static GlobeGPS *self = new GlobeGPS();
- return self;
-}
-
-GlobeGPS::GlobeGPS(QWidget *parent) : MarbleWidget(parent),
- loadedDives(0),
- messageWidget(new KMessageWidget(this)),
- fixZoomTimer(new QTimer(this)),
- needResetZoom(false),
- editingDiveLocation(false),
- doubleClick(false)
-{
-#ifdef MARBLE_SUBSURFACE_BRANCH
- // we need to make sure this gets called after the command line arguments have
- // been processed but before we initialize the rest of Marble
- Marble::MarbleDebug::setEnabled(verbose);
-#endif
- currentZoomLevel = -1;
- // check if Google Sat Maps are installed
- // if not, check if they are in a known location
- MapThemeManager mtm;
- QStringList list = mtm.mapThemeIds();
- QString subsurfaceDataPath;
- QDir marble;
- if (!list.contains("earth/googlesat/googlesat.dgml")) {
- subsurfaceDataPath = getSubsurfaceDataPath("marbledata");
- if (subsurfaceDataPath.size()) {
- MarbleDirs::setMarbleDataPath(subsurfaceDataPath);
- } else {
- subsurfaceDataPath = getSubsurfaceDataPath("data");
- if (subsurfaceDataPath.size())
- MarbleDirs::setMarbleDataPath(subsurfaceDataPath);
- }
- }
- messageWidget->setCloseButtonVisible(false);
- messageWidget->setHidden(true);
-
- setMapThemeId("earth/googlesat/googlesat.dgml");
- //setMapThemeId("earth/openstreetmap/openstreetmap.dgml");
- setProjection(Marble::Spherical);
-
- setAnimationsEnabled(true);
- Q_FOREACH (AbstractFloatItem *i, floatItems()) {
- i->setVisible(false);
- }
-
- setShowClouds(false);
- setShowBorders(false);
- setShowPlaces(true);
- setShowCrosshairs(false);
- setShowGrid(false);
- setShowOverviewMap(false);
- setShowScaleBar(true);
- setShowCompass(false);
- connect(this, SIGNAL(mouseClickGeoPosition(qreal, qreal, GeoDataCoordinates::Unit)),
- this, SLOT(mouseClicked(qreal, qreal, GeoDataCoordinates::Unit)));
-
- setMinimumHeight(0);
- setMinimumWidth(0);
- connect(fixZoomTimer, SIGNAL(timeout()), this, SLOT(fixZoom()));
- fixZoomTimer->setSingleShot(true);
- installEventFilter(this);
-}
-
-bool GlobeGPS::eventFilter(QObject *obj, QEvent *ev)
-{
- // sometimes Marble seems not to notice double clicks and consequently not call
- // the right callback - so let's remember here if the last 'click' is a 'double' or not
- enum QEvent::Type type = ev->type();
- if (type == QEvent::MouseButtonDblClick)
- doubleClick = true;
- else if (type == QEvent::MouseButtonPress)
- doubleClick = false;
-
- // This disables Zooming when a double click occours on the scene.
- if (type == QEvent::MouseButtonDblClick && !editingDiveLocation)
- return true;
- // This disables the Marble's Context Menu
- // we need to move this to our 'contextMenuEvent'
- // if we plan to do a different one in the future.
- if (type == QEvent::ContextMenu) {
- contextMenuEvent(static_cast<QContextMenuEvent *>(ev));
- return true;
- }
- if (type == QEvent::MouseButtonPress) {
- QMouseEvent *e = static_cast<QMouseEvent *>(ev);
- if (e->button() == Qt::RightButton)
- return true;
- }
- return QObject::eventFilter(obj, ev);
-}
-
-void GlobeGPS::contextMenuEvent(QContextMenuEvent *ev)
-{
- QMenu m;
- QAction *a = m.addAction(tr("Edit selected dive locations"), this, SLOT(prepareForGetDiveCoordinates()));
- a->setData(QVariant::fromValue<void *>(&m));
- a->setEnabled(current_dive);
- m.exec(ev->globalPos());
-}
-
-void GlobeGPS::mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit unit)
-{
- if (doubleClick) {
- // strangely sometimes we don't get the changeDiveGeoPosition callback
- // and end up here instead
- changeDiveGeoPosition(lon, lat, unit);
- return;
- }
- // don't mess with the selection while the user is editing a dive
- if (MainWindow::instance()->information()->isEditing() || messageWidget->isVisible())
- return;
-
- GeoDataCoordinates here(lon, lat, unit);
- long lon_udeg = lrint(1000000 * here.longitude(GeoDataCoordinates::Degree));
- long lat_udeg = lrint(1000000 * here.latitude(GeoDataCoordinates::Degree));
-
- // distance() is in km above the map.
- // We're going to use that to decide how
- // approximate the dives have to be.
- //
- // Totally arbitrarily I say that 1km
- // distance means that we can resolve
- // to about 100m. Which in turn is about
- // 1000 udeg.
- //
- // Trigonometry is hard, but sin x == x
- // for small x, so let's just do this as
- // a linear thing.
- long resolve = lrint(distance() * 1000);
-
- int idx;
- struct dive *dive;
- bool clear = !(QApplication::keyboardModifiers() & Qt::ControlModifier);
- QList<int> selectedDiveIds;
- for_each_dive (idx, dive) {
- long lat_diff, lon_diff;
- struct dive_site *ds = get_dive_site_for_dive(dive);
- if (!dive_site_has_gps_location(ds))
- continue;
- lat_diff = labs(ds->latitude.udeg - lat_udeg);
- lon_diff = labs(ds->longitude.udeg - lon_udeg);
- if (lat_diff > 180000000)
- lat_diff = 360000000 - lat_diff;
- if (lon_diff > 180000000)
- lon_diff = 180000000 - lon_diff;
- if (lat_diff > resolve || lon_diff > resolve)
- continue;
-
- selectedDiveIds.push_back(idx);
- }
- if (selectedDiveIds.empty())
- return;
- if (clear)
- MainWindow::instance()->dive_list()->unselectDives();
- MainWindow::instance()->dive_list()->selectDives(selectedDiveIds);
-}
-
-void GlobeGPS::repopulateLabels()
-{
- static GeoDataStyle otherSite, currentSite;
- static GeoDataIconStyle darkFlag(QImage(":flagDark")), lightFlag(QImage(":flagLight"));
- struct dive_site *ds;
- int idx;
- QMap<QString, GeoDataPlacemark *> locationMap;
- if (loadedDives) {
- model()->treeModel()->removeDocument(loadedDives);
- delete loadedDives;
- }
- loadedDives = new GeoDataDocument;
- otherSite.setIconStyle(darkFlag);
- currentSite.setIconStyle(lightFlag);
-
- if (displayed_dive_site.uuid && dive_site_has_gps_location(&displayed_dive_site)) {
- GeoDataPlacemark *place = new GeoDataPlacemark(displayed_dive_site.name);
- place->setStyle(&currentSite);
- place->setCoordinate(displayed_dive_site.longitude.udeg / 1000000.0,
- displayed_dive_site.latitude.udeg / 1000000.0, 0, GeoDataCoordinates::Degree);
- locationMap[QString(displayed_dive_site.name)] = place;
- loadedDives->append(place);
- }
- for_each_dive_site(idx, ds) {
- if (ds->uuid == displayed_dive_site.uuid)
- continue;
- if (dive_site_has_gps_location(ds)) {
- GeoDataPlacemark *place = new GeoDataPlacemark(ds->name);
- place->setStyle(&otherSite);
- place->setCoordinate(ds->longitude.udeg / 1000000.0, ds->latitude.udeg / 1000000.0, 0, GeoDataCoordinates::Degree);
-
- // don't add dive locations twice, unless they are at least 50m apart
- if (locationMap[QString(ds->name)]) {
- GeoDataCoordinates existingLocation = locationMap[QString(ds->name)]->coordinate();
- GeoDataLineString segment = GeoDataLineString();
- segment.append(existingLocation);
- GeoDataCoordinates newLocation = place->coordinate();
- segment.append(newLocation);
- double dist = segment.length(6371);
- // the dist is scaled to the radius given - so with 6371km as radius
- // 50m turns into 0.05 as threashold
- if (dist < 0.05)
- continue;
- }
- locationMap[QString(ds->name)] = place;
- loadedDives->append(place);
- }
- }
- model()->treeModel()->addDocument(loadedDives);
-
- struct dive_site *center = displayed_dive_site.uuid != 0 ?
- &displayed_dive_site : current_dive ?
- get_dive_site_by_uuid(current_dive->dive_site_uuid) : NULL;
- if(dive_site_has_gps_location(&displayed_dive_site) && center)
- centerOn(displayed_dive_site.longitude.udeg / 1000000.0, displayed_dive_site.latitude.udeg / 1000000.0, true);
-}
-
-void GlobeGPS::reload()
-{
- editingDiveLocation = false;
- messageWidget->hide();
- repopulateLabels();
-}
-
-void GlobeGPS::centerOnDiveSite(struct dive_site *ds)
-{
- if (!dive_site_has_gps_location(ds)) {
- // this is not intuitive and at times causes trouble - let's comment it out for now
- // zoomOutForNoGPS();
- return;
- }
- qreal longitude = ds->longitude.udeg / 1000000.0;
- qreal latitude = ds->latitude.udeg / 1000000.0;
-
- if(IS_FP_SAME(longitude, centerLongitude()) && IS_FP_SAME(latitude,centerLatitude())) {
- return;
- }
-
- // if no zoom is set up, set the zoom as seen from 3km above
- // if we come back from a dive without GPS data, reset to the last zoom value
- // otherwise check to make sure we aren't still running an animation and then remember
- // the current zoom level
- if (currentZoomLevel == -1) {
- currentZoomLevel = lrint(zoomFromDistance(3.0));
- centerOn(longitude, latitude);
- fixZoom(true);
- return;
- }
- if (!fixZoomTimer->isActive()) {
- if (needResetZoom) {
- needResetZoom = false;
- fixZoom();
- } else if (zoom() >= 1200) {
- currentZoomLevel = zoom();
- }
- }
- // From the marble source code, the maximum time of
- // 'spin and fit' is 2000 miliseconds so wait a bit them zoom again.
- fixZoomTimer->stop();
- if (zoom() < 1200 && IS_FP_SAME(centerLatitude(), latitude) && IS_FP_SAME(centerLongitude(), longitude)) {
- // create a tiny movement
- centerOn(longitude + 0.00001, latitude + 0.00001);
- fixZoomTimer->start(300);
- } else {
- fixZoomTimer->start(2100);
- }
- centerOn(longitude, latitude, true);
-}
-
-void GlobeGPS::fixZoom(bool now)
-{
- setZoom(currentZoomLevel, now ? Marble::Instant : Marble::Linear);
-}
-
-void GlobeGPS::zoomOutForNoGPS()
-{
- // this is called if the dive has no GPS location.
- // zoom out quite a bit to show the globe and remember that the next time
- // we show a dive with GPS location we need to zoom in again
- if (!needResetZoom) {
- needResetZoom = true;
- if (!fixZoomTimer->isActive() && zoom() >= 1500) {
- currentZoomLevel = zoom();
- }
- }
- if (fixZoomTimer->isActive())
- fixZoomTimer->stop();
- // 1000 is supposed to make sure you see the whole globe
- setZoom(1000, Marble::Linear);
-}
-
-void GlobeGPS::endGetDiveCoordinates()
-{
- messageWidget->animatedHide();
- editingDiveLocation = false;
-}
-
-void GlobeGPS::prepareForGetDiveCoordinates()
-{
- messageWidget->setMessageType(KMessageWidget::Warning);
- messageWidget->setText(QObject::tr("Move the map and double-click to set the dive location"));
- messageWidget->setWordWrap(true);
- messageWidget->setCloseButtonVisible(false);
- messageWidget->animatedShow();
- editingDiveLocation = true;
- // this is not intuitive and at times causes trouble - let's comment it out for now
- // if (!dive_has_gps_location(current_dive))
- // zoomOutForNoGPS();
-}
-
-void GlobeGPS::changeDiveGeoPosition(qreal lon, qreal lat, GeoDataCoordinates::Unit unit)
-{
- if (!editingDiveLocation)
- return;
-
- // convert to degrees if in radian.
- if (unit == GeoDataCoordinates::Radian) {
- lon = lon * 180 / M_PI;
- lat = lat * 180 / M_PI;
- }
- centerOn(lon, lat, true);
-
- // change the location of the displayed_dive and put the UI in edit mode
- displayed_dive_site.latitude.udeg = llrint(lat * 1000000.0);
- displayed_dive_site.longitude.udeg = llrint(lon * 1000000.0);
- emit coordinatesChanged();
- repopulateLabels();
-}
-
-void GlobeGPS::mousePressEvent(QMouseEvent *event)
-{
- if (event->type() != QEvent::MouseButtonDblClick)
- return;
-
- qreal lat, lon;
- bool clickOnGlobe = geoCoordinates(event->pos().x(), event->pos().y(), lon, lat, GeoDataCoordinates::Degree);
-
- // there could be two scenarios that got us here; let's check if we are editing a dive
- if (MainWindow::instance()->information()->isEditing() && clickOnGlobe) {
- //
- // FIXME
- // TODO
- //
- // this needs to do this on the dive site screen
- // MainWindow::instance()->information()->updateCoordinatesText(lat, lon);
- repopulateLabels();
- } else if (clickOnGlobe) {
- changeDiveGeoPosition(lon, lat, GeoDataCoordinates::Degree);
- }
-}
-
-void GlobeGPS::resizeEvent(QResizeEvent *event)
-{
- int size = event->size().width();
- MarbleWidget::resizeEvent(event);
- if (size > 600)
- messageWidget->setGeometry((size - 600) / 2, 5, 600, 0);
- else
- messageWidget->setGeometry(5, 5, size - 10, 0);
- messageWidget->setMaximumHeight(500);
-}
-
-void GlobeGPS::centerOnIndex(const QModelIndex& idx)
-{
- struct dive_site *ds = get_dive_site_by_uuid(idx.model()->index(idx.row(), 0).data().toInt());
- if (!ds || !dive_site_has_gps_location(ds))
- centerOnDiveSite(&displayed_dive_site);
- else
- centerOnDiveSite(ds);
-}
-#endif
diff --git a/desktop-widgets/globe.h b/desktop-widgets/globe.h
deleted file mode 100644
index d53c59721..000000000
--- a/desktop-widgets/globe.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#ifndef GLOBE_H
-#define GLOBE_H
-
-#include <stdint.h>
-
-#ifndef NO_MARBLE
-#include <marble/MarbleWidget.h>
-#include <marble/GeoDataCoordinates.h>
-
-#include <QHash>
-
-namespace Marble{
- class GeoDataDocument;
-}
-
-class KMessageWidget;
-using namespace Marble;
-struct dive;
-
-class GlobeGPS : public MarbleWidget {
- Q_OBJECT
-public:
- using MarbleWidget::centerOn;
- static GlobeGPS *instance();
- void reload();
- bool eventFilter(QObject *, QEvent *);
-
-protected:
- /* reimp */ void resizeEvent(QResizeEvent *event);
- /* reimp */ void mousePressEvent(QMouseEvent *event);
- /* reimp */ void contextMenuEvent(QContextMenuEvent *);
-
-private:
- GeoDataDocument *loadedDives;
- KMessageWidget *messageWidget;
- QTimer *fixZoomTimer;
- int currentZoomLevel;
- bool needResetZoom;
- bool editingDiveLocation;
- bool doubleClick;
- GlobeGPS(QWidget *parent = 0);
-
-signals:
- void coordinatesChanged();
-
-public
-slots:
- void repopulateLabels();
- void changeDiveGeoPosition(qreal lon, qreal lat, GeoDataCoordinates::Unit);
- void mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit);
- void fixZoom(bool now = false);
- void zoomOutForNoGPS();
- void prepareForGetDiveCoordinates();
- void endGetDiveCoordinates();
- void centerOnDiveSite(struct dive_site *ds);
- void centerOnIndex(const QModelIndex& idx);
-};
-
-#endif // NO_MARBLE
-
-extern "C" double getDistance(int lat1, int lon1, int lat2, int lon2);
-
-#endif // GLOBE_H
diff --git a/desktop-widgets/locationinformation.cpp b/desktop-widgets/locationinformation.cpp
index 80676b36f..e32222bf4 100644
--- a/desktop-widgets/locationinformation.cpp
+++ b/desktop-widgets/locationinformation.cpp
@@ -4,7 +4,6 @@
#include "desktop-widgets/mainwindow.h"
#include "desktop-widgets/divelistview.h"
#include "core/qthelper.h"
-#include "desktop-widgets/globe.h"
#include "desktop-widgets/mapwidget.h"
#include "qt-models/filtermodels.h"
#include "qt-models/divelocationmodel.h"
@@ -45,16 +44,6 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo
ui.diveSiteListView->setModelColumn(LocationInformationModel::NAME);
ui.diveSiteListView->installEventFilter(this);
// Map Management Code.
-#ifndef NO_MARBLE
- connect(this, &LocationInformationWidget::requestCoordinates,
- GlobeGPS::instance(), &GlobeGPS::prepareForGetDiveCoordinates);
- connect(this, &LocationInformationWidget::endRequestCoordinates,
- GlobeGPS::instance(), &GlobeGPS::endGetDiveCoordinates);
- connect(GlobeGPS::instance(), &GlobeGPS::coordinatesChanged,
- this, &LocationInformationWidget::updateGpsCoordinates);
- connect(this, &LocationInformationWidget::endEditDiveSite,
- GlobeGPS::instance(), &GlobeGPS::repopulateLabels);
-#else
connect(this, &LocationInformationWidget::requestCoordinates,
MapWidget::instance(), &MapWidget::prepareForGetDiveCoordinates);
connect(this, &LocationInformationWidget::endRequestCoordinates,
@@ -63,7 +52,6 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo
this, &LocationInformationWidget::updateGpsCoordinates);
connect(this, &LocationInformationWidget::endEditDiveSite,
MapWidget::instance(), &MapWidget::repopulateLabels);
-#endif
}
bool LocationInformationWidget::eventFilter(QObject *, QEvent *ev)
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index 448a24d28..7b5a0ae40 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -23,7 +23,6 @@
#include "core/planner.h"
#include "qt-models/filtermodels.h"
#include "profile-widget/profilewidget2.h"
-#include "desktop-widgets/globe.h"
#include "core/divecomputer.h"
#include "desktop-widgets/tab-widgets/maintab.h"
#include "desktop-widgets/diveplanner.h"
@@ -104,12 +103,7 @@ MainWindow::MainWindow() : QMainWindow(),
MainTab *mainTab = new MainTab();
DiveListView *diveListView = new DiveListView();
ProfileWidget2 *profileWidget = new ProfileWidget2();
-
-#ifndef NO_MARBLE
- GlobeGPS *mapWidget = GlobeGPS::instance();
-#else
MapWidget *mapWidget = MapWidget::instance();
-#endif
PlannerSettingsWidget *plannerSettings = new PlannerSettingsWidget();
DivePlannerWidget *plannerWidget = new DivePlannerWidget();
@@ -216,11 +210,7 @@ MainWindow::MainWindow() : QMainWindow(),
diveListView->reload(DiveTripModel::TREE);
diveListView->reloadHeaderActions();
diveListView->setFocus();
-#ifndef NO_MARBLE
- GlobeGPS::instance()->reload();
-#else
MapWidget::instance()->reload();
-#endif
diveListView->expand(dive_list()->model()->index(0, 0));
diveListView->scrollTo(dive_list()->model()->index(0, 0), QAbstractItemView::PositionAtCenter);
divePlannerWidget()->settingsChanged();
@@ -429,11 +419,7 @@ void MainWindow::refreshDisplay(bool doRecreateDiveList)
getNotificationWidget()->showNotification(get_error_string(), KMessageWidget::Error);
information()->reload();
TankInfoModel::instance()->update();
-#ifndef NO_MARBLE
- GlobeGPS::instance()->reload();
-#else
MapWidget::instance()->reload();
-#endif
if (doRecreateDiveList)
recreateDiveList();
@@ -504,11 +490,7 @@ void MainWindow::current_dive_changed(int divenr)
graphics()->plotDive();
information()->updateDiveInfo();
configureToolbar();
-#ifndef NO_MARBLE
- GlobeGPS::instance()->reload();
-#else
MapWidget::instance()->reload();
-#endif
}
void MainWindow::on_actionNew_triggered()
@@ -664,11 +646,7 @@ void MainWindow::cleanUpEmpty()
information()->updateDiveInfo(true);
graphics()->setEmptyState();
dive_list()->reload(DiveTripModel::TREE);
-#ifndef NO_MARBLE
- GlobeGPS::instance()->reload();
-#else
MapWidget::instance()->reload();
-#endif
if (!existing_filename)
setTitle(MWTF_DEFAULT);
disableShortcuts();
@@ -1032,11 +1010,7 @@ void MainWindow::on_actionEditDive_triggered()
disableShortcuts();
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::ADD);
graphics()->setAddState();
-#ifndef NO_MARBLE
- GlobeGPS::instance()->endGetDiveCoordinates();
-#else
MapWidget::instance()->endGetDiveCoordinates();
-#endif
setApplicationState("EditDive");
DivePlannerPointsModel::instance()->loadFromDive(current_dive);
information()->enableEdition(MainTab::MANUALLY_ADDED_DIVE);
diff --git a/desktop-widgets/marble/GeoDataTreeModel.h b/desktop-widgets/marble/GeoDataTreeModel.h
deleted file mode 100644
index b6d36b5c3..000000000
--- a/desktop-widgets/marble/GeoDataTreeModel.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// SPDX-License-Identifier: LGPL-2.1+
-//
-// This file is part of the Marble Virtual Globe.
-//
-// This program is free software licensed under the GNU LGPL. You can
-// find a copy of this license in LICENSE.txt in the top directory of
-// the source code.
-//
-// Copyright 2010 Thibaut Gridel <tgridel@free.fr>
-//
-
-#ifndef MARBLE_GEODATATREEMODEL_H
-#define MARBLE_GEODATATREEMODEL_H
-
-// -> does not appear to be needed #include "marble_export.h"
-
-#include <QAbstractItemModel>
-
-class QItemSelectionModel;
-
-namespace Marble
-{
-class GeoDataObject;
-class GeoDataDocument;
-class GeoDataFeature;
-class GeoDataContainer;
-
-
-/**
- * @short The representation of GeoData in a model
- * This class represents all available data given by kml-data files.
- */
-class MARBLE_EXPORT GeoDataTreeModel : public QAbstractItemModel
-{
- Q_OBJECT
-
- public:
-
- /**
- * Creates a new GeoDataTreeModel.
- *
- * @param parent The parent object.
- */
- explicit GeoDataTreeModel( QObject *parent = 0 );
-
- /**
- * Destroys the GeoDataModel.
- */
- ~GeoDataTreeModel();
-
- virtual bool hasChildren( const QModelIndex &parent ) const;
-
- /**
- * Return the number of Items in the Model.
- */
- int rowCount( const QModelIndex &parent = QModelIndex() ) const;
-
- QVariant headerData(int section, Qt::Orientation orientation,
- int role = Qt::DisplayRole) const;
-
- QVariant data( const QModelIndex &index, int role ) const;
-
- QModelIndex index( int row, int column,
- const QModelIndex &parent = QModelIndex() ) const;
-
- QModelIndex index( GeoDataObject* object );
-
- QModelIndex parent( const QModelIndex &index ) const;
-
- int columnCount( const QModelIndex &parent = QModelIndex() ) const;
-
- Qt::ItemFlags flags ( const QModelIndex & index ) const;
-
- bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole );
-
- void reset();
-
- QItemSelectionModel *selectionModel();
-
-public Q_SLOTS:
-
- /**
- * Sets the root document to use. This replaces previously loaded data, if any.
- * @param document The new root document. Ownership retains with the caller,
- * i.e. GeoDataTreeModel will not delete the passed document at its destruction.
- */
- void setRootDocument( GeoDataDocument *document );
- GeoDataDocument* rootDocument();
-
- int addFeature( GeoDataContainer *parent, GeoDataFeature *feature, int row = -1 );
-
- bool removeFeature( GeoDataContainer *parent, int index );
-
- int removeFeature( const GeoDataFeature *feature );
-
- void updateFeature( GeoDataFeature *feature );
-
- int addDocument( GeoDataDocument *document );
-
- void removeDocument( int index );
-
- void removeDocument( GeoDataDocument* document );
-
- void update();
-
-Q_SIGNALS:
- /// insert and remove row don't trigger any signal that proxies forward
- /// this signal will refresh geometry layer and placemark layout
- void removed( GeoDataObject *object );
- void added( GeoDataObject *object );
- private:
- Q_DISABLE_COPY( GeoDataTreeModel )
- class Private;
- Private* const d;
-};
-
-}
-
-#endif // MARBLE_GEODATATREEMODEL_H
diff --git a/desktop-widgets/modeldelegates.cpp b/desktop-widgets/modeldelegates.cpp
index 11ef5ffa5..9ffbe605b 100644
--- a/desktop-widgets/modeldelegates.cpp
+++ b/desktop-widgets/modeldelegates.cpp
@@ -12,9 +12,6 @@
#include "qt-models/weightmodel.h"
#include "qt-models/divetripmodel.h"
#include "core/qthelper.h"
-#ifndef NO_MARBLE
-#include "desktop-widgets/globe.h"
-#endif
#include <QCompleter>
#include <QKeyEvent>
diff --git a/desktop-widgets/subsurfacewebservices.cpp b/desktop-widgets/subsurfacewebservices.cpp
index 6e8f4cecf..371a8475a 100644
--- a/desktop-widgets/subsurfacewebservices.cpp
+++ b/desktop-widgets/subsurfacewebservices.cpp
@@ -5,7 +5,6 @@
#include "desktop-widgets/mainwindow.h"
#include "desktop-widgets/usersurvey.h"
#include "core/divelist.h"
-#include "desktop-widgets/globe.h"
#include "desktop-widgets/mapwidget.h"
#include "desktop-widgets/tab-widgets/maintab.h"
#include "core/display.h"
@@ -482,13 +481,8 @@ void SubsurfaceWebServices::buttonClicked(QAbstractButton *button)
// finally now that all the extra GPS fixes that weren't used have been deleted
// we can update the map
if (changed) {
-#ifndef NO_MARBLE
- GlobeGPS::instance()->repopulateLabels();
- GlobeGPS::instance()->centerOnDiveSite(get_dive_site_by_uuid(current_dive->dive_site_uuid));
-#else
MapWidget::instance()->repopulateLabels();
MapWidget::instance()->centerOnDiveSite(get_dive_site_by_uuid(current_dive->dive_site_uuid));
-#endif
}
} break;
diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp
index 95481df21..ba9a21824 100644
--- a/desktop-widgets/tab-widgets/maintab.cpp
+++ b/desktop-widgets/tab-widgets/maintab.cpp
@@ -7,7 +7,6 @@
*/
#include "desktop-widgets/tab-widgets/maintab.h"
#include "desktop-widgets/mainwindow.h"
-#include "desktop-widgets/globe.h"
#include "desktop-widgets/mapwidget.h"
#include "core/helpers.h"
#include "core/statistics.h"
@@ -72,13 +71,8 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
closeMessage();
connect(ui.editDiveSiteButton, SIGNAL(clicked()), MainWindow::instance(), SIGNAL(startDiveSiteEdit()));
-#ifndef NO_MARBLE
- connect(ui.location, &DiveLocationLineEdit::entered, GlobeGPS::instance(), &GlobeGPS::centerOnIndex);
- connect(ui.location, &DiveLocationLineEdit::currentChanged, GlobeGPS::instance(), &GlobeGPS::centerOnIndex);
-#else
connect(ui.location, &DiveLocationLineEdit::entered, MapWidget::instance(), &MapWidget::centerOnIndex);
connect(ui.location, &DiveLocationLineEdit::currentChanged, MapWidget::instance(), &MapWidget::centerOnIndex);
-#endif
QAction *action = new QAction(tr("Apply changes"), this);
connect(action, SIGNAL(triggered(bool)), this, SLOT(acceptChanges()));
@@ -911,11 +905,7 @@ void MainTab::acceptChanges()
qDebug() << "delete now unused dive site" << ((ds && ds->name) ? ds->name : "without name");
}
delete_dive_site(oldUuid);
-#ifndef NO_MARBLE
- GlobeGPS::instance()->reload();
-#else
MapWidget::instance()->reload();
-#endif
}
// the code above can change the correct uuid for the displayed dive site - and the
// code below triggers an update of the display without re-initializing displayed_dive
@@ -1047,11 +1037,7 @@ void MainTab::rejectChanges()
}
// the user could have edited the location and then canceled the edit
// let's get the correct location back in view
-#ifndef NO_MARBLE
- GlobeGPS::instance()->centerOnDiveSite(get_dive_site_by_uuid(displayed_dive.dive_site_uuid));
-#else
MapWidget::instance()->centerOnDiveSite(get_dive_site_by_uuid(displayed_dive.dive_site_uuid));
-#endif
// show the profile and dive info
MainWindow::instance()->graphics()->replot();
MainWindow::instance()->setEnabledToolbar(true);