diff options
author | Tomaz Canabrava <tomaz.canabrava@gmail.com> | 2015-07-30 21:32:50 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-07-31 10:27:16 -0700 |
commit | 9130ff8a97ea73e92dccd68f8107f441cb0a3f7e (patch) | |
tree | dc8a2bd597a5ef066cd5fa919ac4daa3d581c286 | |
parent | 7834341562758ba22f46c5cca4f509987db611f1 (diff) | |
download | subsurface-9130ff8a97ea73e92dccd68f8107f441cb0a3f7e.tar.gz |
Correctly update the dive when the user edits dive_site
We didn't correctly update the dive site as soon as the
dive_site edit finished, and this time we are actually
correctly updating things using signals instead of calling
the mainwindow for everything.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/maintab.cpp | 7 | ||||
-rw-r--r-- | qt-ui/maintab.h | 1 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index fd78a10d7..4b6f961c1 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 be38ecf61..4c64b0b15 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 d6ad23584..e7d53e550 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 ); |