It's getting to the point where I'm happy with this. This just makes
the spacing between the location and the notes a bit bigger to visually
separate them more, and adds units ("min") to the dive duration (and
removes the seconds, that really didn't make any sense at an overview
level).
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
For really long dive locations, we now limit the width to the same size
as the date and time, and force it to a single line - with an ellipsis
if it ends up being too big.
Also, since we no longer use any markup anywhere, we migth as well show
the dive buddy information too, as we don't need no stinking quoting.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
By using the delete-event callback instead of the destroy callback we are
able to display our dialog (and the file-save dialog) while the program
window is still being displayed. Much nicer this way.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
As the application shuts down we do one more check to see if the dive that
is currently being displayed has been modified (we previously just checked
as we switch dives)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Track whether things changed in the global dive_list
So far this actually works if changing dive info (but only if dive
selected was changed after the dive info was changed).
We are not tracking changes to the cylinder information, yet.
also remove the duplicate static dive_list
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This way we can avoid the need for quoting, since we can just use text
rendering instead of markup for the free-form fields. And we will want
to make the pango layout width different for the date and location,
since we want to fit the depth/duration to the right of them.
I still haven't set the different width for the date/location, but this
at least is going in the rigth direction.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The default cairo font seems to be sans, but the default pango font is
serif. Maybe it has something to do with my system font settings, but I
doubt it: my desktop font settings are all sans-serif. So I think pango
is just showing bad taste.
Anyway, this just hardcodes the font to "Sans". Maybe somebody wants to
make this all part of preferences some day, or pick it from their
desktop font preferences. In the meantime, just fix the pango brain-damage.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This makes things slightly prettier and adds back the depth and duration
details to the printout.
Still a few known problems: font choice, and the depth/duration thing
can end up overlapping with a long location name. But it looks pretty
good on the whole.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The plot_info was never freed, so every time you'd plot something, we'd
leak memory.
I'm running valgrind to see if there's anything bad going on. So far it
all looks fairly benign.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This gets us text wrapping etc. I think I have some serious memory leak
somewhere, though, because if I print out all my dives it eventually
ends up with broken dives and doesn't complete. But I am going to
commit this as a "it kind of works" point.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The layout is crap, the handling of long lines in notes (or location) is
wrong, the dive number handling is wrong.
The thing is just a toy.
But it's a toy that kind of works, and gives a much better idea of what
a real dive log printout might look like. With the right kind of dive
notes, it looks fine.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ok, so this may be too much, but I'm just playing around with layout.
It could be a runtime choice too, of course.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Use the actual degree sign for temperatures (°F and °C), and make sure
everything uses the proper "set_source_rgb[a]()" wrappers to set the
colors.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Dirk wrote this before we have the 'plot_info' structure with the
cleaned-up dive info. No need to maintain that separate array of depths
and seconds.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Four dives per page sounds good. Maybe even six? But dangit, the
default font choice for cairo printing sucks. And I need to learn about
pango for actually printing the dive info.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org
That was stupid. The divelist column generation cleanup (commit
d3feb78df5: "Make helper function for creating TreeView columns in the
dive list") had a but too much copy-paste going on, and didn't always
have the right column indexes.. t still *looked* right, but sorting
didn't work at all.
Reported-by: Chris Lewis <chrislewis915@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The following are UI toolkit specific:
gtk-gui.c - overall layout, main window of the UI
divelist.c - list of dives subsurface maintains
equipment.c - equipment / tank information for each dive
info.c - detailed dive info
print.c - printing
The rest is independent of the UI:
main.c i - program frame
dive.c i - creates and maintaines the internal dive list structure
libdivecomputer.c
uemis.c
parse-xml.c
save-xml.c - interface with dive computers and the XML files
profile.c - creates the data for the profile and draws it using cairo
This commit should contain NO functional changes, just moving code around
and a couple of minor abstractions.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Instead of the hardcoding to "Sans 8", allow people to set it in the
preferences.
Also, make the unit choice be a frame in the preferences dialog instead.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* git://github.com/sirowain/subsurface:
Fix Segmentation fault when trying to print an empty plot.
Provide an icon for subsurface.
Added a comment about libusb dependency in Makefile.
* 'for-linus' of git://github.com/dirkhh/subsurface:
Attempt to get the location column to resize in a sensible way
Minor tweaks to column headers
[ Fixed up minor semantic merge conflict due to the change to make
'dive_list' internal to divelist.c ]
Passing it around is just annoying, and we only ever have one. Let's
not burden all the users with the silly thing.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
It's too damn easy to make mistakes and not even notice them (odd gtk
widget selection and keyboard input), or just start editing a cylinder
thing and realize it was wrong.
So instead of always saving the equipment information implicitly, add
explicit "Apply" and "Cancel" buttons that save the information (or
re-load it from the dive data structure)
So now you need to press an extra button for your changes to *really*
take effect. It can be a bit annoying, but it's better than the silent
accidental equipment change that could happen before.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Previously the SAC column was the one that expanded which is silly
We also used to cut the location off at 16 characters
Now we try to make the location the one that expands and allow up to 40
characters, but there's something broken, still. If you manually shrink
the location column to its minimum size then subsequently resizing the
window gets the desired behavior. But if you don't manually resize the
location column it doesn't shrink correctly for windows that are smaller
than the space we need for all columns to fully display (instead we get a
horizontal scrollbar)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Instead o fhaving everything in the "File" menu, make a separate menu
for things that are very much specific about divelogs, rather than
"generic" things like open/save/import.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
When printing an empty plot, the function was missing nullability check for 'current_dive'. Now the print of an empty plot results with an empty blank page.
A better solution could be making unsensitive the Print entry in the menu, until a plot is loaded.
Signed-off-by: Riccardo Albertini <ssirowain@gmail.com>
I designed a simple blue icon for subsurface with a diver in the middle.
As suggested by Dirk Hohndel, I added the surface line above diver's head,
so that now the icon reflects better the new application name.
Signed-off-by: Riccardo Albertini <ssirowain@gmail.com>
Due to libdivecomputer's dependency, can be necessary to add libusb to pkg-config in order to compile,
so I exported the pkg-config line in the subsurface target to LIBS variable, and added a comment about libusb.
Signed-off-by: Riccardo Albertini <ssirowain@gmail.com>
It got removed by some of my overly aggressive cleanup in commit
fefcbf125e ("Remove dive info frame") because the dive info frame
initialization also initialized the main window title..
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This really is too wrong for words, but I do think the dive list may
look better with a smaller font.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
And I *really* would want to make the dive list be a ComboBox or
something like that, rather than a ListView. I need to really
understand those things, though.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
So instead of having a depth field (in mm) for sorting, and the text
field that contains the same thing in text, we now have all the fields
we use in "native" format, and we just render them as text dynamically.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Instead of creatign an extra column containing the date text, use a
renderer function to create the text dynamically.
Just the date right now, but we'll do them all this way.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Typo turned EAN (Enriched Air Nitrox) to EAD. Which does mean something
too, just to confuse people - but while it's still nitrox-related, it's
entirely the wrong thing (Equivalent Air Depth). I don't think anybody
would ever care to see *that*. With computers, why would you care?
Anyway, Dirk noticed it, and suggested I just use O2% instead. It's not
like EAN is all that readable either.
Reported-by: Dirk Hohndel <dirk@hohndel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This flushes the dive changes to the dive list, the way the old dive
info frame would update as you update dive fields.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Hey, now you can sort your dives by how good your SAC is. Which sounds
more useful than it probably actually is. But maybe you can see
patterns in what makes your SAC suck..
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Sure, it's visible elsewhere, but this way you can search and sort for
it, and see several entries at once. So again, having it visible in the
dive list is a good thing.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
.. and make the date string much more readable, now that we aren't
actually size-constrained any more.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>