summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2015-07-05Add simple test for the dive plannerGravatar Dirk Hohndel
This sets up a standard dive scenario (30 minutes at 260ft/79m, EAN36 and Oxygen as deco gases, last stop at 20ft/6m) and calls the planner to set up a dive plan given certain standard gases. Instead of trying to verify the complete plans it checks that we switch to the deco gases at the right depth and the complete duration of the dive matches our expectation. The test intentionally fails right now for imperial as we have the wrong switch depth for Oxygen. See how useful tests are? On the downside, the test does NOT produce the same plan as Subsurface when I try to create a consistent setup for both - and I have not been able to figure out why. There must be some other parameters that I'm not setting, but I haven't identified them, yet. It's very small differences, for example in the metric case the stops at 21m, 9m, and 6m are each one minute shorter in the test than it what Subsurface calculates. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Merge branch 'taxonomy'Gravatar Dirk Hohndel
2015-07-01Geo taxonomy: create some data structures and helper functionsGravatar Dirk Hohndel
This is designed to store taxonomy information for dive sites, including information where the data came from. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Cmake support: remove a clearly broken lineGravatar Dirk Hohndel
This was intended to help us fine libssh2, but since it works as is now, and the typo makes the entry pointless, I'm pretty sure that this isn't needed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Introduce CMake support for building for AndroidGravatar Anton Lundin
This is the first step to be able to build Subsurface with CMake for Android. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Fix NO_PRINTING when printing is disabled in QtGravatar Anton Lundin
Qt for android doesn't have any printing support, so this fixes NO_PRINTING so we can build against a Qt without any printing support at all. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Group QT-quick options into one blockGravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Re-introduce NO_USERMANUAL for Android buildingGravatar Anton Lundin
This re-introduces the NO_USERMANUAL flag, which is needed due to the fact that Qt-Android doesn't have a WebView to view the manual in. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-29Cmake: missing quotesGravatar Dirk Hohndel
I hate it when I do this Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-29Cmake: another attempt to make things work with libssh2Gravatar Dirk Hohndel
This seems to work on all the systems I was able to test it on. Famous last words. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-29Fix build with libssh from gitGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-27Make sure the output directory is created before we run asciidocGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-21Cmake support: the printer files are part of the UIGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-21CMake support: turn building for mobile into an optionGravatar Dirk Hohndel
This way it can be easily turned on and off from ccmake. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-21Cmake support: fix typoGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-20Add DiveListModelGravatar Grace Karanja
This model will be used to show the dives in QML. This commit adds the model, and the means to link it to QML. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-20Add QMLManager to the cmakeGravatar Grace Karanja
Build the QMLManager class when compiling for mobile. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-20Add subsurface-mobile app to cmakeGravatar Grace Karanja
Add a subsurface-mobile entry to the CMakeLists.txt file. When cmake is run with -DSUBSURFACE_MOBILE=True, the compiled app will be named subsurface-mobile, and the initial page (main.qml) will automatically be loaded. This will ensure that the mobile app will be linked to QtQuick. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-20Cmake support: remove Documentation/images in build dirGravatar Dirk Hohndel
In earlier versions we didn't simply create a link but actually copied the directory and its contents. So for this to work smoothly for people who have built earlier versions of Subsurface with cmake we need to no just remove the link but be willing to recursively remove that directory. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-20Cmake support: fix in tree buildsGravatar Dirk Hohndel
And add a message that we suggest that out of tree builds are a better idea. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-19Windows installer: include grantlee plugins and printing templatesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-19Allow printing and HTML export to work when running from build directoryGravatar Dirk Hohndel
Yet more things that wouldn't work for a native build under Windows. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-19Printing: fix "if" condition clause in cmake fileGravatar Gehad elrobey
Check for NO_PRINTING instead of checking for NOT NO_PRINTING. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-06-16Implement a standalone HTML exporterGravatar Dirk Hohndel
This is mostly a proof of concept right now; it shows that it is possible to create a headless server application that exports a git repository based data file as html. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-16Separate initializing Qt from initializing the UIGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-16HTML export: separate UI and logic codeGravatar Dirk Hohndel
In order to be able to initiate an HTML export from the core library we need to separate the actual logic from the UI. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-16Move checking the cloud connection into its own filesGravatar Dirk Hohndel
This isn't UI related and shouldn't have been in a file full of UI functionality. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-16Code cleanup: implement window title update via signalGravatar Dirk Hohndel
This seems quite convoluted to me but I can't seem to make a more straight forward implementation work. The idea is that core code should never directly call into the UI. So instead the core code (this is C code) calls a helper function. That helper function calls a member function of a class which in return emits a signal. The UI code connects to that signal and acts accordingly when it is received. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-13Simplify distance calculationsGravatar Anton Lundin
This simplifies the distance calculations and removes a dependency. This version uses propper math instead of my to simple previous version. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-12Cloud storage: Require libcurl in order to support http proxiesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-10Add helper function to determine the distance between two pointsGravatar Dirk Hohndel
And use this to find a dive site within a certain radius of a GPS fix. This will be used to figure out if dive sites might be the same. This uses a new Qt5 component (Positioning) which was added in Qt5.2. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-09Fix Ubuntu buildGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04Printing: Remove more obsolete code from printlayoutGravatar Gehad elrobey
This code can be removed as we don't need QT printing code anymore. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04Printing: Change "NEW_PRINTING" to "NO_PRINTING"Gravatar Gehad elrobey
If NO_PRINTING is not set, subsurface will require grantlee during building. As Grantlee will be a hard dependency for Subsurface, so no Grantlee means no printing. [Dirk Hohndel: switched default for NO_PRINTING to ON] Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04Printing: Add Printer class that holds the rendering logic.Gravatar Gehad elrobey
Render Html pages into a QWebView then print it using QPainter. the Printer::print() is called that prepare the HTML file to be rendered by the QWebView. Printer::render() will do the rendering task. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04Printing: Add TemplateLayout classGravatar Gehad elrobey
This is the main class to hold Grantlee engine logic. TemplateLayout::generate() loads QT5Grantlee and initialize the templates then returns a QString that contains the rendered HTML by Grantlee library. Also this class contains the Dive class which holds the logic that formats the data before passing it to the templates. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04Cmake: add optional pkg-config for GrantleeGravatar Lubomir I. Ivanov
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-04CMAKE: Require Grantlee libraryGravatar Gehad elrobey
-find Grantlee package -install the printing_templates directory Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-03Cmake: handle the case of local libgit2 but pkg_config for libssh2Gravatar Dirk Hohndel
Yes, it's kinda weird but that's what I happen to have on one of my systems and this seems easy enough to implement. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-03Use CMake to find libssh2Gravatar Tomaz Canabrava
This works on my system, I hope I don't break others. Another possibility is to pass -libssh2 directly if it's NOTFOUND. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-01Cloud storage: only make this available with new enough libgit2Gravatar Dirk Hohndel
The credential callback doesn't appear to work (at least not the way I implemented it) with v0.22 and earlier. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29LocationInformationModel moved to qt-modelsGravatar Tomaz Canabrava
I forgot about this one, and we are going to use it in the mobile version too. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move DivePlotDataModel to qt-modelsGravatar Tomaz Canabrava
I think with this one I'm finished. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move DivePictureModel to qt-modelsGravatar Tomaz Canabrava
This class will surely be used on the mobile version, and it was very tangled inside divepicturewidget. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move ProfilePrintModel to qt-modelsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move TablePrintModel to Qt-modelsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move DiveTripModel to qt-modelsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move the YearlyStatisticsModel to qt-modelsGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move TreeModel to qt-modelsGravatar Tomaz Canabrava
TreeModel is the base of some important models in Subsurface, the statistics model and the dive list models, this second is the most important one in the whole Subsurface universe. This commit is another one in the series to make easy to create a mobile version of Subsurface. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-29Move DiveComputerModel to qt-modelsGravatar Tomaz Canabrava
Another attempt to make it easyer to create the mobile version of Subsurface. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>