<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/qt-ui/profile, branch v4.2.91</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=v4.2.91</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=v4.2.91'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2014-12-04T22:26:47Z</updated>
<entry>
<title>Don't interpolate pressure while dragging waypoints</title>
<updated>2014-12-04T22:26:47Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2014-12-04T15:42:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=aa22e0610c67dd86a54f7d7cab7987c399be4c46'/>
<id>urn:sha1:aa22e0610c67dd86a54f7d7cab7987c399be4c46</id>
<content type='text'>
A profiler session in the planner shows that for deep long dives
a significant amount of CPU time is spent in populate_pressure_information()
which interpolates the cylinder pressure graphs.

This patch introduces a "fast" flag for the replot of the profile
which is active while the mouse button is still pressed and that
suppresses this calculation.

In the future, this flag could be used for other responsiveness tunings
of the plot.

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Context menu entry to change setpoint</title>
<updated>2014-12-01T22:23:45Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2014-11-26T13:22:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=fb265c292994d9afa252b5236a805f84cb0d4554'/>
<id>urn:sha1:fb265c292994d9afa252b5236a805f84cb0d4554</id>
<content type='text'>
This patch adds a context menu entry to add a setpoint change
event. In particular, this can be used to turn a logged dive into
a CCR dive.

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Reset plot info pointer when painting several polyons</title>
<updated>2014-11-24T14:50:19Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2014-11-24T14:43:37Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=4a751750e0e18a6c71ee63930faf91b799c53d0b'/>
<id>urn:sha1:4a751750e0e18a6c71ee63930faf91b799c53d0b</id>
<content type='text'>
For each polygon that we paint we have to step through the
plot_info from the start again.

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Check error code of get_cylider_idx_by_use()</title>
<updated>2014-11-23T00:22:57Z</updated>
<author>
<name>Robert C. Helling</name>
<email>helling@atdotde.de</email>
</author>
<published>2014-11-22T20:07:57Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=13934b0f02a812cc5073ab21f2cbee754ecaee14'/>
<id>urn:sha1:13934b0f02a812cc5073ab21f2cbee754ecaee14</id>
<content type='text'>
If not cylinder with type DILUENT or OXYGEN is defined, this function
returns -1 which should not be used as an index to an array. This
patch adds code to check for this return value and exit gracefully.

On line I marked with a comment. Someone more knowledgeable of that part of
code than me should double check that return is here what we want.

[Dirk Hohndel: fixed small oversight...]

Signed-off-by: Robert C. Helling &lt;helling@atdotde.de&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Profile: adjust tank pressures at gas change (incomplete)</title>
<updated>2014-11-20T00:29:27Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2014-11-20T00:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=3dc864f1b109012042887ddd9b421871c63e1bd8'/>
<id>urn:sha1:3dc864f1b109012042887ddd9b421871c63e1bd8</id>
<content type='text'>
This code sets up the UI that will allow the user to adjust tank pressures
at a gaschange event. The actual changing of the pressure is not
implemented, yet, so this is disabled until someone finds time to do so.

The scenario is this: a tec diver or sidemount diver without pressure
sensors on at least one of their tanks still wants to reasonably
accurately track gas consumption during a dive. The diver takes notes of
the pressures at every tank switch (I find that odd, but apparently some
cave divers indeed do that as they switch back and forth between different
gases) and then wants to adjust the pressures in Subsurface to match those
written down.

One difficulty here is that the first and last pressure of a tank with no
sensor data is still considered "sensor pressure" - this is basically an
implementation detail in the code that is used to do the pressure
interpolation to have constant-SAC pressure plots for tanks without
sensors. So when we check if there is indeed no pressure data available at
the gas change, we can't just work with the interpolated pressure - if
this is the first (or last) time the tank was used, that pressure may be
marked as sensor pressure.

What's missing is the UI to enter the desired new pressure plus the black
magic that actually inserts this into the dive in a way that doesn't break
the assumptions in the rest of the code. I'm running out of time to do
that but wanted to preserve this code so someone can continue this later.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Profile: don't offer to switch to an already active tank</title>
<updated>2014-11-19T22:44:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2014-11-19T22:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=f2a2ded04e89376874b9ec11a7e7a2a9ba8097ff'/>
<id>urn:sha1:f2a2ded04e89376874b9ec11a7e7a2a9ba8097ff</id>
<content type='text'>
Adding a gas change to tank that we are already breathing from makes no
sense, so let's not offer this.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Profile: add helper function to get the sample entry for a mouse position</title>
<updated>2014-11-19T22:40:42Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2014-11-19T22:31:28Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=639e079131126015dff0f745d1b5d3fc51adcecc'/>
<id>urn:sha1:639e079131126015dff0f745d1b5d3fc51adcecc</id>
<content type='text'>
This seems quite useful to have.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Profile: keep the plotInfo in the corresponding member variable</title>
<updated>2014-11-19T22:28:16Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2014-11-19T22:28:16Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=21658383e5c188b588aecab46e827cb90a88bc26'/>
<id>urn:sha1:21658383e5c188b588aecab46e827cb90a88bc26</id>
<content type='text'>
We had the variable. As a pointer. Which we used memset to clear. Ouch -
that smells like some bad cut and paste.

With this change the object keeps the corresponding plotInfo around (just
like some others do) and can use it later. I suspect this code could use
some larger cleanup, but it's a bit too late for this in the development
cycle, I guess. I'm sure I'll regret this in the future...

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Don't offer to add a gas change if there is ony one gas</title>
<updated>2014-11-19T22:15:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2014-11-19T21:03:58Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=76c44dd6a30065e8d6aa9427aaae14f10cebb4a5'/>
<id>urn:sha1:76c44dd6a30065e8d6aa9427aaae14f10cebb4a5</id>
<content type='text'>
In the context menu of the profile it makes no sense to offer the ability
to switch gases unless there is a gas to switch to.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Ruler: fix weird behaviour near x = 0</title>
<updated>2014-11-17T21:04:27Z</updated>
<author>
<name>Lubomir I. Ivanov</name>
<email>neolit123@gmail.com</email>
</author>
<published>2014-11-17T20:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=609036c57031073b6ae7e829c0473815297b8247'/>
<id>urn:sha1:609036c57031073b6ae7e829c0473815297b8247</id>
<content type='text'>
RulerNodeItem2::recalculate() does something which is
apparently not a good idea in combination with
RulerNodeItem2::mouseMoveEvent().

Each time the mouse moves, setPos() is called. Then in
recalculate() the x() value is checked and if less than 0
it's changed to x = 0 (setPos(0, y());).

This last call (setPos(0, y());)
however does not work and the value remains less than zero
leaving one of the ruler points outside of the graph.

To solve the issue we add a silly explicit check if x() &lt; 0
before calling setPos() in RulerNodeItem2::mouseMoveEvent().

The 'x() &gt; timeAxis-&gt;posAtValue(data-&gt;sec)' strangely works
on the other hand.

Signed-off-by: Lubomir I. Ivanov &lt;neolit123@gmail.com&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
</feed>
