summaryrefslogtreecommitdiffstats
path: root/qt-ui/maintab.cpp
AgeCommit message (Collapse)Author
2014-01-03MainTab location coordinates displayed in ISO6709 formatGravatar Tim Wootton
changes the location coordinates display in the main tab to use ISO6709(2008) Annex D suggested format. Signed-off-by: Tim Wootton <tim@tee-jay.demon.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-27Clear equipment tab for trips displayGravatar Dirk Hohndel
And prevent the user from editing equipment in trip edit mode (those edits are both meaningless and of course will be ignored once we save the changes to the trip). Also moved some code for setting up tanks, weights, tags, etc, into the "this is not a trip-edit" part of the updateDiveInfo() function. Fixes #392 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-27Handle editing a manually added dive consistentlyGravatar Dirk Hohndel
Regardless of whether the user clicks in the info tab, makes a change to equipment or starts by editing the profile (i.e., clicking on the little penguin), we should get into the same state and behave the same way. This means that when editing a manually added dive we are always in editMode == MANUALLY_ADDED_DIVE - and editMode == DIVE means we are editing a dive that came from another source. Fixes #379 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-25Don't reset panels while editing a diveGravatar Dirk Hohndel
MANUALLY_ADDED_DIVE is a different flavor of ADD mode (in both cases we are in "planner mode"), so bail out for that as well. See #379 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-24Fix subsurface on dark themes.Gravatar Tomaz Canabrava
This patch fixes my last annoyances with dark themes on subsurface. It changes the background color of the edited info tab to a darker yellow if the theme is dark, and a light yellow if the theme is light. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-23Improve GPS string handlingGravatar Dirk Hohndel
This adds support for two more GPS coordinate formats and also fixes a couple of issues with the previous implementation. We used to only support full degrees and decimal minutes. We now also support fully decimal and degrees, minutes and decimal seconds. The previous implementation would color the input field red if either it couldn't parse the string, or if it was able to parse it but it was the same as the previous location. That's misleading. The previous implementation also changed all gps coordinates to the new coordinates in a multi-dive edit - instead of just changing the ones that are the same as the master dive. Fixes #387 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-20When saving / canceling edition, focus back to the Dive ListGravatar Tomaz Canabrava
When saving / canceling the edition, focus was still being kept on the current selected widget. not good. :) this patch makes the DiveList keep the focus after a edit. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-20Fix the cursor problem on the TagWidgetGravatar Tomaz Canabrava
The problem was the Focus Prevention system on the EventFilter. Instead of that we can pass the setFocusPolicy ( strongFocus ) that ignores the mousewheel. simpler and cleaner. Fixes #376 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-20Simplify the code by removing a few options from the if.Gravatar Tomaz Canabrava
There was some options on the 'if' that didn't really belonged there, so I create a if before those to quit earlier if the condition is true. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-19Fix a missing parentheses warningGravatar Lubomir I. Ivanov
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-16Use UTF-8 for text strings.Gravatar Michael Andreen
Fixes #371 Signed-off-by: Michael Andreen <harv@ruin.nu> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-14When editing multiple dives, only copy the cylinder typeGravatar Dirk Hohndel
Previously we would overwrite the gasmix as well as start and end pressure even when editing multiple dives, which clearly is wrong. Fixes #364 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-13Improve MainTab behavior when using the scroll wheelGravatar Dirk Hohndel
This gets the behavior close to what we really want. - scroll wheel no longer enters edit mode when over the tabWidget - scroll wheel doesn't modify dateTimeEdit, nor does it enter edit mode - scroll wheel still scrolls both the notes and the full widget The only oddity is that when clicking on either the dateTimeEdit or the tabWidget we don't immediately turn on the 'being edited' warning (as we do for all the other widgets). For those two widgets the user has to press a key before edit mode starts. I think this Fixes #176 Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Ideas-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-12Save and reestore scrollbar position on editing the items.Gravatar Tomaz Canabrava
Save and restore scrollbar position on editing the dives. I think this is not the best place for it, but I'll leave it here for a while untill I find a better place. Fixes: #343 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-10Fix selection tracking bugGravatar Dirk Hohndel
When trying to remember a newly manually created dive across the sort_table() call I abused the dive->selected flag and didn't clear it out afterwards (most likely thinking "hey, I'm calling selectDive() on this anyway"). This caused the UI code to correctly mark the dive as selected, but when it called down to the C code to keep the internal data structures in sync, that code didn't update amount_selected as it thought this dive had already been selected. And that caused other parts of the code to get confused, which manifested for example in the failed upload to divelogs.de. So this clears out the flag after abusing it to remember a dive. Maybe we should add a 'remembered' flag instead, but for now this fixes the issue. Fixes #351 Initial-fix-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-09Use implicit zero initialize for the whole array.Gravatar Anton Lundin
Clang yelled about it, and it looks prettier. It also felt kinda strange to explicit initialize the first element to zero and the rest to zero implicit. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-07Fix typo in colorGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-04Make Gnome3 be bearableGravatar Tomaz Canabrava
The layout of Subsurface on Gnome 3 had a few flaws, since Qt and Gtk are not really compatible. This implements a CSS that makes the use of Gnome 3 more pleasant to the eyes. Fixes #318 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-03Attempt to fix the 'click goes to 0,0' thing on the globe.Gravatar Tomaz Canabrava
This patch attempts to fix the 'click goes to 0,0' bug on the globe. it moves a bit of code around and I particulary don't like the way that we are dealing with 'EditMode', I think I'll refactor that for 4.1. We are alredy dealing with a bunch of states, maybe a State Machine will help on removing code-complexity. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-03Select the newly added dive after adding it.Gravatar Tomaz Canabrava
Selects the newly added dive after adding it, it uses a rather ugly hack that forced a unselected dive to be marked as 'selected' so we can remember what was the newly added dive, and select it after. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-03Don't call fixup_dive when editing a tripGravatar Dirk Hohndel
When editing a trip the key for the notesBackup is NULL. Don't call fixup_dive() on that... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-03Make sure the save/cancel message is always shownGravatar Henrik Brautaset Aronsen
An addition to the "Move dive notes edit message above the scrollable widget" commit: Make sure the save/cancel message is always displayed on top, regardless of which tab is selected. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-02Make dive edit message box tex more conciseGravatar Dirk Hohndel
commit 3c064d58578f ("Make the message when editing a dive fit better") kinda fixed the wrong problem. A better solution was suggested - just drop the instructions regarding Cancel / Safe. It's quite obvious what to do mow that the buttons are part of the message. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-02Make the message when editing a dive fit betterGravatar Dirk Hohndel
This should keep the message widget visible without horizontal scroll bar, even on fairly small screens. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-02Removed The button box from mainwindow, buttons are now on the message.Gravatar Tomaz Canabrava
The button box on the bottom of the window made it a bit cluttered on small screens, this patch uses the window of the MessageWidget to show the butons - this way less space is used and things are better spaced on screen. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-02Fixes Setting the dive-location via the map.Gravatar Tomaz Canabrava
This patch adds a context menu to set the dive location via the globe, being the dive with a coordinate or not. It also fixes setting the dive location on edit mode. Fixes: #315 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-01Reflect air and water temperature changes in dive infoGravatar Dirk Hohndel
When editing air or water temperature, you are actually editing the information in the active divecomputer structure. But the Dive Info shows the summary data created from the temperature data in all dive computers. For most people who will only ever have one divecomputer per dive this may seem like an artificial distinction, but it's very important if you track more than one computer. So in order to have an edit reflected in what's shown, we must redo the "summary creation" for data from the different divecomputers into the summary fields of the dive. Fixes #313 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-30Separate text labels for air and water temperaturesGravatar Henrik Brautaset Aronsen
The "air / water Temperatures" label didn't look to good. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-29Avoid using manual timezone offsets.Gravatar Michael Andreen
Since some early bird thought it was a good idea to force the rest of us to get up early by changing our clocks during summer, we can not use the currentDateTime() to determine the timezone offset for all dives. Instead, we just pretend that everything is in UTC and avoid doing the offset calculations. If only that early bird knew that if clocks stayed consistent throughout the year then I could be asleep instead of fixing this in the middle of the night.. Signed-off-by: Michael Andreen <harv@ruin.nu> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-29Turn off dive location edit hint when cancelling dive editGravatar Dirk Hohndel
Simply clear the edited dive (regardless of whether it's set) and hide the message if visible. The previous code was a little too convoluted... Fixes #305 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-29Editing air or water temperature should modify dive computer, not diveGravatar Dirk Hohndel
The dive fields are summary fields, the actual data needs to be in the divecomputer specific fields. Fixes #307
2013-11-28Make it possible to hide some columns on the Cylinders Equipment pane.Gravatar Tomaz Canabrava
This patch makes it possible to hide some columns on the Cylinders Equipment pane. The 'remove' and 'type' are impossible to hide, since they are the most important ones for a non-tech diver. Fixes #281 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27Make sure we keep our notion of what's selected in sync with the UIGravatar Dirk Hohndel
When editing a dive, a group of dives or a trip we need to make sure that we don't lose track of which dives and trips were selected. Otherwise we might act on dives that DON'T appear selected in the UI but that we think are still selected. Fixes #304 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-26Remember Trip Selection.Gravatar Tomaz Canabrava
This patch remembers the trip selection across the Dive Tree Model. It's a tiny bit big because we used to have a variable 'selected trips' that's now calculed dynamically - this is more future proof. This is a start of Un-cluttering the view ( for 4.1 I hope to reduce the code in this class to nearly a half. ) Fixes #303 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-25Switch tab title to Trip Notes when handling a tripGravatar Dirk Hohndel
And switch back to Dive Notes when back to looking at a dive. This makes things more consistent... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-21Fix a couple of warningsGravatar Dirk Hohndel
Removing unused variables. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-21Refactoring of the configuration handling.Gravatar Patrick Valsecchi
Before, when clicking the OK button on the preferences GUI, we were updating in-memory preferences from the GUI, saving them to the configuration file from the GUI, reloading from the file to the in-memory preferences. Then, to add to the ducplication, when the application was exiting, some fields were saved again. Basically the first step and the last step were useless appart from the fact the the other steps where missing a few fields here and there. This patch removes the first step and fixes the missing fields. Signed-off-by: Patrick Valsecchi <patrick@thus.ch> ACKed-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-19Collect per tank SAC rateGravatar Dirk Hohndel
This is a bit painful, but we basically walk the samples and pick the valid tank from the events. And then we do a simple discrete integration to figure out the mean depth per tank and duration per tank. And then we assemble all that into per tank statistics. Strangely the value calculated here seems slightly higher than one would expect from the overall SAC rate. This inconsistency should be investigated a bit further, but my guess it it's based on the assumption that the DC provided mean depth is possibly more accurate than what we can calculate from the profile. Fixes #284 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-19Do per cylinder statisticsGravatar Anton Lundin
This shows how much gas form each cylinder was used. I would like to add SAC to that list too but it became a mess trying to calculate average depth per cylinder. Design based on idea in #284 Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-19Fix trip summary line in dive listGravatar Dirk Hohndel
Two errors fixed. - With no location set, the summary line would start with a ','. - When auto creating a trip for a manually added dive or when editing the dates of dives in a trip, the timestamp for the trip was not updated after editing the dive. Fixes #293 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-19Immediately update the dive flag label when editing location textGravatar Dirk Hohndel
This seems like a much nicer user experience. Editing a location's name is immediately reflected on the globe label, the moment it happens. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-19Handle double clicks on globe during dive edit modeGravatar Dirk Hohndel
When we are editing or adding a dive, the globe widget needs to act differently. Instead of directly changing the lat/lon of selected dives, it needs populate the coordinate text field as if this information was entered by the user (effectively all it is is a way to more conveniently enter coordinates). As a side effect, this also allows us to change the location once it has been added (you just need to go into dive edit mode to do so). There is one weird issue that occasionally (and I can't quite reproduce this) I get lat/lon very close to 0/0 (as if the globe widget was centered on 0/0 and not on whatever it is actually showing). That still needs to be addressed. Fixes #239 Fixes #131 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-18Fix various issues with the dive add / edit manual dive codeGravatar Dirk Hohndel
- get_gas_from_events does NOT always set o2/he. It only updates them IFF a matching event is found; so we need to make sure we start out with a valid gas mix - the way we tried to restore the edited dive in case of an edit to a manually added that is cancelled was completely bogus. Way too complex when we can simply and reliably simply store the dive and then copy it back Fixes #270 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-17Remove ununsed variablesGravatar Dirk Hohndel
The warnings are distracting - and the variables are truly obsolete by now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-17Make editing message consistent with button labelsGravatar Tim Wootton
Changes Ok button to a Save button Modifies editing messages to reference buttons Save and Cancel. Fixes #245 Signed-off-by: Tim Wootton <tim@tee-jay.demon.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-17Use date format from system localeGravatar Anton Lundin
Instead of hard coding a American date format, let qt use whatever the locale suggests. Fixes #248 Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-16Fix wrong handling of Dive Table, and revert some wrong changes.Gravatar Tomaz Canabrava
This patch just reverts some wrong changes that I'v done on a past commit ( sorry ) and correctly handles the selectDive, by using a IDX instead of the dive pointer, as dirk told me it's extremely error-prone since the pointer can change. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-15changed tag completition to case-insensitiveGravatar Maximilian Güntner
When completing tags, the case of the completion prefix should not matter. Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-14Sort the dive table after adding a diveGravatar Dirk Hohndel
This commit scares me. Any pointers to dives or indices into the dive table... anything like that is invalid after we resort the table. Well, not technically "invalid" (as in bad pointers), but after re-sorting the table these will possibly not be pointing at what we expected. This starts with the selection being "wrong" after we add a dive that isn't the last dive (once we click OK the chronologically last dive will be selected). But of course without doing this, our #1 assumption about the dive_table is broken. The dive_table is supposed to be in chronological order. Best advice of course would be "don't enter dives out of order" - but of course that's not realistic. Fixes #234 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-14Handle tank data correctly in profile editing mode for manually added diveGravatar Dirk Hohndel
This is subtle. Normally you would expect someone to edit the tank data by simply clicking on it in the equipment tab. But a user could conceivably edit the tank data after clicking on the profile editing button instead. This works now as well. This also addresses the issue that start and end pressure were not shown in profile editing mode. Fixes #235 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>