summaryrefslogtreecommitdiffstats
path: root/qt-ui/modeldelegates.cpp
diff options
context:
space:
mode:
authorGravatar Robert C. Helling <helling@atdotde.de>2014-12-13 22:06:52 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-12-17 21:33:55 -0800
commitb72c32da7defdbc0ff3100f13d1688f06770674a (patch)
tree82d3f3ddb07aacd771bd83a3c515d3ce873968f4 /qt-ui/modeldelegates.cpp
parent98085e25e55fb09ccaa5e9a934341895d5ffe5e6 (diff)
downloadsubsurface-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.cpp11
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;
}