Correctly connect the maintab to dive site management

We now have a working uuid - use it. And populate the fields accordingly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-02-12 02:04:20 -08:00
parent 5c4d266060
commit 0e6345f65b
6 changed files with 15 additions and 19 deletions

View file

@ -214,10 +214,9 @@ MainTab::~MainTab()
}
void MainTab::prepareDiveSiteEdit() {
//TODO: GET THE CORRECT DIVESITE UUID HERE
QUuid id = QUuid::createUuid();
emit requestDiveSiteEdit(id);
emit requestDiveSiteEdit(displayed_dive.dive_site_uuid);
}
void MainTab::toggleTriggeredColumn()
{
QAction *action = qobject_cast<QAction *>(sender());

View file

@ -56,7 +56,7 @@ public:
signals:
void addDiveFinished();
void dateTimeChanged();
void requestDiveSiteEdit(QUuid diveSiteId);
void requestDiveSiteEdit(uint32_t uuid);
public
slots:
void addCylinder_clicked();

View file

@ -111,7 +111,7 @@ MainWindow::MainWindow() : QMainWindow(),
connect(DivePlannerPointsModel::instance(), SIGNAL(planCreated()), this, SLOT(planCreated()));
connect(DivePlannerPointsModel::instance(), SIGNAL(planCanceled()), this, SLOT(planCanceled()));
connect(plannerDetails->printPlan(), SIGNAL(pressed()), divePlannerWidget(), SLOT(printDecoPlan()));
connect(mainTab, SIGNAL(requestDiveSiteEdit(QUuid)), this, SLOT(enableDiveSiteEdit(QUuid)));
connect(mainTab, SIGNAL(requestDiveSiteEdit(uint32_t)), this, SLOT(enableDiveSiteEdit(uint32_t)));
connect(locationInformation, SIGNAL(informationManagementEnded()), this, SLOT(setDefaultState()));
#ifdef NO_PRINTING
ui.printPlan->hide();
@ -214,9 +214,8 @@ LocationInformationWidget *MainWindow::locationInformationWidget() {
return qobject_cast<LocationInformationWidget*>(applicationState["EditDiveSite"].topLeft);
}
void MainWindow::enableDiveSiteEdit(QUuid id) {
locationInformationWidget()->setLocationName(current_dive->location);
locationInformationWidget()->setLocationCoords(printGPSCoords(current_dive->latitude.udeg, current_dive->longitude.udeg));
void MainWindow::enableDiveSiteEdit(uint32_t id) {
locationInformationWidget()->setLocationId(id);
setApplicationState("EditDiveSite");
}

View file

@ -160,7 +160,7 @@ slots:
void on_paste_triggered();
void on_actionFilterTags_triggered();
void on_actionConfigure_Dive_Computer_triggered();
void enableDiveSiteEdit(QUuid id);
void enableDiveSiteEdit(uint32_t id);
void setDefaultState();
protected:

View file

@ -665,14 +665,13 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo
ui.diveSiteMessage->addAction(action);
}
void LocationInformationWidget::setLocationName(const QString& name)
void LocationInformationWidget::setLocationId(uint32_t uuid)
{
ui.diveSiteName->setText(name);
}
void LocationInformationWidget::setLocationCoords(const QString& coords)
{
ui.diveSiteCoordinates->setText(coords);
currentDs = get_dive_site_by_uuid(uuid);
ui.diveSiteName->setText(currentDs->name);
ui.diveSiteDescription->setText(currentDs->description);
ui.diveSiteNotes->setPlainText(currentDs->notes);
ui.diveSiteCoordinates->setText(printGPSCoords(currentDs->latitude.udeg, currentDs->longitude.udeg));
}
void LocationInformationWidget::acceptChanges()

View file

@ -228,14 +228,13 @@ public slots:
void showEvent(QShowEvent *);
/* change that to setLocationSite(QUuid diveSiteUid or something later */
void setLocationName(const QString& name);
void setLocationCoords(const QString& coords);
void setLocationId(uint32_t uuid);
signals:
void informationManagementEnded();
private:
struct dive_site *currentDs;
Ui::LocationInformation ui;
};