From 9ead871d6456f8f19f6f0fe2413513ef4449253d Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 11 Nov 2013 06:23:18 +0900 Subject: Stop clicks on the globe from changing dive list selection while editing This caused us to get royally confused when manually adding a dive and trying to set the location through the marble widget. Fixes # 229 Signed-off-by: Dirk Hohndel --- qt-ui/globe.cpp | 4 ++++ qt-ui/maintab.cpp | 5 +++++ qt-ui/maintab.h | 1 + 3 files changed, 10 insertions(+) diff --git a/qt-ui/globe.cpp b/qt-ui/globe.cpp index c2ae56536..9e733cefc 100644 --- a/qt-ui/globe.cpp +++ b/qt-ui/globe.cpp @@ -71,6 +71,10 @@ GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0) void GlobeGPS::mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit unit) { + // don't mess with the selection while the user is editing a dive + if (mainWindow()->information()->isEditing()) + return; + GeoDataCoordinates here(lon, lat, unit); long lon_udeg = rint(1000000 * here.longitude(GeoDataCoordinates::Degree)); long lat_udeg = rint(1000000 * here.latitude(GeoDataCoordinates::Degree)); diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 6c071d911..0c0d99a35 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -253,6 +253,11 @@ void MainTab::clearStats() else \ ui.field->setText(get_temperature_string(d->field, TRUE)) +bool MainTab::isEditing() +{ + return editMode != NONE; +} + void MainTab::updateDiveInfo(int dive) { if (!isEnabled() && dive != -1) diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index 68803c02d..341a282e8 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -58,6 +58,7 @@ public: bool eventFilter(QObject* , QEvent*); void initialUiSetup(); void equipmentPlusUpdate(); + bool isEditing(); public slots: void addCylinder_clicked(); void addWeight_clicked(); -- cgit v1.2.3-70-g09d2