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>
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>
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>
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>
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>
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>
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>
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...
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Only implemented for Windows for now. On Mac, macdeployqt copies all
imageformat plugins on its own.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
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>
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>