aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2014-03-11 18:54:28 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-03-11 17:42:42 -0700
commit9cc942376e3b9b709de9bb9c58f9ae63ab1502e0 (patch)
tree0f7624af7fec3a6464d24718acec432635f99a1b /qt-ui
parentb758210c193114901fa0698658ef190b2a0d3c94 (diff)
downloadsubsurface-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.cpp10
-rw-r--r--qt-ui/mainwindow.h3
-rw-r--r--qt-ui/profile/profilewidget2.cpp16
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()