diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-03-11 18:54:28 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-11 17:42:42 -0700 |
commit | 9cc942376e3b9b709de9bb9c58f9ae63ab1502e0 (patch) | |
tree | 0f7624af7fec3a6464d24718acec432635f99a1b /qt-ui | |
parent | b758210c193114901fa0698658ef190b2a0d3c94 (diff) | |
download | subsurface-9cc942376e3b9b709de9bb9c58f9ae63ab1502e0.tar.gz |
Only anim if not first dive when openning subsurface with a divelog.
The animation appeared when the user started subsurface with a default
file, wich was a little annoying since it didn't had a 'from' position
to go and it was also increasing it's size on some window managers
that do subtle windows animations when a program starts. This patch
treats the first dive opened when the program loads with a divelog pa
rameter differently as the following ones storing the velocity value
on a temporary, and reassigning it later.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/mainwindow.cpp | 10 | ||||
-rw-r--r-- | qt-ui/mainwindow.h | 3 | ||||
-rw-r--r-- | qt-ui/profile/profilewidget2.cpp | 16 |
3 files changed, 29 insertions, 0 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 34ff4baf4..426e979f7 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -85,6 +85,16 @@ MainWindow::~MainWindow() m_Instance = NULL; } +void MainWindow::setLoadedWithFiles(bool f) +{ + filesAsArguments = f; +} + +bool MainWindow::filesFromCommandLine() const +{ + return filesAsArguments; +} + MainWindow *MainWindow::instance() { return m_Instance; diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h index 70b9793f7..94655e516 100644 --- a/qt-ui/mainwindow.h +++ b/qt-ui/mainwindow.h @@ -78,6 +78,8 @@ public: void cleanUpEmpty(); void setToolButtonsEnabled(bool enabled); ProfileWidget2 *graphics() const; + void setLoadedWithFiles(bool filesFromCommandLine); + bool filesFromCommandLine() const; private slots: /* file menu action */ @@ -165,6 +167,7 @@ private: void saveSplitterSizes(); QString lastUsedDir(); void updateLastUsedDir(const QString &s); + bool filesAsArguments; }; MainWindow *mainWindow(); diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index d03d0dc83..0a4062ec1 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -316,12 +316,23 @@ void ProfileWidget2::setupSceneAndFlags() // Currently just one dive, but the plan is to enable All of the selected dives. void ProfileWidget2::plotDives(QList<dive *> dives) { + static bool firstCall = true; + // I Know that it's a list, but currently we are // using just the first. struct dive *d = dives.first(); if (!d) return; + int animSpeedBackup = -1; + if(firstCall && MainWindow::instance()->filesFromCommandLine()){ + QSettings s; + s.beginGroup("Animations"); + animSpeedBackup = s.value("animation_speed",500).toInt(); + s.setValue("animation_speed",0); + firstCall = false; + } + // restore default zoom level and tooltip position if (zoomLevel) { const qreal defScale = 1.0 / qPow(zoomFactor, (qreal)zoomLevel); @@ -431,6 +442,11 @@ void ProfileWidget2::plotDives(QList<dive *> dives) // qDebug() << event->getEvent()->name << "@" << event->getEvent()->time.seconds; } diveComputerText->setText(currentdc->model); + if (MainWindow::instance()->filesFromCommandLine() && animSpeedBackup != -1){ + QSettings s; + s.beginGroup("Animations"); + s.setValue("animation_speed",animSpeedBackup); + } } void ProfileWidget2::settingsChanged() |