summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-06-10Picture handling: when zooming thumbnail, put it in the foregroundGravatar Dirk Hohndel
This just seems to look much better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-10Planner: don't reset GF when preferences changeGravatar Dirk Hohndel
The planner has its own view of the gradient factors. So replacing those with the ones set up for viewing dives in the preferences is wrong. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-10Planner: show the GF used for planning on top of the profileGravatar Dirk Hohndel
Showing the GF in the preferences is just confusing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-10Planner: reset GFlow and GFhigh when we're doneGravatar Dirk Hohndel
While planning we might change the gradient factors. Make sure they are back to what's in the preferences when we're done planning. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-10Planner: use the actual setting for GF low at max depthGravatar Dirk Hohndel
Using the default_prefs value makes no sense. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Add gas consumption statistic for selected divesGravatar Dirk Hohndel
We already did a list of gases and volume consumed for the selected dive on the Dive Info tab, but did not provide that same data on the Stats tab for all the selected dives. I arbitrary limited this to eight gases (as the list can get quite long when you select a lot of dives). The gases are sorted by volume consumed. Fixes #535 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Don't show the average depth for the selected divesGravatar Dirk Hohndel
Being shown between the deepest and shallowest dive's max depth it confuses a lot of people - the average depth is frequently less than the shallowest of the dives, so at first glance it looks like the "average" is less than the "minimum". So having three numbers grouped like this that use different algorithms is just distracting. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09planner.c: prevent an uninitialized warningGravatar Lubomir I. Ivanov
"warning: 'bottom_time' may be used uninitialized in this function" we set it to zero for now. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09profilewidget2: fix -Wreorder warningsGravatar Lubomir I. Ivanov
warning: 'ProfileWidget2::someVariableName' will be initialized after [-Wreorder] Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09mainwindow.cpp: fix a warning about parenthesesGravatar Lubomir I. Ivanov
"warning: suggest parentheses around assignment used as truth value [-Wparentheses]" I think 4.8.2 is confused about this one, but we suppress it regardless by separating into two assignments. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09qt-gui.cpp: add another QT_VERSION checkGravatar Lubomir I. Ivanov
encodeUtf8() and decodeUtf8() are only used for Q_OS_WIN in init_ui(), but also that branch is wrapped in a "#if QT_VERSION < 0x050000" we do the same for the actual function declarations. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09planner.c: use implicit struct initializerGravatar Lubomir I. Ivanov
We should either use mplicit struct initializers (empty braces { } or double braced zero {{ 0 }}) or memset the struct. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09windows.c: prevent a warning due to #define _WIN32_WINNT...Gravatar Lubomir I. Ivanov
mingw 4.8.2 complains: warning: "_WIN32_WINNT" redefined 0x500 suits our needs windows.c wise. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Make sure Windows can find the user manualGravatar Dirk Hohndel
This worked before without the "file:///" prefix, but something else that I did broke that. Oh well, now it works again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Fix incorrect argument order for %.*fGravatar Dirk Hohndel
Strangely, *prinf() on Linux appears to do the right thing in either order (my guess is based on the type of the two values?), but on Windows things go badly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Dive edit: do a better job noticing when the coordinates were changedGravatar Dirk Hohndel
Previously the code could get confused by edits (including trivial things like deleting the coordinates). It seems much more reliable to simply compare the coordinates of the edited dive with the ones in the current dive before the edits. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Picture handling: switch to stronger typed offsetGravatar Dirk Hohndel
Also change the on file XML to be even easier to read by making it a duration as well (which gets us '32:34 min' instead of un-typed seconds). This is backwards compatible, it will happily read what was written with the previous commit). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-09Picture handling: parse and convert old style picture eventsGravatar Dirk Hohndel
Speacial case handling for event type '123' to instead add a picture to the picture_list of the dive. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Change character for liter in SAC values as wellGravatar Dirk Hohndel
And fix the bug that in the info overlay SAC was always given in metric values. And try to reduce the number of places in which we calculate the unit conversions... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Really display liters with script elGravatar Dirk Hohndel
In commit 125ddd955c04 ("Display liters with script el") Robert only fixed the C routine we use to show units. Strangely, we had a separately implemented C++ function as well. Instead of implementing this in two spots I now simply have the C++ function use the C function to do the actual work and then wrap this into an easier to use (from UI code) QString output. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Planner: incease step size in deco ascends to 3 secondsGravatar Robert C. Helling
Triple time step in deco ascents to improve responsiveness of interactive deco calculation. [Dirk Hohndel: split commit into two] Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Display liters with script elGravatar Robert C. Helling
Use script ell instead of 'l' for liters to avoid confusion with digit 1. Let's hope that this glyph is available in the common fonts, otherwise we'll have to revert it. [Dirk Hohndel: split commit into two] Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Simplify the code that checks if it's OK to close the current fileGravatar Dirk Hohndel
And make sure it gets called whenever it needs to get called - it was missing from the openRecentFile case. Fixes #530 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Pick the correct API function name for Qt5Gravatar Dirk Hohndel
Subtle change in function name from Qt4 to Qt5 setAcceptsHoverEvents -> setAcceptHoverEvents Now Subsurface builds with Qt5 again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: parse XML dataGravatar Dirk Hohndel
Using XML data files we can now save picture data and load it back in again. The corresponding code for save-git and load-git is still missing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: change data structure to store offset instead timestampGravatar Dirk Hohndel
It makes no sense to store a 64bit time stamp with every picture. Even the 32bit offset (in seconds) from the dive start is WAY overkill. But switching to that makes the code much more simple in a number of spots. And makes what is saved to the XML file easier to read, too. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: stagger the picturesGravatar Dirk Hohndel
If the pictures are too close to each other, spread them out a bit more. This seems to give a reasonably pleasant layout. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: keep picture list sortedGravatar Dirk Hohndel
And simplify the list handling algorithm. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: put the picture near its correct time during the diveGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: don't add the same picture more than onceGravatar Dirk Hohndel
It confuses us elsewhere (the model suddenly doesn't match the list of pictures as the model doesn't reflect the duplicate pictures). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Picture handling: adjust timestamp after it's setGravatar Dirk Hohndel
We need to first parse the exif and then adjust the timestamp. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Rotate the picture around -4 and 4 degrees.Gravatar Tomaz Canabrava
This patch rotates the picture a bit, so it looks like it was splattered around the profile. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Add a drop shadow on the pictureGravatar Tomaz Canabrava
This patch adds a drop shadow on the picture. a real blurry shadow could be much better, but without OpenGL it's too costly to calculate the shadow for each picture. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Add a nice white rectangle around the pictureGravatar Tomaz Canabrava
This makes the picture looks a bit more like a real paper picture shadow's missing, though. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Subtle animation when the picture gets hovered with the mouse.Gravatar Tomaz Canabrava
This patch adds a subtle animation when the picture gets hovered with the mouse, and restored to it's original size when mouse exits the image area. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Add a scaleTo animationGravatar Tomaz Canabrava
ScaleTo animation will scale or shrinks an graphical element in an animated way. This is going primarelly to be used on the pictures on the profile, but can be used on anything else later. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Save the timestamp of the dive.Gravatar Tomaz Canabrava
Save the timestamp of the dive if it exists in the data provided by the exif library. [Dirk Hohndel: fixed whitespace and format specifier] Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Attempt at telling Makefile how to build the user manualGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Make make clean also clean in the doc subdirGravatar Thiago Macieira
Also add reminder comments for creating debug builds on Windows Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Gas was printed in permille, use gasname insteadGravatar Anton Lundin
After the switch to a central event decoder and just return gasmix from that we printed things in permille, eg. EAN1000 and 180/550 which looks kinda strange. This fixes that by using gasname instead to give the gas a name. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Fix out of tree building without asciidocGravatar Anton Lundin
We tried to copy the .html.git file from the out of tree build dir, not from the source dir. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08HTML export: fix packaging of theme dirGravatar Dirk Hohndel
I was confused by the function name getSubsurfaceDataPath() - it does not find paths relative to the "data" folder, if finds the path where we might install folders like "data", "translations", or "theme". "data" is for some reason where we install the "marbledata" files. Therefore on both Mac and Windows we need to put the "theme" directory next to the "data" directory, not below it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08Correctly test QString for being emptyGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-07Ignore user-manual_es.htmlGravatar Cristian Ionescu-Idbohrn
Some 'clean' Makefile target should remove the generated user-manual_es.html too. Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-07Make parse-xml callbacks be type-safeGravatar Linus Torvalds
.. and fix the type breakage brought in by commit eaf6d564874a ("CCR code: Change to sample structure") The XML parsing callbacks pass a "void *" around, because the helper function that matches the XML node names ("match()") does so for all the different dive/sample/dc member nodes that all have different types. But that also hid the fact that it very much depended on the various types being regular "int" etc, rather than the denser types that were introduced so that the CCR data wouldn't expand memory use excessively. As a result, XML loading would overwrite other members, and possibly even the allocation, when it wrote an "int" value to something that only was a 8-bit allocation. I left the "utf8_string()" without type checking - so it still uses "void *_res" for the result type, with the cast happening inside the function. That's because the result destination ends up being a bit mixed-up wrt "const char **" and just plain "char **". Note that the thing we modify itself isn't const (it's not "char *const *"), but the pointer, but we basically sometimes assign a "const char *", and sometimes a "char *". I considered making two different versions of the callback, but it just wasn't worth it. So "utf8_string()" users still aren't type-checked, and you'd better give it a pointer to something that is some kind of "char *" This patch doesn't really change the calling convention of the matching function itself, but it makes the wrapper macro ("MATCH()") take a properly type-checked function pointer instead (with a dummy call to do type checking), and then casts the pointer to the "void *" type for the actual real call. The function pointer call is not really portable (although it works on all sane architectures, particularly since the cast only changes one argument from one type of pointer to another), and to make matters worse uses the gcc statement-expression extension. But all the compilers we use seem to support that gcc'ism, so in practice this gives us type-safety with no downsides. (If we ever want to use MSVC to compile subsurface, I suspect we'll have to ifdef out the statement expression use and not type-check things. Or perhaps re-write the thing as a ternary expression instead, or something). Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-07Build tools: allow debuggable cross builds for WindowsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-07Typo in subsurface.pro prevents a clean build on Mac.Gravatar Joakim Bygdell
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-06User manual: install English and localized copiesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-06User manual: show a localized version of the manual if it existsGravatar Dirk Hohndel
So far we only have Spanish, but it always pays to plan ahead. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-06User manual: add html version of Spanish manualGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>