Age | Commit message (Collapse) | Author |
|
Use a "mapwidget-" prefix for both the QRC and the file names.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The animation sequence when deselecting a zoomed in map location, should
be:
- zoom out completely
- pan to center
To achieve that a new animation object is created - "mapAnimationZoomOut"
The previous zoom in animation is renamed to "mapAnimationZoomIn".
The map functions centerOnMapLocation() and deselectMapLocation()
now call the helper functions animateMapZoomIn() and animateMapZoomOut().
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
If a divesite doesn't have a GPS location we want to deselect
the currently selected markers and zoom out the map. In the Map
QML object the function deselectMapLocation will handle that.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
It's best to only animate the flags when clicked, thus play the animation
in the onClicked() slot from the MouseArea.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
When called this function will zoom-out the map and set it's center to
(0, 0)
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Inside the Map object, properties can be referenced directly.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
To be used to center the map on a dive location or reset the map
if a dive from the dive list doesn't have GPS coordinates.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
When centering on a map location, use the predefined zoom
map.defaultZoomIn.
Later the map should be able to center on (0, 0) and zoom-out
if a dive doesn't have GPS data.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The rest of the QML code in subsurface doesn't use the ';' to
end a line of code or a declaration. Remove all the redundant ';'.
Also clean extra blank lines.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
If a marker is clicked it's source image changes, which will
call the onSourceChanged() slot. If a marker is selected
play the newly added sourceItemAnimation which is a short scale
animation for the image.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
If a marker is selected bring it up front (high Z value) else set
it behind everything else.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
These properties will be used when zooming-in on a map location
or when zooming out if no map location is selected.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The function in QML centerOnCoordinate() is now renamed
centerOnMapLocation() and accepts a MapLocation object, so that
a marker is selected (based on UUID).
In MapWidgetHelper::centerOnDiveSite(), the pointer to a MapLocation
is retrieved via MapLocationModel::getMapLocationForUuid(). Added in the
previous commit.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
When MapLocationModel updates the selected marker, MapWidgetHelper now
receives a signal. The slot is named selectedLocationChanged().
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Add a MouseArea to the MapItemView delagate and onClick set
the "mapHelper.model.selectedUuid" to the uuid of the clicked marker.
This updates the "selectedUuid" property inside MapLocationModel.
Based on "mapHelper.model.selectedUuid" it is now possible to
show two seprate images for selected / deselected markers.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The "uuid" property will be the one from the dive_site. At first it
will also be used to track the active marker/flag selection.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The image for the unselected marker is now a slightly darker flag.
Same behaviour as the current Marble implementation.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Rename the QML function "centerOnCoordinates" to "centerOnCoordinate"
and pass a QGeoCoordinate to it in ::centerOnDiveSite().
This will prevent the creation of a QGeoCoordinate object on the
QML side and instead it will be created in C++.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
QVector is faster, use it for "m_mapLocations" instead of QList.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
This method should be used if many markers are added at once.
It's main purpose is to reduces the number of beingInsertRows()
calls.
Make MapWidgetHelper::reloadMapLocations() use it.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
reloadMapLocations() is the method which is called when the list
of markers (model) should be cleared and re-populated with new MapLocation
objects.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Instead of maintaining a seperate latitude/longitude values
in C++ and passing them to QML separatelly, pass them as a QGeoCoordinate.
This reduces the number of model "roles" and also prevents the creations
of extra objects in QML (e.g. via QtPositioning.coordinate(..)).
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
MapItemView is the QML class that handles the "create map markers based
on a model". In this case the model is created as part of the
MapWidgetHelper, so here passing "mapHelper.model" to the "model"
property is enough.
The delegate receives coordinates from the model as "model.latitude",
"model.logitude" and converts them to QGeoCoordinate.
The "sourceItem" image for the delagete is just an image ATM and is
fetched from QRC.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The idea here is that the QML code should be able to fetch a model
from the MapWidgetHelper instance which is instantiated inside the
QML code; fetch it in the lines of "mapHelper.model".
This way, updates at the backend would be reflected on the Map QML widget.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
When calling centerOnCoordinates() the map will now animate over a
period of 3 seconds the zoom level and over 2 seconds the center
of the map.
Can be tweaked and improved later on.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
This function can be called to center the map on a specific coordinates.
For the C++ version call it via QMetaObject::invokeMethod() in
centerOnDiveSite().
TODO: add QML property animations.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
MapWidget sould not handle any of the map backend.
Instead it should just pass calls to MapWidgetHelper.
Do that for centerOnDiveSite().
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The idea here is that the Map object can be controlled from C++ via
the "m_map" private member. Also, for the mobile version, QML code can
call the same C++ methods (if marked as Q_INVOCABLE).
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
This is about to be used to reference the QML Map in the MapWidgetHelper
C++ class.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
This instance in the QML code itself will be accessed by both the
mobile and desktop version. That way, the map code between
the two Subsurface versions will be shared.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The idea with this class is that it should be used by both the mobile
and desktop version.
TODO STEPS:
1) the class should be registered in both the mobile and desktop version
with qmlRegisterType<MapWidgetHelper>...
2) the MapWidget.qml should create an instance of this class.
3) this way the helper will be part of the QML and both the desktop and
mobile version can have access to it.
4) the desktop version as a first implementation can just use findChild()
in desktop-widgets/mapwidget.cpp.
5) desktop-widgets/mapwidget.cpp on the desktop should just translate
calls from the rest of the desktop-widgets to this helper class.
6) the mobile version access to this object would be easy but is off the
scope for now.
7) the idea, when implementing the desktop support is to make it so
that when implementing the mobile version later, no or only minimal
changes would be required to the MapWidgetHelper class.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Add a local "enumeration" (object) for the two possibly map types
of interest: SATELLITE and STREET.
Use SATELLITE by default.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
The root element is now an Item and also doesn't have explicit
anchors and dimensions as these will be handled by the parent:
- on desktop: a QQuickWidget
- on mobile: any QML based QQuickItem
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
This new marker image is free for use in Subsurface. Custom made
in CorelDraw and Photoshop.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
|
|
This reverts commit d22f67925ef4893832c26deb44fef50589c6fff8.
|
|
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
|
|
Like the subject says. We do not want the password to be made
visible, so a switch to show it, is useless and is therefore
removed. Futher, the entry mode is set to PasswordEchoOnEdit,
which causes the passwd to be visible (for easy entry), but
can't be made visible again after save/end edit.
Fixes: #512
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
|
|
Removed some unused alias defines.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
|
|
In commit e9503cfa3d1740 re-coloring of the status bar was
forgotten. Added here.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
|
|
The missing id line in our own button generates an error in log and makes the buttons to fat.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|
|
Use the ligther text color on the secondary row of text when a dive is selcted in the divelist
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|
|
In most places we wrongly used the darker primary color instead of the primary color.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|
|
Replace the "map it" button implementation with our own button.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|
|
Replace the generic buttons on the DC download page with our own.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|
|
Add out own styled button as resource.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|
|
As per title, helps simplify theme modifications.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
|