Fix some signedness issues

I always worry if these are worth following up on - but these seem pretty
clear and obvious to me. As far as the planner is concerned, depth is
unsigned.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fixed conversion error when downloading salinity from DC

libdivecomputer doesn't give the salinity in kg/l, but in g/l and
subsurface works with g/10l. So the salinity was too big by a factor
of 1000.

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fix edit + cancel = absolute zero

If a temperature in Kelvin is 0, I think we can safely assume it is
not set.

Fixes #207.

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
main.cpp: remove usage of subsurface_command_line_*

subsurface_command_line_* are now redundant as Qt
should handle the command line argument parsing on Windows
for which these functions where mainly used and where NOP
for other OS.

main.cpp also receives a couple of small changes to use:
QCoreApplication::arguments()
to obtain the list of expanded arguments and parse those
instead.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fix ui_%.h building to .uic

This rearranges things so that all the ui-generated headers are put in
.uic and found by the buildsystem the right way<tm>

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Make a copy of the translated text

Otherwise the translation will get freed (and often reused) before it
makes it to the screen.
The problem with this is that it leaks memory for every translation.

Reported-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Implement a qmake-based build for Subsurface

This is working for me, but requires a bit more testing. To build,
run:
  qmake [options]

Where options might be:
  V=1               disable "silent" build
  LIBDCDEVEL=1      use side-by-side libdivecomputer
  INCLUDEPATH+=xxx  add -Ixxx (e.g., INCLUDEPATH+=/usr/local/marble/include)
  LIBS+=xxx         add xxx to the linker flags (e.g. LIBS+=-L/usr/local/marble/lib)
  or any other qmake option, including debug and release options

If your distribution is already using qtchooser in place of qmake, you
may need to pass an extra option to qmake to select the a
cross-build. For example:

  qmake -qt=i686-w64-mingw32-qt4

If your distribution is not yet using qtchooser, then you need to file
a bug report requesting it and you need to run the full path to qmake.

Note:
 - there are some ### left in the buildsystem
 - and version.h is generated at qmake time. It's not updated during make.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Implement updating version.h after every commit

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Remove the old buildsystem

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Compile the documentation too
Add qmake rules to install Subsurface

This is probably the most complex part of the new buildsystem. This
adds the following targets:

 - Linux:
   make install - installs to $(prefix) (default: /usr)
   The install path can be changed during make install time.

 - Windows:
   make install - installs Subsurface and its dependencies to
                  packaging/windows.

 - Mac:
   make mac-deploy     - populates Subsurface.app with the dependencies
   make install        - mac-deploy + install Subsurface.app to /Application
   make mac-create-dmg - mac-deploy + creates Subsurface-$VERSION.dmg

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Add information that goes into the Windows .exe file

And drop the unnecessary .rc file.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
And let qmake create the Mac bundle on its own

It will even parse the Info.plist.in file for us and run sed on it.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Add a tool to scan for dependencies on Windows

Similar to ldd on Linux.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Update the README and create an INSTALL file.

Let the README contain generic information and move the build
instructions to the INSTALL file.

Signed-off-by: Thiago Macieira <thiago@macieira.org>