aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface.pro
AgeCommit message (Collapse)Author
2014-02-10Enable the dive planning under a compile flagGravatar Danilo Cesar Lemes de Paula
Allow subsurface to show the dive planner in case a compile flag is given. qmake CONFIG+=planner Signed-off-by: Danilo Cesar Lemes de Paula <danilo.eu@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-06Include images in profileGravatar Robert C. Helling
This adds an entry to the dive list context menu to load images. The user can select image files and set a time offset to align camera and dive computer clocks. Using the exif time stamp the images are tried to match to the times of the selected dives (with a grace period of an hour before and after the dive). Upon success an event of type 123 is created per image with the string value being the path to the image. Those images are displayed as thumbnails in the profile. If the matching dive does not yet have a geo location specified but the image provides one it is copied to the dive (making the camera a poor man's companion app). This patch includes easyexif https://code.google.com/p/easyexif/ which is originally under a New BSD License to parse the image meta data. This commit includes a new test dive dives/test31.xml with a matching image wreck.jpg to try out the functionallity. Obvious to do's: Have images on the map Have the images clickable Have a proper picture viewer Give visual reference for image time shifting. Use the new profile Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-06Move the divetooltipitem to its own file.Gravatar Tomaz Canabrava
This is needed so we can share the dive tooltip item with the new and old profile at the same time. Next few commits will be setting the functionality of the tooltip item on the new one. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-26Add qt-ui to DEPENDPATH.Gravatar Michael Andreen
Without this qmake doesn't take headers in qt-ui into account when creating makefiles, causing parallel builds to fail. Signed-off-by: Michael Andreen <harv@ruin.nu> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-17Added a DiveEventItem that knows how to handle itself.Gravatar Tomaz Canabrava
Simply pass a event to the item and it will know what to do. The sad part is that this isn't true yet - there's quite a bit of boilerplate that a lot of the items are needing, but the good part is that the boolerplate is the same in all of the items, which means that I can create a tiny bit of abstraction to encapsulate it and the code will be way smaller to setup the items on the canvas. Right now the items are being correctly placed on the right places. It doesn't supports hidding / showing yet. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Save XML files into a memory buffer rather than directly into a fileGravatar Linus Torvalds
This introduces a "struct membuffer" abstraction that you can write things into, and makes the XML saving code write to the memory buffer rather than a file. The UDDF export already really wanted this: it used to write to a file, only to then read that file back into memory, delete the file, and then *rewrite* the file after doing the magic xslt transform. But the longer-term reason for this is that I want to try to write other formats, and I want to try to share most helpers. And those other formats will need this memory buffer model. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Added the DiveProfileItem that uses the DiveProfileModel to diplay data.Gravatar Tomaz Canabrava
I've used the paint() method on it ( even if it's not necessary on a QGraphicsView ) to reduce absurdely the number of items that are inserted on the QGraphicsScene ( each small line of the profile should be an item if it was not for this, it's like that on the old profile. ) and thus reducing the memory consumption, speed and so on. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Added a Model that should handle the Dive ProfileGravatar Tomaz Canabrava
This model encapsulates the plot_info struct and provides a consistent way to show it using the Qt Model view system in the C++ and QML way. For a QGraphicsItem that should show a Profile, this is the start. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Cartesian Axis, based on the Ruler class on the Dive Planner.Gravatar Tomaz Canabrava
This is the same class as the Ruler, but uses the DiveLineItem and DiveTextItem classes created to make it animateable. The next few commits will work on that part. The Ruler was a very bad name for a class that's actually an Axis, that's why I depreceated the later. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Added a new Namespace to deal with Animations and related functions.Gravatar Tomaz Canabrava
Since the animation methods are fairly the same for any QGraphicsItem, I created a new namespace named 'Animations' that should handle all of the specific Animation Functions there, and the programmer has to call those functions from the objects. Good thing is that this reduces boilerplate code. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Add a class based on QGraphicsSimpleTextItem that handles animations.Gravatar Tomaz Canabrava
This commit adds a class based on QGraphicsSimpleTextItem that handls animations via animatedHide() animatedMoveTo() and a few other QPropertyes. This is to be used in conjunction with the DiveLineItem added in the past commit on the Coordinate Axis. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Added a class based on QGraphicsLineItem that can be animated.Gravatar Tomaz Canabrava
This class has animatedHide, animatedMoveTo and QProperty animations. it's very userful for the future creation of the Cartesian Axis that will have the ticks 'flowing' around when it's needed. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Added a QGraphicsPixmapItem subclass that handles Animations.Gravatar Tomaz Canabrava
This class is useful for adding / removing icons on the future profile in a way that they are smoothly added to / removed from the canvas. It uses the QProperty System to deal with animations. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Added a new class based on QGraphicsRectItem that can be animated.Gravatar Tomaz Canabrava
This class extends the QGraphicsRectItem with the ability to use the Qt Property System - and thus, we can animate the properties. Initially I put only the rectangle, the position and the x and y positions indidually for testing. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Add the skeleton for the New Profile System.Gravatar Tomaz Canabrava
The idea of this widget is to display and edit the profile. It has: 1 - ToolTip / Legend item, displays every information of the current mouse position on it, plus the legend for the maps. 2 - ToolBox, displays the QActions that are used to do special stuff on the profile ( like activating the plugins. ) 3 - Cartesian Axis for depth ( y ) 4 - Cartesian Axis for Gases ( y ) 5 - Cartesian Axis for Time ( x ) It needs to be dynamic, things should *flow* on it, not just appear / disappear. It's the last attempt to create a QGraphicsView based Profile System, as the next will most probably be written in QML. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-15Use the right Qt-module when building with Qt5Gravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-10Merge branch 'v4.0-branch'Gravatar Dirk Hohndel
Bring in the tag, the translations changes and edits preparing for 4.0.2 into master. This should make "git describe" on master create something reasonably sensible...
2014-01-10Extract user manual web view into a separate classGravatar Sergey Starosek
Provide search functionality which addresses ticket #391 Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Prepare for Subsurface 4.0.2 releaseGravatar Dirk Hohndel
Update version numbers and add "new in 4.0.2" summary to ReleaseNotes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-03Refactoring import to DiveLogImportDialogGravatar Miika Turkia
Changing the import stuff to DiveLogImport. Now we should have one import function/dialog for importing divelogs instead of multiple menu entries. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-03Prepare for 4.0.1 releasev4.0.1Gravatar Dirk Hohndel
Small updates to README, ReleaseNotes, user manual. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-02Make our 'ascii_strtod()' helper more genericGravatar Linus Torvalds
We'll want to do sane parsing of strings, but the C library makes it hard to handle user input sanely and the Qt toDouble() function interface was designed by a retarded chipmunk. So just extend our existing hacky "ascii_strtod()" to allow a more generic interface. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-24removed unused files.Gravatar Tomaz Canabrava
Thise files dates back from the beginning of the Qt port and were never used anyway... Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-14Remove translations with insufficient coverageGravatar Dirk Hohndel
Catalan, Croatian, Vietnamese and Indonesian all have less than 50% coverage in their translations, so we had to remove them. Hebrew just sneaked past this (rather arbitrary) cutoff. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-14Inching towards the 4.0 releaseGravatar Dirk Hohndel
Updates to README, ReleaseNotes.txt and subsurface.pro Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-12Remove unused fileGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-06Get ready for the release of 3.9.2v3.9.2Gravatar Dirk Hohndel
Small updates to README, ReleaseNotes.txt and a bump in the version number in the Makefile (forgot the in 3.9.1 - thankfully this is automatic for git based builds). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-05Add more languagesGravatar Dirk Hohndel
Not all of these are completed, but I want to include as many as possible in the last beta. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27Fix plugin deployment on WindowsGravatar Thiago Macieira
And increase our list of plugins to be deployed to include the GIF and SVG image plugins, the SVG icon engine and the CJK text codecs. The install rules now iterate over the plugin list and deploy the plugins in the right path in the staging area. The plugins must also be scanned for dependencies (Fedora's qjpeg4.dll depends on libjpeg-62.dll, which neds to be copied to the staging area). Finally, fix qt.conf needed to be fixed. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-18Shift times of selected divesGravatar Robert Helling
This patch adds the possibility to shift the times of all selected dives by a fixed amount to correct for time zone problems or mis-set dive computer clocks. Select the dives and right click in the dive list. [Dirk Hohndel: added .ui file to FORMS and fixed some whitespace damage] Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-15Include icons in the Windows installerGravatar Dirk Hohndel
Also fix the dependency / ordering issue with running makensis Fixes #252 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-14Update version number for 3.9 BETAv3.9Gravatar Dirk Hohndel
Our version numbers are purely numeric, so it's actually just 3.9 :-) Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-02Added a custom widget for tagging divesGravatar Maximilian Güntner
A custom tag widget has been added to MainTab. Tags are seperated by a comma ",". The implementation supports escaping a comma by using "\,". While typing, the widget supports the user by suggesting tags using a QCompleter. Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
2013-10-24Created a 'WebService' dialog that will handle download and upload.Gravatar Tomaz Canabrava
Created a WebService dialog that will handle download and upload from all child based webservices. Also, ported the currently - only - one webservice to use the new dialog. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2013-10-16GUI for CSV importGravatar Miika Turkia
This patch implements GUI for importing CSV log files. One is able to configure what columns contain time, depth and temperature fields. Pre-configured log applications currently included are ADP log viewer and XP5. (Both of these use actually tab as separator, so the field separator currently hard-coded.) [Dirk Hohndel: minor fixes] Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-15First step to being able to use transifex again for translationsGravatar Dirk Hohndel
This sadly contains a very noisy .ts file diff as those files now are one directory down from their original spot, so recreating them changed all the source paths. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-12Include location flag in bundleGravatar Dirk Hohndel
The little marker flag for our dives was missing on the Mac. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Install qt translations into Mac bundleGravatar Dirk Hohndel
This is much harder than it should be... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Fix bug in Documentation make invocationGravatar Dirk Hohndel
Without the trailing slash the Makefile in Documentation would create the wrong target name (with run-together path / filename) and therefore would always recompile the documentation. And we don't need to check that the Documentation directory exists - it's part of our sources... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-10Automatically build translationsGravatar Dirk Hohndel
This runs lrelease against the .ts files and automatically recreates the .qm files if any of the .ts files changes. This also moves the .ts files into the translations directory. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-10Add translation filesGravatar Dirk Hohndel
These were created by converting the exting translations from po to ts lconvert po/xx_yy.po -o subsurface_xx_yy.ts and then merging in the new strings lupdate subsurface.pro You convert those into .qm files with lrelease and then localization should work. Of course a good bit of new strings are still untranslated - and lots of Gtk strings are still included. This still needs to be included in the build system. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-08Deploy some Qt plugins alongside the binaryGravatar Thiago Macieira
Only implemented for Windows for now. On Mac, macdeployqt copies all imageformat plugins on its own. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08And let qmake create the Mac bundle on its ownGravatar Thiago Macieira
It will even parse the Info.plist.in file for us and run sed on it. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08Add qmake rules to install SubsurfaceGravatar Thiago Macieira
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>
2013-10-08Implement a qmake-based build for SubsurfaceGravatar Thiago Macieira
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 Signed-off-by: Thiago Macieira <thiago@macieira.org>