summaryrefslogtreecommitdiffstats
path: root/qt-ui/mainwindow.cpp
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2013-07-05 15:33:51 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-07-05 07:38:29 -0700
commitf3b81ab54db63d7449180cabd4a3d875d7d76792 (patch)
tree8631d1ec5d12d57a3989c9fd8076dcf434ab2e58 /qt-ui/mainwindow.cpp
parent2e26de5ae6bd3300153be89de080d12f4c60cfcf (diff)
downloadsubsurface-f3b81ab54db63d7449180cabd4a3d875d7d76792.tar.gz
Profile: prevent a bug when switching views
While in zoomed mode and when resizing the splitters or switching views the profile tooltip can end up being at the wrong location and also the zoom state becomes corrupt, so perhaps the entire transformation needs to be reset. To prevent the bug we listen for relevent to the profile splitter resize event, view changes and clear()/plot() the entire profile graphics. This is an slow/expensive solution and perhaps there are cheaper alternatives e.g. updating only the scene rectangle and tooltip, somehow. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/mainwindow.cpp')
-rw-r--r--qt-ui/mainwindow.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 5bf190e78..c0cdc9eb5 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -81,7 +81,7 @@ void MainWindow::current_dive_changed(int divenr)
void MainWindow::redrawProfile()
{
- ui->ProfileWidget->plot(get_dive(selected_dive));
+ ui->ProfileWidget->refresh();
}
void MainWindow::on_actionNew_triggered()
@@ -316,10 +316,16 @@ void MainWindow::on_actionYearlyStatistics_triggered()
view->show();
}
+void MainWindow::on_mainSplitter_splitterMoved(int pos, int idx)
+{
+ redrawProfile();
+}
+
void MainWindow::on_infoProfileSplitter_splitterMoved(int pos, int idx)
{
/* always update the floating plus sign icons in the equipment tab */
ui->InfoWidget->equipmentPlusUpdate();
+ redrawProfile();
}
/**
@@ -345,6 +351,7 @@ void MainWindow::on_actionViewProfile_triggered()
{
ui->infoProfileSplitter->setSizes(BEHAVIOR << COLLAPSED << EXPANDED);
ui->mainSplitter->setSizes( BEHAVIOR << EXPANDED << COLLAPSED);
+ redrawProfile();
}
void MainWindow::on_actionViewInfo_triggered()
@@ -370,6 +377,7 @@ void MainWindow::on_actionViewAll_triggered()
// half and half?
ui->mainSplitter->setSizes( QList<int>() << 1 << 1);
+ redrawProfile();
}
void MainWindow::on_actionPreviousDC_triggered()