diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-05-26 17:42:45 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-05-26 21:48:45 -0700 |
commit | ffffccee9362cbbdf05194b48f11fc55b651b847 (patch) | |
tree | 9857d2b74c0ae2f499f3d298daecce176f443054 /qt-ui/locationinformation.cpp | |
parent | ee7e5113723cf40d598ed30a6f8409b5d4504422 (diff) | |
download | subsurface-ffffccee9362cbbdf05194b48f11fc55b651b847.tar.gz |
Filter out the dives that are not at dive_site.
Untested code to filter out dives that are not at the active dive_site.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/locationinformation.cpp')
-rw-r--r-- | qt-ui/locationinformation.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/qt-ui/locationinformation.cpp b/qt-ui/locationinformation.cpp index 7c7e5e297..6e996954b 100644 --- a/qt-ui/locationinformation.cpp +++ b/qt-ui/locationinformation.cpp @@ -4,6 +4,7 @@ #include "divelistview.h" #include "qthelper.h" #include "globe.h" +#include "filtermodels.h" #include <QDebug> #include <QShowEvent> @@ -69,6 +70,8 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo ui.currentLocation->setModel(new LocationInformationModel()); connect(ui.currentLocation, SIGNAL(currentIndexChanged(int)), this, SLOT(setCurrentDiveSite(int))); + connect(this, SIGNAL(startFilterDiveSite(uint32_t)), MultiFilterSortModel::instance(), SLOT(startFilterDiveSite(uint32_t))); + connect(this, SIGNAL(stopFilterDiveSite()), MultiFilterSortModel::instance(), SLOT(stopFilterDiveSite())); } void LocationInformationWidget::setCurrentDiveSite(int dive_nr) @@ -91,7 +94,11 @@ void LocationInformationWidget::setLocationId(uint32_t uuid) if(!currentDs) return; + if (displayed_dive_site.uuid == currentDs->uuid) + return; + displayed_dive_site = *currentDs; + if (ui.currentLocation->currentText() != displayed_dive_site.name) { // this will trigger setCurrentDiveSite again, and thus, // will gethere with the correct uuid. @@ -115,6 +122,8 @@ void LocationInformationWidget::setLocationId(uint32_t uuid) ui.diveSiteCoordinates->setText(printGPSCoords(displayed_dive_site.latitude.udeg, displayed_dive_site.longitude.udeg)); else ui.diveSiteCoordinates->clear(); + + emit startFilterDiveSite(displayed_dive_site.uuid); } void LocationInformationWidget::updateGpsCoordinates() @@ -125,6 +134,7 @@ void LocationInformationWidget::updateGpsCoordinates() void LocationInformationWidget::acceptChanges() { + emit stopFilterDiveSite(); char *uiString; currentDs->latitude = displayed_dive_site.latitude; currentDs->longitude = displayed_dive_site.longitude; @@ -156,6 +166,7 @@ void LocationInformationWidget::acceptChanges() void LocationInformationWidget::rejectChanges() { + emit stopFilterDiveSite(); Q_ASSERT(currentDs != NULL); if (dive_site_is_empty(currentDs)) { delete_dive_site(currentDs->uuid); @@ -169,6 +180,7 @@ void LocationInformationWidget::rejectChanges() void LocationInformationWidget::showEvent(QShowEvent *ev) { + emit startFilterDiveSite(displayed_dive_site.uuid); ui.diveSiteMessage->setCloseButtonVisible(false); QGroupBox::showEvent(ev); } |