Untangle Profile from MainWindow: refresh display

Instead of directly calling into the MainWindow, redirect this via a
signal so Subsurface mobile can hook it up as needed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-11-05 12:51:05 -08:00
parent 281a0a945a
commit e28f171731
3 changed files with 5 additions and 2 deletions

View file

@ -1351,7 +1351,8 @@ void ProfileWidget2::deleteCurrentDC()
mark_divelist_changed(true);
// we need to force it since it's likely the same dive and same dc_number - but that's a different dive computer now
MainWindow::instance()->graphics()->plotDive(0, true);
MainWindow::instance()->refreshDisplay();
emit refreshDisplay(true);
}
void ProfileWidget2::makeFirstDC()
@ -1363,7 +1364,7 @@ void ProfileWidget2::makeFirstDC()
// dive list may change).
// As a side benefit, this returns focus to the dive list.
dc_number = 0;
MainWindow::instance()->refreshDisplay();
emit refreshDisplay(true);
}
void ProfileWidget2::hideEvents()

View file

@ -92,6 +92,7 @@ signals:
void showError();
void enableShortcuts();
void disableShortcuts(bool paste);
void refreshDisplay(bool recreateDivelist);
public
slots: // Necessary to call from QAction's signals.

View file

@ -90,6 +90,7 @@ int main(int argc, char **argv)
QObject::connect(m->graphics(), &ProfileWidget2::showError, m, &MainWindow::showError, Qt::AutoConnection);
QObject::connect(m->graphics(), &ProfileWidget2::disableShortcuts, m, &MainWindow::disableShortcuts, Qt::AutoConnection);
QObject::connect(m->graphics(), &ProfileWidget2::enableShortcuts, m, &MainWindow::enableShortcuts, Qt::AutoConnection);
QObject::connect(m->graphics(), &ProfileWidget2::refreshDisplay, m, &MainWindow::refreshDisplay, Qt::AutoConnection);
if (verbose > 0)
print_files();
if (!quit)