From 870f4e873d69e19064e115a05f9b37a8e99a51af Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Date: Thu, 30 Jul 2015 21:32:50 -0300
Subject: [PATCH 03/10] Correctly update the dive when the user edits dive_site

We didn't correctly updated the dive site as soon as the
dive_site edition finished, and this time we are actually
correctly updating things using signals instead of calling
them mainwindow for everythign.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
---
 qt-ui/maintab.cpp    | 7 +++++++
 qt-ui/maintab.h      | 1 +
 qt-ui/mainwindow.cpp | 3 +++
 3 files changed, 11 insertions(+)

diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index fd78a10..4b6f961 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -451,6 +451,13 @@ void MainTab::showLocation()
 		ui.location->clear();
 }
 
+// Seems wrong, since we can also call updateDiveInfo(), but since the updateDiveInfo
+// has a parameter on it's definition it didn't worked on the signal slot connection.
+void MainTab::refreshDiveInfo()
+{
+	updateDiveInfo();
+}
+
 void MainTab::updateDiveInfo(bool clear)
 {
 	// I don't like this code here - but globe() wasn't initialized on the constructor.
diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h
index be38ecf..4c64b0b 100644
--- a/qt-ui/maintab.h
+++ b/qt-ui/maintab.h
@@ -63,6 +63,7 @@ public
 slots:
 	void addCylinder_clicked();
 	void addWeight_clicked();
+	void refreshDiveInfo();
 	void updateDiveInfo(bool clear = false);
 	void acceptChanges();
 	void rejectChanges();
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index d6ad235..e7d53e5 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -114,6 +114,9 @@ MainWindow::MainWindow() : QMainWindow(),
 	connect(diveSiteEdit, &LocationInformationWidget::endEditDiveSite,
 			this, &MainWindow::setDefaultState);
 
+	connect(diveSiteEdit, &LocationInformationWidget::endEditDiveSite,
+			mainTab, &MainTab::refreshDiveInfo);
+
 	QWidget *diveSitePictures = new QWidget(); // Placeholder
 
 	registerApplicationState("Default", mainTab, profileContainer, diveListView, globeGps );
-- 
2.3.2 (Apple Git-55)

