summaryrefslogtreecommitdiffstats
path: root/profile-widget
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-05 10:51:12 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-05 13:45:50 -0800
commit000c9cc21c8991682169987ae8f348243ec5008b (patch)
treeaa36fe8cc29b7b5029d10bddb1ac73f554766e62 /profile-widget
parenteb2e76a691ad41806d3ae79a747fc01841c8e78c (diff)
downloadsubsurface-000c9cc21c8991682169987ae8f348243ec5008b.tar.gz
Untangle Profile from MainWindow: turn off tts/ndl calculation
I'm not sure we can ever run into this issue anymore since we stop calculating TTS / NDL past 2 hours, but I guess on a fairly slow CPU this still could take too long. But instead of calling into MainWindow let's just change the setting right here and add a signal to show the notification - that way we can use the appropriate way to make such notifications on the mobile app. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'profile-widget')
-rw-r--r--profile-widget/profilewidget2.cpp11
-rw-r--r--profile-widget/profilewidget2.h1
2 files changed, 8 insertions, 4 deletions
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp
index 6177f5b97..178183d2e 100644
--- a/profile-widget/profilewidget2.cpp
+++ b/profile-widget/profilewidget2.cpp
@@ -24,6 +24,7 @@
#include <QInputDialog>
#include <QDebug>
#include <QWheelEvent>
+#include <QSettings>
#ifndef QT_NO_DEBUG
#include <QTableView>
@@ -690,11 +691,13 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
// OK, how long did this take us? Anything above the second is way too long,
// so if we are calculation TTS / NDL then let's force that off.
if (measureDuration.elapsed() > 1000 && prefs.calcndltts) {
- MainWindow::instance()->turnOffNdlTts();
- MainWindow::instance()->getNotificationWidget()->showNotification(tr("Show NDL / TTS was disabled because of excessive processing time"), KMessageWidget::Error);
+ prefs.calcndltts = false;
+ QSettings s;
+ s.beginGroup("TecDetails");
+ s.setValue("calcndltts", false);
+ report_error(qPrintable(tr("Show NDL / TTS was disabled because of excessive processing time")));
}
- MainWindow::instance()->getNotificationWidget()->showNotification(get_error_string(), KMessageWidget::Error);
-
+ emit showError();
}
void ProfileWidget2::recalcCeiling()
diff --git a/profile-widget/profilewidget2.h b/profile-widget/profilewidget2.h
index 812787b2d..8ac34f625 100644
--- a/profile-widget/profilewidget2.h
+++ b/profile-widget/profilewidget2.h
@@ -89,6 +89,7 @@ public:
signals:
void fontPrintScaleChanged(double scale);
void enableToolbar(bool enable);
+ void showError();
public
slots: // Necessary to call from QAction's signals.