Do not set maxTime when the handler is moving.

Fixes massive cpu hog.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-05-26 17:51:46 -03:00 committed by Dirk Hohndel
parent fe2eb1a9fc
commit addec6b69f
2 changed files with 24 additions and 3 deletions

View file

@ -87,7 +87,8 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent),
heartBeatItem(new DiveHeartrateItem()),
rulerItem(new RulerItem2()),
isGrayscale(false),
printMode(false)
printMode(false),
shouldCalculateMaxTime(true)
{
memset(&plotInfo, 0, sizeof(plotInfo));
@ -421,7 +422,8 @@ void ProfileWidget2::plotDives(QList<dive *> dives)
*/
struct plot_info pInfo = calculate_max_limits_new(d, currentdc);
create_plot_info_new(d, currentdc, &pInfo);
int maxtime = get_maxtime(&pInfo);
if(shouldCalculateMaxTime)
maxtime = get_maxtime(&pInfo);
int maxdepth = get_maxdepth(&pInfo);
dataModel->setDive(d, pInfo);
@ -546,6 +548,22 @@ void ProfileWidget2::resizeEvent(QResizeEvent *event)
fixBackgroundPos();
}
void ProfileWidget2::mousePressEvent(QMouseEvent *event)
{
QGraphicsView::mousePressEvent(event);
if(currentState == PLAN)
shouldCalculateMaxTime = false;
}
void ProfileWidget2::mouseReleaseEvent(QMouseEvent *event)
{
QGraphicsView::mouseReleaseEvent(event);
if(currentState == PLAN){
shouldCalculateMaxTime = true;
replot();
}
}
void ProfileWidget2::fixBackgroundPos()
{
if (currentState != EMPTY)