Change API signature to act on dive_site, not uuid

This way in the future we can pass in a pointer to a dive site that isn't
linked in our dive site list yet (i.e., while we are editing).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-07-16 12:41:04 -07:00
parent f98ace681a
commit 076f86202a
7 changed files with 8 additions and 10 deletions

View file

@ -242,10 +242,8 @@ void GlobeGPS::reload()
repopulateLabels();
}
void GlobeGPS::centerOnDiveSite(uint32_t uuid)
void GlobeGPS::centerOnDiveSite(struct dive_site *ds)
{
struct dive_site *ds = get_dive_site_by_uuid(uuid);
if (!dive_site_has_gps_location(ds)) {
zoomOutForNoGPS();
return;

View file

@ -51,7 +51,7 @@ slots:
void zoomOutForNoGPS();
void prepareForGetDiveCoordinates();
void endGetDiveCoordinates();
void centerOnDiveSite(uint32_t uuid);
void centerOnDiveSite(struct dive_site *ds);
};
#else // NO_MARBLE

View file

@ -759,7 +759,7 @@ void MainTab::updateDiveInfo(bool clear)
ui.cylinders->view()->hideColumn(CylindersModel::USE);
qDebug() << "Set the current dive site:" << displayed_dive.dive_site_uuid;
emit diveSiteChanged(displayed_dive.dive_site_uuid);
emit diveSiteChanged(get_dive_site_by_uuid(displayed_dive.dive_site_uuid));
}
void MainTab::addCylinder_clicked()
@ -1195,7 +1195,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
MainWindow::instance()->globe()->centerOnDiveSite(displayed_dive.dive_site_uuid);
MainWindow::instance()->globe()->centerOnDiveSite(get_dive_site_by_uuid(displayed_dive.dive_site_uuid));
MainWindow::instance()->globe()->reload();
#endif
// show the profile and dive info

View file

@ -58,7 +58,7 @@ public:
signals:
void addDiveFinished();
void dateTimeChanged();
void diveSiteChanged(uint32_t uuid);
void diveSiteChanged(struct dive_site * ds);
public
slots:
void addCylinder_clicked();

View file

@ -138,7 +138,7 @@ MainWindow::MainWindow() : QMainWindow(),
connect(DivePlannerPointsModel::instance(), SIGNAL(planCanceled()), this, SLOT(planCanceled()));
connect(plannerDetails->printPlan(), SIGNAL(pressed()), divePlannerWidget(), SLOT(printDecoPlan()));
#ifndef NO_MARBLE
connect(information(), SIGNAL(diveSiteChanged(uint32_t)), globeGps, SLOT(centerOnDiveSite(uint32_t)));
connect(information(), SIGNAL(diveSiteChanged(struct dive_site *)), globeGps, SLOT(centerOnDiveSite(struct dive_site *)));
#endif
wtu = new WindowTitleUpdate();
connect(WindowTitleUpdate::instance(), SIGNAL(updateTitle()), this, SLOT(setAutomaticTitle()));

View file

@ -533,7 +533,7 @@ void LocationFilterDelegate::paint(QPainter *painter, const QStyleOptionViewItem
#ifndef NO_MARBLE
if ((option.state & QStyle::State_HasFocus) && dive_site_has_gps_location(ds)) {
qDebug() << "center on" << ds->name;
MainWindow::instance()->globe()->centerOnDiveSite(ds->uuid);
MainWindow::instance()->globe()->centerOnDiveSite(ds);
}
#endif

View file

@ -419,7 +419,7 @@ void SubsurfaceWebServices::buttonClicked(QAbstractButton *button)
// we can update the globe
if (changed) {
MainWindow::instance()->globe()->repopulateLabels();
MainWindow::instance()->globe()->centerOnDiveSite(current_dive->dive_site_uuid);
MainWindow::instance()->globe()->centerOnDiveSite(get_dive_site_by_uuid(current_dive->dive_site_uuid));
}
#endif