summaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Collapse)Author
2013-04-15Separate Gtk related code from core logic: statisticsGravatar Dirk Hohndel
Fairly straight forward, so far just one tiny bit of code restructuring, everything else separated cleanly. Added statistics-gtk.c and statistics.h This should make no difference to functionality. Cherry-picked from Qt branch; fixed merge issues mostly caused by dive_tags and Makefile changes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-15Separate Gtk related code from core logic: infoGravatar Dirk Hohndel
Surprisingly straight forward, just a couple of places where we really mix significant logic with UI code (for example setting the window title). I had to move amount_selected from display-gtk.h to display.h - I guess the number of dives that are selected is UI independent. But I wonder if we still will track this as a global variable in a Qt UI (since the Gtk selection logic is the main reason this existed in the first place). Added a new info.h files for the necessary declarations. This should make no difference to functionality. Cherry-picked from Qt branch; fixed merge issues mostly caused by dive_tags and Makefile changes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-08Separate Gtk related code from core logic: plannerGravatar Dirk Hohndel
Relatively straight forward, just a handful of places where we call show_error() (a UI function) from the logic code. In the process I noticed a few places where error returns weren't dealt with correctly. Added a new planner.h files for the necessary declarations. This should make no difference to functionality. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-04-07Separate Gtk related code from core logic: divelistGravatar Dirk Hohndel
This is simplistic & brute force: any function that touches Gtk related data structures is moved to divelist-gtk.c, everything else stays in divelist.c. Header files have been adjusted so that this still compiles and appears to work. More thought is needed to truly abstract this out, but this seems to be a good point to commit this change. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-14Revert "Only include .po files that has a companion .aliases file"Gravatar Henrik Brautaset Aronsen
Commit 6044c22741 wrongly assumed that a disabled .po file had a companion .disabled file instead of an .aliases file. Running make after "tx pull -af" generated errors which I tried to fix. I shouldn't have, because the Makefile did the right thing. It warned about a missing .aliases file for a brand new translation. So, I'm reverting the commit and use "tx pull -f" instead the next time I need to test existing translations. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-13Only include .po files that has a companion .aliases fileGravatar Henrik Brautaset Aronsen
Disabled translations have a .disabled file instead of an .aliases file. Without this patch I couldn't make subsurface after a tx pull (when testing translations). This patch makes the .aliases file an explicit requirement for a valid translation. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-12Fix the build under Kfreebsd & HURD.Gravatar Sylvestre Ledru
Ensure that Kfreebsd and HURD are recognized as "like Linux" Signed-off-by: Sylvestre Ledru <sylvestre@debian.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-04Limited support for Suunto DM4 importGravatar Miika Turkia
Basic functionality is implemented but at least support for multiple cylinders is missing. Event/alarm support is only partial. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-04Fix the permission of the ICONFILE and the locale filesGravatar Sylvestre Ledru
Lintian, the Debian package static analyzer, was complaining about the "wrong" permissions on these files. Signed-off-by: Sylvestre Ledru <sylvestre@debian.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-03Update README, ReleaseNotes and Makefile for 3.0.2Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-28Move translations to transifex.comGravatar Kévin Raymond
Translation management is done through Transifex now for easy translations. Translators should note that fuzzy strings are not used any more since Transifex does not handle it (by choice). In order to pull translations, you need a transifex.com account. Signed-off-by: Kévin Raymond <shaiton@fedoraproject.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-28OSX: also need to add the CoreServices framework to linkerGravatar Dirk Hohndel
We had this before - it appears that some versions of OSX need us to explicitly list the frameworks we are using during the linking stage while others are perfectly happy without that. But since listing them doesn't appear to hurt this commit should be safe. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-27Suppress the "/bin/sh: 1: cannot open version.h: No such file" noise.Gravatar Cristian Ionescu-Idbohrn
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-27Add target `all' to avoid "target order is important" confusion.Gravatar Cristian Ionescu-Idbohrn
Signed-off-by: Cristian Ionescu-Idbohrn <cii@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-26Update versions to 3.0.1Gravatar Dirk Hohndel
almost forgot Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-26Get make to rebuild Subsurface by default againGravatar Dirk Hohndel
To quote Linus: Move the rule for the new version thing down. Plain "make" will try to make the first target in the Makefile. Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-26Generate/update a version.h header file.Gravatar Cristian Ionescu-Idbohrn
This is dedicated to Lubomir ;) Should work (tm). Not sure though if you want target 'gen_version_file' as a pre-requisite to $(NAME) or some other target. [Dirk Hohndel: minor adjustments to make it work with gtk-gui.c] Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-22Add correct XSLT search path for WindowsGravatar Dirk Hohndel
And report error if XSLT stylesheet not found Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20Updating versions for 3.0Gravatar Dirk Hohndel
Most of the actual version numbers are derived from the git tag, but we do have the fallback hard-coded in the Makefile (e.g. for people building from a source tar-ball). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-16Unified handling of version extraction.Gravatar Cristian Ionescu-Idbohrn
Removed oddly named and ridiculously outdated documentation text (scripts). Created new directory 'scripts'. Added unified version extraction script (scripts/get-version). Yes, it's more shell script code but faster and more maintainable than the sed commands and the swearwords/regexps repeated over and over again. Makefile and packaging/macosx/make-package.sh modified accordingly. I don't do windos neither macos but, AFAICS my tests show, it should be safe. Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15Further automization of the Mac build processGravatar Dirk Hohndel
This improves the Plist.info and automates the version data that it uses utilizing the same git magic that the Makefile uses. It also makes the complete DMG creation a matter of simply running packaging/macosx/make-package.sh Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15Fix sha1 build for WindowsGravatar Dirk Hohndel
This works at least when cross compiling. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-15Get the SHA1 routines from git instead of opensslGravatar Linus Torvalds
..they are of a higher quality anyway, and this way we have one less library to worry about. And this way there is nobody who can claim that openssl is not a system library and thus not compatible with the GPL. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-14Add support for signing Mac applications to the MakefileGravatar Dirk Hohndel
Maybe I should comment out the target that requires my private key to work... 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-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-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-02Move about icon to include fileGravatar Henrik Brautaset Aronsen
Getting the about icon to display in various scenarios on MacOSX was a pain. Moving the icon to an include file solved the problem. This commit also fixes the problem Dirk was having when converting satellite.svg to a png in commit cf3c0266c2. I couldn't quite get ImageMagick to preserve transparency and color when converting subsurface-icon.svg, though, so I used Gimp instead. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
2013-02-02Rename subsurface.svg to subsurface-icon.svgGravatar Henrik Brautaset Aronsen
In preparation for a subsurface-icon.h, this should avoid confusion about whether "subsurface.h" is a core header file. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
2013-02-01Fix the rules for creating the windows .nsi fileGravatar Dirk Hohndel
This was one of the reasons why I tagged version 2.9. I wanted to test all the Makefile magic we added to get sane and automated versions on Windows and Linux. And it turned out my sed script failed in rather obvious ways. These changes appear to fix that - but of course you won't see that unless you reset your git repository to the tag and manually apply this patch. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-01Bump version number to 2.9v2.9Gravatar Dirk Hohndel
This is intended as a visual sign that we are getting closer to 3.0. We should consider this a "soft" code freeze / string freeze - I'm still looking for a bunch of fixes, small additions and of course documentation, but no new major features. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-01Move flag icon to include fileGravatar Dirk Hohndel
Just like with the satellite icon we are creating a pixdata structure for the flag. The Makefile cleanup in commit df6a9ddd8a21 ("Auto-generate C file dependencies, and make the build more quiet") removed the rules for generating the .h file by mistake (I hope). This adds a more generic rule back in and also makes sure that the data structures get more useful names. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-31Hide the error output from pkg_config if you don't have osm-gps-mapGravatar Dirk Hohndel
This became very obvious after commit df6a9ddd8a21 ("Auto-generate C file dependencies, and make the build more quiet") went in; since not having osm-gps-map is one of the few errors that aren't fatal for building it seemed worth quieting this down. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-31Auto-generate C file dependencies, and make the build more quietGravatar Linus Torvalds
This does some rough auto-generation of header file dependencies for all the *.c files, rather than our file-by-file incomplete hardcoded ones. It also stops showing the whole compile line, because it's ugly and distracting. Instead it just shows "CC file.c". If you care about the full thing, you still see them with "make -n". Only tested on Linux. It probably is missing some Windows or OSX-specific header includes. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-28Let's call them GTKCFLAGS, not GTK2CFLAGSGravatar Linus Torvalds
Maybe they will be for GTK3 some day. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-28Make subsurface compile with -DGSEAL_ENABLEGravatar Linus Torvalds
This forces us to use the proper gtk accessor functions. It may not be worth it if people actually do the Qt conversion, but if we want to try gtk3 at some point, this might help. This all came about because I was trying to explain on G+ what an immense pain this all was to even figure out, if you don't actually know gtk at all. Google and the gtk migration guide are almost useless, and the gtk2 documentation itself actually uses the fields directly without any accessor functions in several places. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-24Try to automate the version number used in the windows installerGravatar Dirk Hohndel
This adds a Makefile target to create the .nsi file from a template and to hopefully create the right strings to magically get the correct version strings in the Windows installer Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-24Include git revision in version numberGravatar Linus Torvalds
This makes sure that it's easy to tell from the about box whether this is a released version or a development build. If it is compiled at the exact location of the tag, "git describe --tags" will just return the tag-name. Otherwise it will return something like this v2.1-393-ge03f31525aab which means "v2.1 plus 393 commits, git SHA1 of tip is e03f31525aab", which is a nice combination of git-readable (only the actual SHA1 matters) and human-readable (393 commits on top of v2.1). And if you don't build from git sources, and don't have git installed, it falls back on the old "v$(VERSION)" string. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-22Satellite icon dietGravatar Linus Torvalds
[Dirk Hohndel: converted to png and .h] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-22Add GPS icon to the location column for dive sites where we have GPS dataGravatar Dirk Hohndel
This replaces the really lame "italics text" from commit abe810ca1a29 ("Mark locations that have GPS location data attached") with a marginally less lame GPS icon.There's a reason why I am not making a living as graphics artist. But I think this is a huge step forward from what we had before... The satellite.svg file is very loosely based on a different icon that I found as public domain here http://www.clker.com/clipart-30400.html. From that I created the PNG and then that was converted into the GdkPixdata via gdk-pixbuf-csource; a rule for that was added to the Makefile but commented out as I don't know if this tool will always be available in the path. Having this icon included in the sources avoids locating yet another icon file. Better icons are certainly welcome! Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-19Add CFLAGS to build rule for webservice.oGravatar Dirk Hohndel
Otherwise it won't compile on MacOS X Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-17Updated the Makefile to support libsoup and include webservice.[c|h]Gravatar Lubomir I. Ivanov
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-17Hack Makefile, gtk-gui.c and divelist.c to allow building w/o osm-gps-mapGravatar Dirk Hohndel
While we are waiting for an autotools generated Makefile, this should allow people to build that don't have osm-gps-map. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-13Work on a dive localisation tool using GPS coordinatesGravatar Pierre-Yves Chibon
For each dive recorded, place their GPS coordinates onto a map using the OSM-GPS-MAP library. This map is accessible via the "log" menu or the shortcut ctrl+M (M as map). We check for the GPS coordinates "0, 0" which are the default when we do not have real GPS coordinates set. [Dirk Hohndel: fixed int/float math confusion, fixed some whitespace and coding style issues, cleaned up some comments, added a missing cast to prevent a compiler warning] Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr> Signed-Off-By: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-11Update preference saving for numeric valuesGravatar Linus Torvalds
This does the "don't save defaults" for numeric values too. Also, move the preferences loading/saving to a new "prefs.c" file. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-11gtk-gui.c: Move the download dialog related code to a new fileGravatar Lubomir I. Ivanov
A new file download-dialog.c now contains all code related to the download dialog, which was previously defined in gtk-gui.c. Also, a new file callbacks-gtk.h now has two macros OPTIONCALLBACK, UNITCALLBACK shared only between download-dialog.c and gtk-gui.c. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-09Move device_info handling into a new 'device.c' fileGravatar Linus Torvalds
The legacy nickname wrappers (that use the device_info structure) are left in gtk-gui.c. We can slowly start moving away from them, we don't want to start exporting that thing as some kind of generic interface. This isn't a pure code movement - because we leave the legacy interfaces alone, there are a few new interfaces in device.c (like "create a new device_info entry") that were embedded into the legacy "create nickname" code, and needed to be abstracted out. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-07Move planner UI into planner.cGravatar Dirk Hohndel
There should be NO other changes in this commit - just moving the code and adjusting the includes (and adding the entry point to display-gtk.h). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-01-04First stab at simplistic dive planningGravatar Dirk Hohndel
This comes with absolutely no gui - so the plan literally needs to be compiled into Subsurface. Not exactly a feature, but this allowed me to focus on the planning part instead of spending time on tedious UI work. A new menu "Planner" with entry "Test Planner" calls into the hard-coded function in planner.c. There a simple dive plan can be constructed with calls to plan_add_segment(&diveplan, duration, depth at the end, fO2, pO2) Calling plan(&diveplan) does the deco calculations and creates deco stops that keep us below the ceiling (with the GFlow/high values currently configured). The stop levels used are defined at the top of planner.c in the stoplevels array - there is no need to do the traditional multiples of 3m or anything like that. The dive including the ascents and deco stops all the way to the surface is completed and then added as simulated dive to the end of the divelist (I guess we could automatically select it later) and can be viewed. This is crude but shows the direction we can go with this. Envision a nice UI that allows you to simply enter the segments and pick the desired stops. What is missing is the ability to give the algorithm additional gases that it can use during the deco phase - right now it simply keeps using the last gas used in the diveplan. All that said, there are clear bugs here - and sadly they seem to be in the deco calculations, as with the example given the ceiling that is calculated makes no sense. When displayed in smooth mode it has very strange jumps up and down that I wouldn't expect. For example with GF 35/75 (the default) the deco ceiling when looking at the simulated dive jumps from 16m back up to 13m around 14:10 into the dive. That seems very odd. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>