aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/profile
AgeCommit message (Collapse)Author
2014-03-15New profile: add event manipulation to context menuGravatar Dirk Hohndel
This got lost when we switched to the new profile. Remove event works. Hide events does call hide() on the DiveEventItem but for some reason it stays visible. I'll hope for one of the more experienced Qt people to fix that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-15Bugfix: generalize pp graphs to allow for multi over-threshold periodsGravatar Jan Mulder
Especially in O2 decompression parts of a dive, the pp02 is typically very close to the threshold value (normally 1.60 bar). The old implementation of the pp profile graphs assumes that there is exacty 1 consecutive set of samples that needs to be in the "warning color". This results in an erroneous display of the mentioned graphs, connecting multiple episodes of too high pp with bogus lines in between. This fix generalizes the pp graph logic to allow for multiple segments of high pp, each to been drawn seperately in the "warning color". Signed-off-by: Jan Mulder <jlmulder@planet.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-13New profile: fix Information overlay locationGravatar Dirk Hohndel
By simply storing the coordinates based on the scene (instead of trying to map them to real coordinates) the overlay position is correctly restored. Also remove the redundant positioning before readPos is called. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-12Profile2: place the ruler and tooltip on top (Z order)Gravatar Lubomir I. Ivanov
The topmost Z order of items in the profile should be: - background (poster / logo) - toolTipItem - rulerItem ... This mostly fixes the ruler being under other elements. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-12Ruler: change how the ruler text drawing worksGravatar Lubomir I. Ivanov
A couple of problems with the ruler: - the rotated text doesn't look very well at all and interpolation doesn't help it much - measuring towards the right most part of the profile makes the text go out of the screen To solve these issues and attempt to improve the ruler this patch does the following: - place the text at the bottom of the lowest of the start and end points. this way the line will never intersect with the text - clamp the x position, so that the text doesn't ever leave the screen horizontally - place a white background behind the text so that it will cover text and graphics under the ruler item (TODO: place the ruler on top of everything else) Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-11Only anim if not first dive when openning subsurface with a divelog.Gravatar Tomaz Canabrava
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>
2014-03-11Support save / load for the Animation Speed on the PreferencesGravatar Tomaz Canabrava
User can now fine-tune the animation speed on the preferences, a value of zero disables it completely. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-11Support Animation Speed via Settings.Gravatar Tomaz Canabrava
This is very userfull for a ( yet to be implemented ) preference dialog about the animation speed, so the user can enable / disable the animations or make it a bit faster for it's taste. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-11Profile2: provide means to disable the tool buttonsGravatar Lubomir I. Ivanov
Once the poster is displayed when there are no dives in the list, we may also want to disable the QToolButtons (PO2, SAC, etc..), until a new dive is loaded and the profile is redrawn. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-10Profile2: reset the zoom level when a new profile is drawnGravatar Lubomir I. Ivanov
If the user has zoomed in but then changes to a new dive, we may want to reset the scale back to the original value (1.0) based on the current zoomLevel, so that the profile is not stuck in zoomed mode. This patch adds a snippet that resets the QGraphicsView scale, zoomLevel variable and also the toolTip position. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-10Profile2: use a different image when no profile is visibleGravatar Lubomir I. Ivanov
This patch adds a new image resource named poster.png which, is shown instead of the 3 posters. The main reason for that is due to the poster text not being visible. This new image is pretty much the Subsurface logo only. It also removes the grid lines, while the poster is visible. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-10Profile2: use an implicit initializer for a struct arrayGravatar Lubomir I. Ivanov
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-10Profile2: fix some initializer list order warningsGravatar Lubomir I. Ivanov
Such can be disabled with -Wno-reorder and are clearly more of a nuisance, but C++98 12.6.2.5 says the order should be the same as in the class declaration. On theory this would only speed the compile times a tiny amount. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-09Fix retrieving the initial position of the Notification Area.Gravatar Tomaz Canabrava
We had all in place, all that was missing was to actually load the position stored on the settings for the tooltips. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-09Code Cleanup ( that fix 2 bugs )Gravatar Tomaz Canabrava
This code cleanup fixes the two issues that I raised on my last e-mail. hurrah. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-07Remove a Lot of Dead Code.Gravatar Tomaz Canabrava
This is just removal of dead code from the old profile, probably there's still a bit more to remove, but this is a very good cleanup already. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-07Remove the old profile from the main screen of SubsurfaceGravatar Tomaz Canabrava
This patch partially removes the code for the old profile from Subsurface. It removes the use of the old profile on the mainwindow, but keeping the code in the tree for now. A bit of code-cleanup also entered this commit because I had to change every instance of the code that used the old profile. Now to the real code-cleanup Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-07Fix a crash on changing dives when the ruler is used.Gravatar Tomaz Canabrava
The ruler is a weird beast - it has two child objects that access the parent to call another function, that call the child functions. When I updated the plot_info I didn't take that into consideration, what happened is that when I set the parent's plot_info, the children's plot_info are still invalid, but the update method is called anyhow. This patch updates all plot_info's before calling anything else. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-03Whitespace cleanupGravatar Dirk Hohndel
Minor change to the perl postprocessing script and resulting changes to the affected source files. This deals with two issues: - "foreach"-like structures were not always treated correctly - some longer calculations that ended on "+ constant" were reformatted in a rather unatractive manner In one source file (divelist.c) I ended up adding braces to the sources... trying to cascade the indentation further down without having the block there seemed a lot more trouble than it's worth. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-02Add Units to mean depth valueGravatar Gopichand Paturi
Fixes #445 Signed-off-by: Gopichand Paturi <gopichandpaturi@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27Massive automated whitespace cleanupGravatar Dirk Hohndel
I know everyone will hate it. Go ahead. Complain. Call me names. At least now things are consistent and reproducible. If you want changes, have your complaint come with a patch to scripts/whitespace.pl so that we can automate it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27Try to fix the font issue on the ruler.Gravatar Tomaz Canabrava
This changes the ruler a bit, I hope nobody gets offended by it. :) The main issue is that the scene is now 100x100 pixels wide, so the font was *really* huge. and setting itemIgnoresTransformations on the ruler broke a lot of stuff. I removed the code that painted the text and created a QGraphics TextItem for that - that will hold the text for the ruler. Then I played with the view to get the correct angle of the line, that was in scene coordinates and thus, could not be used directly on the item that had ignore transformation changes. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27New profile: Make the ruler work. (caution, fonts are BIIIG )Gravatar Tomaz Canabrava
This patch makes the ruler work again, the problem is that the fonts are *terribly* big, I'll fix that on the next commit. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27Remove the pInfo pointer, make it a real structure instead.Gravatar Tomaz Canabrava
This fixes the invalid pointer stage crash. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27New profile: Toggle on / off the ruler via settings.Gravatar Tomaz Canabrava
This patch toggles on / off the ruler via QSettings. When the user clicks on the toolbar, this sets the settings to true / false, in a way that if the user turns Subsurface on/ off, we still get the last choosed option. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27New profile: add the RulerItemGravatar Tomaz Canabrava
This patch adds the RulerItem inside of the new profile, and already takes settings into consideration. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27New profile: DiveRuler compiles / not working yet.Gravatar Tomaz Canabrava
This patch removes the GC macros and change the calling to use the DiveCartesianAxis. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27New profile: add placeholder code for the RulerItemGravatar Tomaz Canabrava
This patch just creates two files for the rulerItem, a .h and a .cpp. nothing was done to make it visible on the new profile yet - will do that on the next commits Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27New profile: connect the scale actionGravatar Tomaz Canabrava
Just quick'n dirty glue code so that when the user clicks on the 'scale' toolbar item, the new profile graphic is scaled. Lovely thing: Animations for free. <3 Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-26New profile: create fake DC if we have no samplesGravatar Dirk Hohndel
This call got lost when creating the new plot_info structures. dives/test15.xml is a good test case. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-25New profile: try to pick better HR samples for which to print numberGravatar Dirk Hohndel
This simply tries to pick at least local minima / maxima. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-25New profile: fix tooltip display for eventsGravatar Dirk Hohndel
We need to use the transform() of the view, not the tooltip. Suggested-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-25New profile: small cleanup of heartrate codeGravatar Dirk Hohndel
Remove unused variable and correct comment. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-25New profile: add event info to tooltipGravatar Dirk Hohndel
This appears to correctly add the tooltip to the event item, but for some reason the tooltip isn't displayed for most events. Still needs more work. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-23New profile: create new class for DiveHeartrateItemGravatar Dirk Hohndel
This allows us to give it a different color (red) and make it a smaller size. While implementing this I also fixed the size of the temperature text in the new profile. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-23New profile: better positioning for the heartrate labelsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-23Calculate minimum and maximum heartrateGravatar Dirk Hohndel
And setup the axis accordingly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-23Don't try to setup event if it is NULLGravatar Dirk Hohndel
This also fixes the whitespace in a function that I instrumented to figure out what's going on. I restored it to its original state, but I couldn't leave the whitespace unfixed... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-23Don't try to set visibility of events before they have been addedGravatar Dirk Hohndel
Admittedly this code doesn't do anything useful right now, but at least have it not to anything useful in the right spot. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-22New profile: add image pixmaps for image eventsGravatar Robert C. Helling
For reasons that I don’t understand, the image is only shown if the event happens to be at the same time as a depth sample. This is, however, not specific to these image events, it seems to apply to all events. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-19Implement the rest of the heartbeat.Gravatar Tomaz Canabrava
The only thing that was missing was the size of the vertical axis. I'm setting a small line on the bottom of the temperature axis, since both have blue color, this will not make people think one is the other. TODO: change the color to red. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-19New profile: partial addition of heartrateGravatar Dirk Hohndel
This was done during an IRC hacking session with Tomaz. It compiles, it shows something but not the right graph. Committed here so Tomaz and I can continue to work on it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-19Only recalculate the tooltip if time has changedGravatar Dirk Hohndel
Small optimization, but seems to make sense. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-19Convert more TRUE/FALSE to stdbools true/falseGravatar Anton Lundin
In Qt5, Qt doesn't define TRUE/FALSE anymore, so we need to stick to stdbools to have Qt5 builds working. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-17Make part of the context menu work (gas change event)Gravatar Tomaz Canabrava
The code of the context menu and the gas change event callback is mostly the same as the old profile, with minimum modifications, as this changes the order of the code on the callback to make it a bit saner (declare variables first, call code later). This also fixes a bug on the model that was not cleaning itself in the correct way after a call to clear. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-17Missing initializerGravatar Dirk Hohndel
This was causing us to access uninitialized memory at times. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-16New profile: some more slight rearrangementsGravatar Dirk Hohndel
This is just an attempt to not have the time markers and dive computer name printed right on top of each other. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-16Fine tune positioning of temperature and tank pressure linesGravatar Dirk Hohndel
Maybe not yet perfect, but better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-16New profile: improve mean depth lineGravatar Dirk Hohndel
Show decimal depth and make the line length more appropriate for the dive profile shown. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-16Clean up some warningsGravatar Dirk Hohndel
Unused variables, more initialization order complaints. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>