Commit graph

2966 commits

Author SHA1 Message Date
Lubomir I. Ivanov
57e8349b87 Preserve keyboard focus when changing sorting order in the divelist
When the user changes the dive list sorting order via clicking
on different column titles, using gtk_widget_grab_focus() gives
keyboard focus back to the list itself (not staying on the column titles),
which gives a hint that the list itself has focus index of 0 and is
reset each time the widget receives this type of "initial" focus.

Acked-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 07:24:28 -08:00
Dirk Hohndel
b406dbe1c0 Fix tracking of selected dives across sort column changes
With  commit 800b0482f39e ("When switching sort order, scroll the dive
list to the current dive") we introduced an unwanted new behavior. When
changing sort columns we could lose all selections except for the main
"selected_dive". This was caused by the call to gtk_tree_view_set_cursor
on the selected_dive which unselected all other dives.

As a side-effect this also fixed another bug that was introduced by the
same change: shift-cursor-up and -down now works again to select multiple
dives with the keyboard.

But fixing that bug unearthed a different issue. Our code that restored
the selection state of the tree model oddly decided to mark a divetrip as
selected if its first child was selected. The bug above masked that by
immediately unselecting the trip again, but now that this was fixed the
problem was immediately obvious: we would start with both the first trip
and the first dive in that trip selected (well, since we are in reverse
order it's actually the chronologically last trip and last dive...).

Instead we now use the remembered state of the trip to determine whether
it should be expanded or selected.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 23:55:24 -08:00
Reinout Hoornweg
18a4d76ca5 Documentation: more tables in "View Info & Stats"
- Even more tables.
- Renamed the chapter to "View Dive Info & Stats" because one of the
  tabs being described is named "Dive Info" and not "Info".

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:19:35 -08:00
Cristian Ionescu-Idbohrn
806f4f87e0 Makefile quorks :( Yes we want a 'doc' target for itself...
...to avoid generating the HTMLDOC target even if it needs not to.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:16:41 -08:00
Reinout Hoornweg
bd9503d7c2 Documentation: Updated "Edit Equipment Info"
- More lists converted into tables.
- Minor changes to text.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:16:29 -08:00
Dirk Hohndel
ac38aa0243 Planner: fix incorrect gas change event
We stored the He permille instead of the He percentage. But for most
casual testing this was hidden by the previous bug.

Reported-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:10:01 -08:00
Dirk Hohndel
8527720794 Planner: Start calculations with gas 0 instead of air
The planner had a fatal flaw in that it ALWAYS started with AIR, even when
clearly claiming to use the correct gas. We only picked up correct gases
from events, but not at the beginning of the dive (where there is no
event).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 14:28:07 -08:00
Linus Torvalds
0fd6907965 Obviate the need for explicit 'remember_tree_state/restore_tree_state' calls
Instead, just keep track of the expanded state of trips as we get the
gtk callbacks for the state changes (which we need to track anyway for
the selection logic), and automatically restore the state whenever we
re-create the divelist.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 14:00:21 -08:00
Linus Torvalds
f175c1a9d7 Remember pre-existing trip expansion state when autogrouping
This just adds the "remember_tree_state()" and "restore_tree_state()"
calls around the divelist update when autogrouping is turned on: that
way existing expanded groups aren't blindly collapsed.

It makes it much easier to see what autogrouping does if it only groups
a few dives, because the overall state of the divelist isn't radically
changed.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:16:50 -08:00
Miika Turkia
e544594d9b Documentation: update main windows image
Sent to the list by Miika for inclusion in the user manual...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:13:33 -08:00
Reinout Hoornweg
5ad892f590 Documentation: updated section "Edit the Dive Info"
- Made tables of semi-formatted texts.
- Rewrote some of text because the screenshot and table are both
  about the same thing. The screenshot is more important now, the
  table is explanation of screenshot.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:11:21 -08:00
Linus Torvalds
aa6b164a3e Remember non-expanded state in 'remember_tree_state()' too
The 'remember_tree_state()' thing is meant to remember if a dive trip is
expanded or not, but it missed the "or not" part.  IOW, it never cleared
the expanded flag, it only ever set it.

As a result, if you were doing multiple operations on the divelist tree
(testing all the recent gtk-model removal, for example) the dive trips
would end up expanding more and more, even if you collapsed things by
hand in between operations.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:05:48 -08:00
Henrik Brautaset Aronsen
62193fd4f7 Tiny update to Norwegian translation of dive context menu
It just sounds better this way

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 12:36:55 -08:00
Linus Torvalds
7847de62b1 Rewrite "merge_dive_into_trip_above()" using our own data structures
This does the moving of dives into the trip above without the complexity
of the gtk data structures, and instead just recreates the whole
divelist afterwards.  As usual, this simplifies things a lot, and the
less gtk-specific code we have, the better.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 11:50:58 -08:00
Linus Torvalds
e453ea8695 Don't do "insert_trip_before" using the gtk data structures
.. use our own data structures instead, and regenerate the gtk ones
after having successfully created the new trip.

This simplifies the code enormously, and also makes it much more
generic.  You can now create a new trip from any arbitrary set of
selected dives (it used to be that the "multiple selected dives" case
worked, but only for some very specific special cases of selected dives).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 11:24:42 -08:00
Linus Torvalds
a00bfc918a Fix find_trip_by_idx() over-zealous cleanup
Commit bcf1f8c4fe ("Don't do "remove_from_trip" by walking the gtk
data structures") made find_trip_by_idx() only work for negative indexes
(positive indexes are dives), but when it removed the unnecessary test
for negativity, the statement inside it should have been kept as
unconditional, rather than removed with the test.

Oops.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 11:24:04 -08:00
Linus Torvalds
bcf1f8c4fe Don't do "remove_from_trip" by walking the gtk data structures
They are complicated and confusing.  Just use our own data structures
and re-generate the gtk ones from them.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 10:38:20 -08:00
Linus Torvalds
97bd24246e Don't do "remove_trip()" by walking the gtk data structures
They are complicated and confusing.  Just use our own data structures
and re-generate the gtk ones from them.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 10:38:17 -08:00
Miika Turkia
95f5098bcb Screenshot for preferences
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 09:19:08 -08:00
Miika Turkia
dd42b8d444 Added information about yearly statistics
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 09:18:44 -08:00
Miika Turkia
bf47f19605 Removing chapter Adding Equipment info
All this can nowadays be done from the dive editing popup so a separate
chapter describing the editing on info tab is not necessary.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 09:18:26 -08:00
Miika Turkia
e78f9f9171 A couple of screenshots added
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 09:17:42 -08:00
Miika Turkia
d9faba849d Screenshots are in images dir thus unignore it
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 09:17:16 -08:00
Linus Torvalds
cb490b7abf Use the divetrip index to look up divelist trip entries
We used to look up dive trips by their date, but these days we always
create a dynamic index for a dive trip when we insert it into the
divelist model, so we can use that to unambiguously match up dive trips
with the dive model entries.

That means that we don't get confused if we have two trips with the
exact same time, which happens when you load all the test-dives, for
example.

Reported-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 08:23:27 -08:00
Miika Turkia
8facc61e8f [PATCH] Adding screen captures of dive planning
[Dirk Hohndel: removed the images folder from the Documentation directory
               Makefile clean target]

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 06:55:38 -08:00
Cristian Ionescu-Idbohrn
17638aa7b0 Cleanup more and rearrange targets.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 06:51:29 -08:00
Cristian Ionescu-Idbohrn
bc98b3f6f2 Improved maitainability.
Cleans up more files.
Got even an 'all' target :)

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 06:50:20 -08:00
Cristian Ionescu-Idbohrn
b0377c4ae9 Ignoring more stuff.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 06:50:02 -08:00
Cristian Ionescu-Idbohrn
7f630144fa Small context adjustment.
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 06:47:12 -08:00
Cristian Ionescu-Idbohrn
847935e6ef Replaced two utf8 characters with their ascii equivalents.
Char: ' (8217, #o20031, #x2019) point=695 of 8902 (8%) column=63
Char: - (8211, #o20023, #x2013) point=3162 of 8902 (36%) column=36

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 06:44:33 -08:00
Dirk Hohndel
901cdbc536 Update README for 3.0 release
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 20:20:22 -08:00
Dirk Hohndel
6ce4d29f49 Clear statistics and equipment when no dive is selected
This all seems very strange forward.

The reason for the check whether the stats_w widget has been populated is
that at the very beginning, when the UI is still being assembled, a first
call to switch_page() happens as the notebook pages are assembled. At that
point the stats_w widget is still empty which tells us that we aren't
ready to display anything.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 17:00:18 -08:00
Dirk Hohndel
ef55ddccb5 Minor updates to the README
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 16:21:20 -08:00
Linus Torvalds
1e04e08064 When only a dive trip is selected, select all the dives in the trip
This does a final pass after all the selection logic, and notices if we
have dive trips that are selected, but that have no dives in them
selected.  In that case, we assume that the user wanted to select all
dives in that trip.

NOTE! This still allows a range selection that selects the dive trip
entry and a few dives under the trip.  If a trip has any dives selected
in it, we leave that manual selection alone.  So this new logic really
only triggers on the case where somebody selected *just* the trip.

Note: unselecting the trip still leaves the dives under it selected,
because having a dive trip that isn't selected have all the dives under
it be selected is normal, and we can't recognize that as some kind of
special event.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 16:18:26 -08:00
Reinout Hoornweg
866a9f0a0f Documentation: fixed a few typos
- Suunto Viper is actually Vyper.
  I actually used to own both a Vyper and a Vyper Air, so I care. :-)
- Fixed a few other small typos.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 15:18:39 -08:00
Reinout Hoornweg
453c48f0ab Documentation: improve layout
Added headers, borders, etc. to the table in "Viewing and completing
your logs".

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 14:54:35 -08:00
Reinout Hoornweg
51cac900aa Updates to the user-manual: DivePlanning
- Added some more text to Miika's great start describing the planner.
- Tried doing something more with the formatting options asciidoc give us.

[Dirk Hohndel: merged with my earlier changes to the same section]

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 13:28:25 -08:00
Dirk Hohndel
55cb953922 Documentation: Chapter structure & header cleanup
Most everything was a top level chapter - this tries to impose some
structure. It also moves the "finding the device" section closer to where
it should be in the logical flow.

This also made the header more "asciidoc compliant" and added the other
significant authors to the list.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 12:39:33 -08:00
Dirk Hohndel
182a02b2db Documentation: small rewrite of the dive planning chapter
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 12:17:36 -08:00
Dirk Hohndel
f3b6e09d09 Documentation: attempt consistency in headings and links
This changes the capitalization of headings and aims to get a consistent
style of internal links. Linking to chapter numbers is very fragile as
asciidoc sadly doesn't support this in an automated fashion - so instead
we reference chapter titles (also manual, but at least less fragile when
chapters are inserted)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 11:49:44 -08:00
Dirk Hohndel
8362a22f9f Documentation: minor rewrite of the Mac Driver appendix
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 11:25:37 -08:00
Dirk Hohndel
f52486e4e1 Documentation: minor spelling and consistency fixes
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 11:21:06 -08:00
Dirk Hohndel
a351aa6dbc Documentation: Briefly explain the download from web service
This sounds rather lame as the app hasn't been released but it is too
useful to not have it in 3.0

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 11:14:23 -08:00
Lubomir I. Ivanov
8a7ac96504 Fixed a couple of small bg_BG translation issues
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 10:27:18 -08:00
Miika Turkia
fbde4b1783 user manual - planning dives
The attached patch is the ugly start for dive planning. Hopefully
someone will enhance it from and add whatever essential is missing.

miika

From 2d51a56489fde7086032fb5efeeea6e9032ec1ba Mon Sep 17 00:00:00 2001
From: Miika Turkia <miika.turkia@gmail.com>
Date: Mon, 18 Feb 2013 19:04:14 +0530
Subject: [PATCH] Instructions for basic dive planning

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-18 10:25:55 -08:00
Dirk Hohndel
65aba97c55 Documentation: apparently dive computer are two words
We use "divecomputer" in many places and while that is a data structure in
Subsurface it apparently is not a word.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-17 20:55:27 -08:00
Linus Torvalds
16f52cf23d Fix ordering issue in fixup
We have this oddity in "fixup_dive()" that we fix up the dive water
temperates and durations by looking over all the dive computer data.

But we actually call that *before* we've fixed-up the dive computer data.
So the water temperature is there in the samples, but hasn't made it to
the generic dive computer water temperature yet, so then it doesn't make
it into the dive structure either.

Until the *second* time, when we have load the (partially fixed-up) data.

Acked-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-17 13:11:11 -08:00
Dirk Hohndel
6b27fb9be5 Print: better name and layout for custom widget
"Dive details" doesn't really capture what this is about and it got very
odd translations. So we just repeat the "Print type" text - this avoids
needing a new translation, too.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-17 11:27:31 -08:00
Sergey Starosek
4e90c5d7e8 Updated Russian translation.
Removed extra LF in print.c to avoid strings overlapping.

Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-17 11:12:53 -08:00
Miika Turkia
3afd971e4a Moving common information to Import introduction
Writing an introductory chapter for the divelog import and moving
relevant content to it

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-17 11:11:01 -08:00