summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-11-11When entering a new point, pick the previous gas by defaultGravatar Dirk Hohndel
This is much more useful than always picking air. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-11Connect cylinders entered in planner with the gases availableGravatar Dirk Hohndel
Now the gases for which we have cylinders are offered in the gas selection list and correctly recognized and added for the plan. Still tons of work to be done to make this work the way it is designed, but we are getting closer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-11Stop clicks on the globe from changing dive list selection while editingGravatar Dirk Hohndel
This caused us to get royally confused when manually adding a dive and trying to set the location through the marble widget. Fixes # 229 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-11Mark divelist changed when deleting a diveGravatar Dirk Hohndel
Fixes #232 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-11Fix crash when cancelling dive add on empty dive listGravatar Dirk Hohndel
Don't pass NULL dives around. Fixes #231 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-11Hook up delegate to enable cylinder autocompletion in plannerGravatar Dirk Hohndel
That was easy Hand-holding-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-10Enable adding cylinders in the dive plannerGravatar Dirk Hohndel
This is in preparation of using those to define the gases available for planning. Right now this doesn't seem to work quite right - I don't get the auto-completions for the cylinders that I was hoping for... This commit also corrects the tooltip for addint dive data points. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-10Show a cylinder widget in the dive plannerGravatar Dirk Hohndel
This is intended to allow the user to provide the gases / cylinders that she will be diving with. With that information the planner can warn the user about insufficient gases, but more importantly it can show relevant gases in the gas select drop down. Right now the add cylinder button doesn't add a cylinder - that's a problem. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-10Honor "last stop at 6m" in dive plannerGravatar Dirk Hohndel
And recalculate the dive when it changes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Remove left over qDebug() callGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Merge branch 'addDiveGasFix'Gravatar Dirk Hohndel
2013-11-09Adjust planner to work with the new semanticGravatar Dirk Hohndel
Insert the dive data point at 0,0 manually at the beginning of the plan. Now everything should work. We still can't edit a plan created like this, but at least we can once again plan things. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Fix position of depth reading when entering divesGravatar Dirk Hohndel
At 5% it would overlap the scale - now it's much easier to read. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09After done with the DC download dialog, ensure it's in its original stateGravatar Dirk Hohndel
So in case the OK button was relabeled to 'Retry', relabel it back to OK. Also, 'Retry' should be capitalized. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Don't access a NULL pathGravatar Dirk Hohndel
This can happen if the Uemis is not correctly connected, but the user still has the path set (as default DC most likely) and tries to start a download. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Forgot to remove this debug, sorry.Gravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2013-11-09Removed inconsistency when user tried to add dive while planning.Gravatar Tomaz Canabrava
The user could add a dive, and in the middle click on the 'plan' button. Since we didn't cared about that on the widget, a lot of inconsistencies could occour. this fixes that by setting a flag on the Planner, that has now three modes: nothing, plan and add. (maybe in the future an edit mode will be valid too.) If in 'NOTHING' mode, user can enter the addition, edition and planning. If in any other mode, user can't do a thing. The mode gets back to NOTHING when user accepts or cancels a plan / add / edition. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Fixes garbage left behind when canceling edit dive.Gravatar Tomaz Canabrava
Garbage was left behind when canceling edit dive, and thus when the user set his dive to be editted, after a first canceled edition, all points of the first edition got messed up and showing on the second dive too. if the user clicked 'ok', he got a really bad surprise. Fixes #226 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2013-11-09Save / Restore the Tree after organizing by other columns.Gravatar Tomaz Canabrava
This patch saves and restores the state of the TreeView after the user clicks on another columns that will make the tree disappear. All of the branche states are saved, this way the expanded nodes will be restored when the user gets back to tree mode. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Save the status of the tree before trying to reset the display.Gravatar Tomaz Canabrava
This is a try: when the user changes the orientation on the columns by clicking on the title of them and organizing by something that's not the number, we lost track of the opened branches. this commit doesn't fix that, but it fixes a possible similar issue. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2013-11-09Moved the code that handles DiveList column sizes to its correct file.Gravatar Tomaz Canabrava
I got a bit lost trying to find the code that handled DiveList columns today, so I thought it was better to move it to its file, after all we do have a divelistview.h :) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Fixes breaking the sizes of the columns of the listView.Gravatar Tomaz Canabrava
This just proves one point: I'm retarded. I moved some code around and forgot to close the old group, so I created a group inside 'MainWindow' that handled the ListWidget, wich was not the right thing to do at all. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-09Fix inconsistent position of screen splittersGravatar Tomaz Canabrava
I basically rewrote the way we handled the splitters. It now uses a state to know what it's doing, and will only update the value of the saved-to-disk splitter size if the state shows the splitters (currently only VIEWALL), where all the other states should hide the splitters, and the values of the splitters don't matter. Fixes #225 Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-08Don't access invalid elements with depth = 0Gravatar Dirk Hohndel
This is a corner case in the planner that was exposed by the recent changes to the way the dive plan reflects the gases during the dive. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-08Correctly track gases when manually adding and then editing divesGravatar Dirk Hohndel
The code had quite a few odd special cases that may have been left-overs from the old Gtk algorithm. With this the gas is actually in the dive plan node where it's use starts. And we maintain the gas correctly between multiple edit sessions. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-08Be consistent when passing around gas data in the plannerGravatar Dirk Hohndel
We need to make sure that the correct segment has the correct gas assigned to it - and that those gases are correctly tracked when editing a manually added dive as well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-08Correctly identify airGravatar Dirk Hohndel
Because of rounding issues we need to use our macro to test for air (especially since the events store gas percentages and not gas permille). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Include the cylinder information in a dive added with "Add Dive"Gravatar Dirk Hohndel
We only copied the samples, but not the related cylinder data. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Don't translate the fake DC modelsGravatar Dirk Hohndel
Since the model name is written into the XML file it has to be a literal string that isn't translated. Otherwise a datafile written in one locale behaves differently when opened by Subsurface under a different locale. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Adjust default start time of added diveGravatar Dirk Hohndel
It should be 'now' in the current timezone. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Remove debug output left in the previous commit by mistakeGravatar Dirk Hohndel
Oops. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Make the tag widget act more sanely when pressing TabGravatar Dirk Hohndel
When dealing with autocompletion, tag usually means "take this, move on". In the tag widget the tab was added to the tag itself (and then stripped when the input line was processed). Not exactly useful. This feels a bit "hackish", but it seems to get the job done. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Fix stupid off by one errorGravatar Dirk Hohndel
This was missing the space for the \0 character so the paths were one byte short. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Fix for equipment tab cancel button bugGravatar Taiane Ramos
On equipment tab, when editing a cell and then clicking on cancel button, it would delete all the cylinders table. Now it performs the original behaviour of recovering the original value of the cell and don't delete the table. Signed-off-by: exhora <exhora.tat@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-07Hide temperature fields when displaying / editing trip dataGravatar Dirk Hohndel
And show them again when displaying a dive. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Hide TadWidget and Label when editing a tripGravatar Maximilian Güntner
Also hide ui.CoordinatedLabel when editing a trip, since ui.coordinates is hidden. Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Show a different message when editing more than one diveGravatar Dirk Hohndel
I still wonder if we have all the semantics correct for multi dive editing. This will need more testing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Fix dive mergingGravatar Dirk Hohndel
When merging dives, the indices of the following dives change - so we need to adjust the variable used in the for_each loop. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Remember the column we are sorting byGravatar Dirk Hohndel
A call to DiveListView::reload always reset our sortcolumn to be 0. Instead we are tracking the correct sort column and sort direction. This also removes an obsolete private member that was unused. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Don't force the DiveListView to be a tree when reloadingGravatar Dirk Hohndel
We should keep whatever view the user last used. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Create installer with qmakeGravatar Dirk Hohndel
This is seriously flawed. makensis is run twice for some reason. I also noticed that the data and xslt directories under packaging/windows aren't created when running make install. Running make -f Makefile.Release install_marbledir install_deploy works, but obviously this should be taken care of by the dependency. The installed binary under Windows is not finding its icon, the translations are missing... lots of work left to do here. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-02Merge branch 'tagwidget-pr' of github.com:mguentner/subsurfaceGravatar Dirk Hohndel
2013-11-02Fix warning about ambiguous if / else nestingGravatar Dirk Hohndel
Should have cleaned that up when committing the code. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-02Speed up XML loadingGravatar Linus Torvalds
This tries to speed up XML loading for large XML files (and thus subsurface startup times) by trimming the fat off our own matching code. The actual libxml overhead (particularly string allocation) tends to be the dominant part, so this only speeds up a big load by about 12% for me, but hey, it can be noticeable. Dirk's example nasty 175MB xml file with ~5200 dives takes "only' 7.7 seconds to load, when it used to take 8.8s. And that's on a fast machine. For smaller xml files, the dynamic loading costs etc startup costs tend to be big enough that the xml parsing costs aren't as noticeable. Aside from switching the node names around to "little endian" (ie least significant name first) format to avoid some unnecessary strlen() calls, this makes the nodename generation use a non-locale 'tolower()', and only decodes up to two levels of names (since that's the maximum we ever match against anyway). It also introduces a "-q" argument to make startup timing easier. Passing in "-q" just makes subsurface quit imediately after doing all necessary startup code. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-02Fix the inconsistent behaviour of QCompleterGravatar Maximilian Güntner
The TagWidget behaves now similiar to a QLineEdit. Pressing Enter/Return will now close the completion widget. Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
2013-11-02Correct tabstops in MainTabGravatar Maximilian Güntner
Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
2013-11-02Corrected indentation, added license/copyrightGravatar Maximilian Güntner
Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
2013-11-02Added a custom widget for tagging divesGravatar Maximilian Güntner
A custom tag widget has been added to MainTab. Tags are seperated by a comma ",". The implementation supports escaping a comma by using "\,". While typing, the widget supports the user by suggesting tags using a QCompleter. Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
2013-11-02Replaced the tag implementationGravatar Maximilian Güntner
The new implementation supports custom tags which are provided by the user as well as default tags which are provided by subsurface. Default tags can be translated and will be written to XML in their non-localized form. Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
2013-11-02change the key from const char * to QByteArrayGravatar Maximilian Güntner
if trGettext() gets called with a *text that resides in the stack, the QHash will return incorrect values after the second call of trGettext() with that *text. Example (assuming nothing has been translated): void func(const char *text) { char *translated = trGettext(text); doSomethingWith(translated); } func("foo"); (1) func("bar"); (2) (1) *translated is "foo" (2) *translated should be "bar" but is "foo" because the key (const char*) points to the value "foo" which has been set in the previous call (1). Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>