diff options
author | Robert C. Helling <helling@atdotde.de> | 2014-12-13 22:06:52 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-12-17 21:33:55 -0800 |
commit | b72c32da7defdbc0ff3100f13d1688f06770674a (patch) | |
tree | 82d3f3ddb07aacd771bd83a3c515d3ce873968f4 /qt-ui/modeldelegates.cpp | |
parent | 98085e25e55fb09ccaa5e9a934341895d5ffe5e6 (diff) | |
download | subsurface-b72c32da7defdbc0ff3100f13d1688f06770674a.tar.gz |
Turn of replotting while the cylinder type combo box is active
Since replotting is expensive and it is triggered while scrolling
through the list of cylinders, better not do it for improved
user experience and replot only after the combo box loses
focus.
I hope this...
Fixes #768
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/modeldelegates.cpp')
-rw-r--r-- | qt-ui/modeldelegates.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/qt-ui/modeldelegates.cpp b/qt-ui/modeldelegates.cpp index 9720e3f9e..6eac66f87 100644 --- a/qt-ui/modeldelegates.cpp +++ b/qt-ui/modeldelegates.cpp @@ -6,6 +6,8 @@ #include "diveplanner.h" #include "simplewidgets.h" #include "gettextfromc.h" +#include "profile/profilewidget2.h" +#include "mainwindow.h" #include <QtDebug> #include <QPainter> @@ -252,6 +254,14 @@ void TankInfoDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, TankInfoDelegate::TankInfoDelegate(QObject *parent) : ComboBoxDelegate(TankInfoModel::instance(), parent) { + connect(this, SIGNAL(closeEditor(QWidget *, QAbstractItemDelegate::EndEditHint)), + this, SLOT(reenableReplot(QWidget *, QAbstractItemDelegate::EndEditHint))); +} + +void TankInfoDelegate::reenableReplot(QWidget *widget, QAbstractItemDelegate::EndEditHint hint) +{ + MainWindow::instance()->graphics()->setReplot(true); + MainWindow::instance()->graphics()->replot(); } void TankInfoDelegate::revertModelData(QWidget *widget, QAbstractItemDelegate::EndEditHint hint) @@ -275,6 +285,7 @@ QWidget *TankInfoDelegate::createEditor(QWidget *parent, const QStyleOptionViewI currCylinderData.type = copy_string(cyl->type.description); currCylinderData.pressure = cyl->type.workingpressure.mbar; currCylinderData.size = cyl->type.size.mliter; + MainWindow::instance()->graphics()->setReplot(false); return delegate; } |