diff options
author | Henrik Brautaset Aronsen <subsurface@henrik.synth.no> | 2013-05-24 21:15:49 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-05-25 08:17:14 -0700 |
commit | 5d05bb120716707ae0438f5a0395759bbf740fe1 (patch) | |
tree | 5e3af3656ffa7bf85e7b1a7d4787c10d63eae67f /qt-ui/globe.cpp | |
parent | 884e1c337981ba98a3a29c398cf1ab847009e954 (diff) | |
download | subsurface-5d05bb120716707ae0438f5a0395759bbf740fe1.tar.gz |
Avoid marble widget resize when switching dives
The "no dive location" message box was displayed above the marble
widget, which made the layout splitter move horizontally.
Made the message box as an overlay on the map instead.
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/globe.cpp')
-rw-r--r-- | qt-ui/globe.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/qt-ui/globe.cpp b/qt-ui/globe.cpp index 19dbb048b..95db19083 100644 --- a/qt-ui/globe.cpp +++ b/qt-ui/globe.cpp @@ -18,6 +18,9 @@ GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0) { + messageWidget = new KMessageWidget(this); + messageWidget->setCloseButtonVisible(false); + messageWidget->setHidden(true); setMapThemeId("earth/googlesat/googlesat.dgml"); //setMapThemeId("earth/openstreetmap/openstreetmap.dgml"); @@ -51,8 +54,6 @@ void GlobeGPS::reload() editingDiveCoords = 0; } - messageWidget->animatedHide(); - loadedDives = new GeoDataDocument; diveLocations.clear(); @@ -132,9 +133,16 @@ void GlobeGPS::mousePressEvent(QMouseEvent* event) } } -void GlobeGPS::setMessageWidget(KMessageWidget* globeMessage) +void GlobeGPS::resizeEvent(QResizeEvent* event) { - messageWidget = globeMessage; -} + int size = event->size().width(); + MarbleWidget::resizeEvent(event); + if (size > 600) + messageWidget->setGeometry((size - 600) / 2, 5, 600, 0); + else + messageWidget->setGeometry(5, 5, size - 10, 0); + + messageWidget->setMaximumHeight(500); +} |