summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-02-12Updated bg_BG translationGravatar Lubomir I. Ivanov
+ new string for map widget + fixed missing dot after shortened word Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-12Updated Russian translation for latest stringsGravatar Sergey Starosek
Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-12Finished and fixed sk_SkGravatar Jozef Ivanecký
Signed-Off-By: Jozef Ivanecký <dodo.sk@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11Update German and Swiss-German translations for latest stringsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11Another strings updateGravatar Dirk Hohndel
This should re-enable to text for "Gas Used" and introduces the new text for the map window title from commit 21401578c620 ("Add instructions to GPS map window title"). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11Add instructions to GPS map window titleGravatar Dirk Hohndel
This is not what I really wanted (which was the ability to add text to the map itself), but it should be at least somewhat better than what we have today (which is a complete lack of instructions). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11print.c: Attempt a gettext() fix when printing translated "Gas Used"Gravatar Lubomir I. Ivanov
print_tanks(): It seems the macro call NC_("Amount","Gas Used") generates an entry in the .po file that then isn't matched at run time, which makes the bg_BG print have "Gas Used" in english instead of the translated text (which is already present in other places). On the other hand if we use N_ here (only mark it), the printed text is translated correctly. [Dirk Hohndel: added GETTEXT comment in code and rephrased commit message] Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11print.c: Fix more buffer lengthsGravatar Lubomir I. Ivanov
print.c has a lot of defined buffer sizes, which do not consider UTF-8 expansion. gettext() with UTF-8 can inflate a string up to 2x the length (with 2byte characters). So if you set a buffer with length, say 20 bytes, lets see what happens: divenr[20]; snprintf(divenr, sizeof(divenr), _("Dive #%d - "), dive->number); But wait, in Russian "Dive" (which in latin text is "Pogrugenie") ends up with 10 cyrilic characters (20 bytes), so there is already buffer overflow here and snprintf() kicks in to corrupt the string. In matters of truncation snprintf() isn't UTF-8 safe. So if the buffer size happens to be less of the requested string to be put in there, the truncation can corrupt a trailing unicode character. For now, lets try fixing these by expanding the buffer sizes. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11bg_BG.po: Small reformating of a (Dive# - data, time) string for print.cGravatar Lubomir I. Ivanov
In printed dives (6x per page) the <Dive # - data, time> string had an extra comma after the hyphen. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-11New translations and several bug fixes for Russian.Gravatar Sergey Starosek
Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-10Remove "target ring" in map displayGravatar Dirk Hohndel
This could easily lead to confusion that this is where a dive spot would be marked (instead of the location of the mouse during right click). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-10Fix saving of changed GPS entryGravatar Linus Torvalds
We can't use gps_changed() in the gps_map_callback function, because that will actually change the GPS data in the dive being edited, which in turn will then cause us to later (when we *really* want to change it) not match the master dive data any more, and think we shouldn't edit the dive at all. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-10Fix rounding of GPS coordinatesGravatar Linus Torvalds
The whole "+ 0.5" to round to integers only works for positive values, and GPS coordinates are signed. So use the proper "round to int" function (rint()), which does this correctly. Also, remove the redundant check against the master gps values: we already checked that if we do have a master dive, the gps values must match the currently edited dive, so comparing against the master is entirely redundant. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-10[PATCH] Print.c: Modify for using pango_layout_get_extentsGravatar Salvador Cuñat
Modify for use said pango function, suposes changing the way of doing things: Before this we were moving along the cr (cairo object) and creating and closing a layout for each line we printed. To use this func we need to create a layout (say for tanks), and then we move along the layout getting the distance with the get_extents func. As the layout is set and passed to the auxiliary functions there's no need to pass some values we were passing. Clean a bit the positioning of SAC, CNS and OTU which were out of the scope of the change. Changes to draw_table() are wider and unclear as we have to change from a fixed number of dives (25 actually) to a variable one. Not patched still. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-10Updates on Finnish translationGravatar Miika Turkia
A couple of bug fixes and new translations. I also took the fuzzy marking from strings that look like proper translations. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09The print header should read DurationGravatar Miika Turkia
The context for this text is Duration, not Time. The translation for string Time was impossible when considering that on one location it was used to mean 'duration' and on the other it meant 'time'. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Updated bg_BG translation for 3.0Gravatar Lubomir I. Ivanov
- Added translations for pretty much everything new since the last iteration - Removed most usages of tags where both words begin with upper case letters. For example, "Some Tag" may look OK in English, but not so good in other languages. It's much better to have it as "Some tag" in Bulgarian. - Reverted some of the made-up abbreviations (such as the one for SAC) to the default English ones (i.e. just SAC). I'm not exactly sure those made any sense at all, so lets have them in English, as a little precaution. Hopefully enough for the 10-15 (in total) Bulgarian diving nerds out there. :) Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Make map dot more visibleGravatar Henrik Brautaset Aronsen
The OSM_GPS_MAP_SOURCE_VIRTUAL_EARTH_HYBRID shows cities as red dots in a couple of the zoom levels. Make the dive dots larger and yellow to make them stand out. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Fix up Swedish translation for recent po changesGravatar Linus Torvalds
Minimal fixups just to make things happier. Fredrik will hopefully double-check and fix this up further, but at least we have *some* string for the planning warning etc. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Switch to satellite image map providerGravatar Henrik Brautaset Aronsen
The current google map provider doesn't show coast lines properly and a lot of islands aren't shown at all. OSM_GPS_MAP_SOURCE_VIRTUAL_EARTH_HYBRID is much better IMHO. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Updates to Dutch translationGravatar Reinout Hoornweg
Translated some new strings. Fixed a typo in one of my earlier translations Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Replace deprecated gdk_pixbuf_unref with g_object_unrefGravatar Dirk Hohndel
This appears to be the better API call to do this (according to online documentation and compiler warnings on Linux). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09gps.c: Make two more memory leak fixes and a small coding style changeGravatar Lubomir I. Ivanov
1) add_gps_point(): Apparently osm_gps_map_point_new_*() is leaking memory if the point struct is not freed after the point is added to the map osm_gps_map_track_add_point(). However the API for releasing a point is missing on older Windows builds of the map library, so instead of osm_gps_map_point_free() we simply call: free((void *)point); 2) init_map() According to memory management tools osm_gps_map_get_default_cache_directory() is using g_realloc for eventual string expansion therefore we have to release at the returned pointer. 3) add_gps_point() Also a small coding style change is made: move the pointer symbol (*) near the name of the variable instead of leaving spaces on both sides, like: <type> * <name> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> ... Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09gps.c: Use only one instance of the map object and windowGravatar Lubomir I. Ivanov
Both show_gps_locations() and show_gps_location() have static local variables 'map' (OSM_TYPE_GPS_MAP) and 'window', so technically both would create their own instances of these objects. This patch promotes the two variables to global, so that only one instance per type ever exists. A memory leak that is addressed is at the flag pixbuf allocation, which has to be freed right after the image is added to the map: picture = gdk_pixbuf_from_pixdata(&flag_pixbuf, TRUE, NULL); ... gdk_pixbuf_unref(picture); There is also a heap-lifespan memory leak at: map = g_object_new(OSM_TYPE_GPS_MAP,... but GLib isn't exacly happy about us unrefing it right before exiting the GTK main loop, so no fix is provided for that unfortunately. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Fixed a memory leak related to the satelite iconGravatar Lubomir I. Ivanov
divelist.c:get_gps_icon_for_dive() In all callers of the function use gdk_pixbuf_unref() to release the returned GdkPixbuf (but also check for NULL). Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Fixed some memory leaks in divelist.c related to gtk_tree_iter_copy()Gravatar Lubomir I. Ivanov
divelist.c: get_iter_from_idx() goes trought the tree model and calls iter_has_index(), until a match is found. when the match is found we use gtk_tree_iter_copy() to make a copy of the iterator. This means that the caller of get_iter_from_idx() has to take care the de-allocation using gtk_tree_iter_free(). Also take care of the eventual: parent = gtk_tree_iter_copy(...) allocation in select_prev_dive(), select_next_dive() Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Fixed a memory leak in webservice.cGravatar Lubomir I. Ivanov
webservice.c:webservice_download_dialog() If a value for previous UID is returned from the user config via subsurface_get_conf("webservice_uid"), make sure to free the string near the function return. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Fixed some memory leaks in windows.c and main.cGravatar Lubomir I. Ivanov
windows.c:subsurface_gettext_domainpath(): - memory at pointer returned from g_win32_getlocale() should be released main.c:setup_system_prefs() - it seems all calls to <os_file>:system_default_filename() return a pre-allocated buffer, therefore we don't need to call strdup() on the result itself. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Probably the final Norwegian PO-file update before 3.0Gravatar Henrik Brautaset Aronsen
Yeah, right :) Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Updated Swiss German translationGravatar Dirk Hohndel
Just to show the advantage of running make prepare-po-files before submitting a patch. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09New Makefile target to create smaller diffs for translationsGravatar Dirk Hohndel
Simply run make prepare-po-files and msgcat will be run over all po files to create consistent location references. That plus the change I made earlier to how we update the po files should create much smaller and easier to read diffs for translators. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Updated German translationGravatar Dirk Hohndel
This translation update was done with poedit which usually creates hugh amounts of noise because of the different format of text location references. By post-processing the file with msgcat --no-wrap po/de_DE.po -o po/de_DE.po the diff becomes MUCH smaller and much easier to read... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Hopefully last change to po filesGravatar Dirk Hohndel
While this is a pain for everyone, I decided not to edit out the code reference noise - after all this is supposed to help translators find where the text is used in case it's unclear how to translate something. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Small update to German translationGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Improvements on MacDive importGravatar Miika Turkia
New information of the upcoming MacDive log format is taken into account, more Imperial conversions are added and a couple of bugs fixed. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Enable XSLT transforms on OSXGravatar Henrik Brautaset Aronsen
We still need proper paths and install options for the install-macosx and create-macosx-bundle targets. This enables XSLT support when running as ./subsurface, but doesn't hurt the other install targets. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Add XSLT support for the macosx install and bundle targetsGravatar Henrik Brautaset Aronsen
Works like it should for the install-macosx target. I haven't tested the create-macosx-bundle target, but it shouldn't be any different. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Updates to German translationGravatar Martin Gysel
resynced with de_CH, some spelling bugs fixe, improved translation (hopefully) Signed-off-by: Martin Gysel <me@bearsh.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Updates to Swiss German translationGravatar Martin Gysel
synced with de_DE, fixed some bugs Signed-off-by: Martin Gysel <m.gysel@consonics.ch> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Finish removing accesses to first divecomputer instead of diveGravatar Dirk Hohndel
This adds watertemp and airtemp to the dive, populates them in fixup and uses them elsewhere in the code. WARNING: as a sideeffect we now edit the airtemp in the dive, but we never display this in the DIve Info notebook (as that always displays the data from the specific selected divecomputer). This is likely to cause confusion. It's consistent behavior, but... odd. This brings back the desire to have a view of "best data available" for a dive, in addition to the "per divecomputer" view. This would also allow us to consolidate the different pressure graphs we may be getting from different divecomputers (consider the case where you dive with multiple air integrated computers that are connected to different tanks - now we could have one profile with all the correct tank pressure plots overlayed - and the best available (or edited) data in the corresponding Dive Info notebook. This commit also fixes a few remaining accesses to the first divecomputer that fell through the cracks earlier and does a couple of other related cleanups. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Move duration to dive structure and replace accessor functionGravatar Dirk Hohndel
When starting on this quest to stop using the first divecomputer instead of data for the whole dive in commit eb73b5a528c8 ("Duration of a dive is the maximum duration from all divecomputers") I introduced an accessor function that calculates the dive duration on the fly as the maximum of the durations in the divecomputers. Since then Linus and I have added quite a few of the variables back to the dive data structure and it makes perfect sense to do the same thing for the duration as well and simply do the calculation once during fixup. This commit also replaces accesses to the first divecomputer in likely_same_dive to use the maxdepth and meandepth of the dive (those two slipped through the cracks in the previous commits, it seems). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Add a meandepth to the dive structureGravatar Dirk Hohndel
This is currently only used in one place (in statistics.c), but it certainly is consistent with the other recent changes to avoid using only the first divecomputer when trying to make statements about a dive. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Show the actice divecomputer's data in the Info notebookGravatar Dirk Hohndel
While the profile switched between different divecomputers, the Dive Info notebook always showed either information from the first divecomputer or (with some of the recent changes) information that had been collected from all divecomputers and somehow consolidated for the dive. With this commit we now show the data from the same divecomputer that is also shown in the profile (which means if some data is available from one of the divecomputers and not from another that will be correctly reflected in the Dive Info notebook as the user cycles through the divecomputers. This does beg the question if we should have some kind of "best data available, considering all divecomputers" mode - but that's definitely not something I'll tackle prior to 3.0. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-09Initialize variables in helper functionsGravatar Dirk Hohndel
In commit 904aa0be0d0e ("Do more dive fixup for each dive computer") two new helper functions were introduced that sadly both incremented variables without initializing them, first. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-08Add maxdepth back to the dive structureGravatar Dirk Hohndel
Populate during dive fixup as the maximum depth shown by all the divecomputers. Use this value (instead of the one in the first divecomputer) in printing, statistics, etc. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-08Improve calculation of maxtemp and mintemp of diveGravatar Dirk Hohndel
The existing code only populated the maxtemp based on the samples of a dive and then in statistics.c checked if there was no such temperature and replaced it with the water temperature of the first divecomputer. It makes much more sense to add the water temperature information in every divecomputer to the min / max calculation during the dive fixup phase. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-08Avoid using float when dealing with GPS locationGravatar Dirk Hohndel
Float values have insufficient precision compared to the udeg we usually store - so we create a special callback function to use from osm-gps-map and everywhere else use integers. This patch also increases the decimal places displayed in the GPS text entry box - this way we can cut and paste the text without loss of precision. Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-08Walk over each divecomputer entry in fixup_dives()Gravatar Linus Torvalds
The fixup_dives() code used to only look at the first divecomputer, which meant that minimun temperatures etc for the dive would only ever come from the primary divecomputer. This splits up the code that walks over the divecomputer into a function of its own, and iterates over all computers in fixup_dive() calling into it. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-08Do more dive fixup for each dive computerGravatar Linus Torvalds
In commit b6c9301e5847 ("Move more dive computer filled data to the divecomputer structure") we moved the fields that get filled in by the dive computers to be per-divecomputer data structures. This patch re-creates some of those fields back in the "struct dive", but now the fields are initialized to be a reasonable average from the dive computer data. We already did some of this for the temperature min/max fields for the statistics, so this just continues that trend. The goal is to make it easy to look at "dive values" without having to iterate over dive computers every time you do. Just do it once in "fixup_dive()" instead. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-08Simplify/clarify the get_surface_pressure_in_mbar() functionGravatar Linus Torvalds
Instead of maintaining a rolling average and re-calculating it at each stage, just calculate the surface_pressure average the natural way: as the sum divided by the number of entries. This results in a single rounding, rather than doing rounding multiple times and possibly rounding wrong as a result. Not that we care all that deeply about the LSB of the mbar value, but the code is simpler and more obvious this way too. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>