From 1e4f744165608d208690531d5ff5da558ccd31d2 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Wed, 28 May 2014 15:43:32 -0300 Subject: Fixes showing the Empty Profile when Add / Plan dive is cancelled. for some reason the next selected dive is NULL after cancelling the plan. I'm investigating. This patch fixes the show of the empty profile and it also untangles some parts of the code, keeping the mainwindow where it should belong : the mainwindow. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/profile/profilewidget2.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'qt-ui/profile') diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index 6cb258060..8f2668767 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -88,7 +88,8 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), rulerItem(new RulerItem2()), isGrayscale(false), printMode(false), - shouldCalculateMaxTime(true) + shouldCalculateMaxTime(true), + backgroundFile(":poster") { memset(&plotInfo, 0, sizeof(plotInfo)); @@ -566,9 +567,9 @@ void ProfileWidget2::mouseReleaseEvent(QMouseEvent *event) void ProfileWidget2::fixBackgroundPos() { + static QPixmap toBeScaled(backgroundFile); if (currentState != EMPTY) return; - QPixmap toBeScaled = QPixmap(backgroundFile); QPixmap p = toBeScaled.scaledToHeight(viewport()->height() - 40, Qt::SmoothTransformation); int x = viewport()->width() / 2 - p.width() / 2; int y = viewport()->height() / 2 - p.height() / 2; @@ -666,7 +667,6 @@ void ProfileWidget2::setEmptyState() currentState = EMPTY; MainWindow::instance()->setToolButtonsEnabled(false); - backgroundFile = QString(":poster"); fixBackgroundPos(); background->setVisible(true); @@ -684,12 +684,14 @@ void ProfileWidget2::setEmptyState() pn2GasItem->setVisible(false); po2GasItem->setVisible(false); pheGasItem->setVisible(false); - Q_FOREACH (DiveCalculatedTissue *tissue, allTissues) { - tissue->setVisible(false); - } - Q_FOREACH (DiveEventItem *event, eventItems) { - event->setVisible(false); - } + + #define HIDE_ALL(TYPE, CONTAINER) \ + Q_FOREACH (TYPE *item, CONTAINER) item->setVisible(false); + HIDE_ALL(DiveCalculatedTissue, allTissues); + HIDE_ALL(DiveEventItem, eventItems); + HIDE_ALL(DiveHandler, handles); + HIDE_ALL(QGraphicsSimpleTextItem, gases); + #undef HIDE_ALL } void ProfileWidget2::setProfileState() @@ -1030,10 +1032,8 @@ void ProfileWidget2::disconnectTemporaryConnections() disconnect(plannerModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(pointsRemoved(const QModelIndex &, int, int))); - - Q_FOREACH (QAction *action, actionsForKeys.values()) { + Q_FOREACH (QAction *action, actionsForKeys.values()) action->setShortcut(QKeySequence()); - } } void ProfileWidget2::pointInserted(const QModelIndex &parent, int start, int end) -- cgit v1.2.3-70-g09d2