<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/profile-widget, branch v4.8.5</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=v4.8.5</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=v4.8.5'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2018-10-20T10:50:52Z</updated>
<entry>
<title>Profile: show correct info box for multiple DCs</title>
<updated>2018-10-20T10:50:52Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2018-10-17T09:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=c9869406301ff72f76b399097f0845fc1102ced1'/>
<id>urn:sha1:c9869406301ff72f76b399097f0845fc1102ced1</id>
<content type='text'>
Update the dive info box when toggling the chosen DC using the
keyboard. The keyboard toggle does not generate a mouse move
event, so this data was not repainted. For this, a
sub-optimization of not repainting when not moving the mouse
had to be removed. This does not impact ant performance
as 99.9999% of the calls of the repaint are caused by mouse
movement anyway.

Fixes: #1802

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>Undo: select dives after add, remove, merge, split dive commands</title>
<updated>2018-10-11T23:22:27Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-08-03T09:35:43Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=7067e335964de97d51381ca9e9b09f7236ffc619'/>
<id>urn:sha1:7067e335964de97d51381ca9e9b09f7236ffc619</id>
<content type='text'>
Select the proper dives after the add, remove, split and merge
dives commands on undo *and* redo. Generally, select the added
dives. For undo of add, remember the pre-addition selection.
For redo of remove, select the closest dive to the first removed
dive.

The biggest part of the commit is the signal-interface between
the dive commands and the dive-list model and dive-list view.
This is done in two steps:
1) To the DiveTripModel in batches of trips. The dive trip model
   transforms the dives into indices.
2) To the DiveListView. The DiveListView has to translate the
   DiveTripModel indexes to actual indexes via its QSortFilterProxy-
   model.

For code-reuse, derive all divelist-changing commands from a new base-class,
which has a flag that describes whether the divelist changed. The helper
functions which add and remove dives are made members of the base class and
set the flag is a selected dive is added or removed.

To properly detect when the current dive was deleted it
became necessary to turn the current dive from an index
to a pointer, because indices are not stable.

Unfortunately, in some cases an index was expected and these
places now have to transform the dive into an index. These
should be converted in due course.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Undo: isolate undo-commands</title>
<updated>2018-10-11T23:22:27Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-07-23T21:41:23Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=43c3885249fb867e7c33c8b3b5846d44e908774f'/>
<id>urn:sha1:43c3885249fb867e7c33c8b3b5846d44e908774f</id>
<content type='text'>
This refactors the undo-commands (which are now only "commands").

- Move everything in namespace Command. This allows shortening of
  names without polluting the global namespace. Moreover, the prefix
  Command:: will immediately signal that the undo-machinery is
  invoked. This is more terse than UndoCommands::instance()-&gt;...
- Remove the Undo in front of the class-names. Creating an "UndoX"
  object to do "X" is paradoxical.
- Create a base class for all commands that defines the Qt-translation
  functions. Thus all translations end up in the "Command" context.
- Add a workToBeDone() function, which signals whether this should be
  added to the UndoStack. Thus the caller doesn't have to check itself
  whether this any work will be done. Note: Qt5.9 introduces "setObsolete"
  which does the same.
- Split into public and internal header files. In the public header
  file only export the function calls, thus hiding all implementation
  details from the caller.
- Split in different translation units: One for the stubs, one for
  the base classes and one for groups of commands. Currently, there
  is only one class of commands: divelist-commands.
- Move the undoStack from the MainWindow class into commands_base.cpp.
  If we want to implement MDI, this can easily be moved into an
  appropriate Document class.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Undo: implement rudimentary support for undo of dive-splitting</title>
<updated>2018-10-11T23:22:27Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-07-20T18:26:06Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=302f6adb79681da3fe53336f1e4c7525f46fd47d'/>
<id>urn:sha1:302f6adb79681da3fe53336f1e4c7525f46fd47d</id>
<content type='text'>
For this, the core functionality of the split_dive() and
split_dive_at_time() functions were split out into new
split_dive_dont_insert() and split_dive_at_time_dont_insert(),
which do not add the new dives to the log. Thus, the undo-command
can take ownership of these dives, without having to remove them
first.

The split-dive functionality is temporarily made desktop-only
until mobile also supports "UndoObjects".

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Mobile: show temperature graph when no gas graph</title>
<updated>2018-10-08T14:50:29Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2018-10-08T08:53:05Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=197ba9b2a42aad0109f535021a6b491b4b9f0a27'/>
<id>urn:sha1:197ba9b2a42aad0109f535021a6b491b4b9f0a27</id>
<content type='text'>
In commit bd0c99dfb71 (display pO2 and Setpoint for CCR dives)
the choice was made: when CCR than never a temperature graph.
While this seems reasonable, there is small group of mCCR
divers that do not log their po2 digitally, so the only po2
they can display is the setpoint that is reported by the used
DC. As this is a bit of a dull flat line, most of these
divers do not display this. And this leaves room on the
small mobile display for the temperature data.

So effectively: show temperature or po2 graphs.

Suggested-by: Peter Zaal &lt;pzaal@xs4all.nl&gt;
Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>Cleanup: reinstate override modifiers</title>
<updated>2018-09-29T22:23:25Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-09-29T20:13:44Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=574065b31430245a66808561b1b95139c4cd19f2'/>
<id>urn:sha1:574065b31430245a66808561b1b95139c4cd19f2</id>
<content type='text'>
This reverts commit 1c4a859c8d0b37b2e938209fe9c4d99e9758327a,
where the override modifiers were removed owing to the noisy
"inconsistent override modifiers" which is default-on in clang.

This warning was disabled in 77577f717f5aad38ea8c4c41c10c181486c4337f,
so we can reinstate the overrides.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>desktop/profile-widget: update signal from _changed to Changed</title>
<updated>2018-09-12T00:22:58Z</updated>
<author>
<name>jan Iversen</name>
<email>jani@apache.org</email>
</author>
<published>2018-09-02T12:20:15Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=1a130ec46188c29f600b5938870092fef75ee067'/>
<id>urn:sha1:1a130ec46188c29f600b5938870092fef75ee067</id>
<content type='text'>
Update connect calls to use Changed from qPref, due to QML demands

Signed-off-by: Jan Iversen &lt;jani@apache.org&gt;
</content>
</entry>
<entry>
<title>Profile: fix SAC calculation for air dives</title>
<updated>2018-09-10T21:23:59Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-09-10T18:40:25Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=6e4a2538968d945d471489270136c4891b47b270'/>
<id>urn:sha1:6e4a2538968d945d471489270136c4891b47b270</id>
<content type='text'>
Commit f5b11daffd6f240268ce78d72c64be43670988ea changed gasmix
arguments and return values to be passed by value instead of
using pointers.

Notably, get_gasmix() is fed a default-value and returns a
new value. In the old code, NULL was passed in in a first
loop iteration and non-NULL was always returned in the first
iteration. Thus, an equality comparison of passed-in an
returned gasmix would always fail in the first loop iteration.

The new code passed in air as default. Now if air was also
returned, then the matching gases were not calculated in
calculate_sac(). To revert to the old behavior, pass in
an invalid gasmix.

Moreover, give names to the invalid and air gasmixes.

Reported-by: tormento &lt;turment@gmail.com&gt;
Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: constify threshold pointers in DiveProfileItem</title>
<updated>2018-09-07T18:03:30Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2018-09-02T20:26:19Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=db57a633d587444a7196c8d4274b8f327e77ceba'/>
<id>urn:sha1:db57a633d587444a7196c8d4274b8f327e77ceba</id>
<content type='text'>
These were pointers into the global prefs object. The user must
not use these to modify the settings, therefore make them
pointers-to-const.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>profilewidget: remove QSettings</title>
<updated>2018-08-25T18:49:47Z</updated>
<author>
<name>jan Iversen</name>
<email>jani@apache.org</email>
</author>
<published>2018-08-15T15:04:51Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=31eb48c3c2e718b17c0986bea184b5325c5f579a'/>
<id>urn:sha1:31eb48c3c2e718b17c0986bea184b5325c5f579a</id>
<content type='text'>
Update profilewidget to use qPrefDisplay (amended variable)

Signed-off-by: Jan Iversen &lt;jani@apache.org&gt;
</content>
</entry>
</feed>
