mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +00:00
Compare commits
6 commits
a28a3b4f3c
...
b431e6d832
Author | SHA1 | Date | |
---|---|---|---|
|
b431e6d832 | ||
|
3bd7be809a | ||
|
b392052c37 | ||
|
9bd1631103 | ||
|
7201a40c5f | ||
|
c5e5535f51 |
6 changed files with 89 additions and 33 deletions
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
import QtQuick 2.5
|
||||
import QtLocation 5.3
|
||||
import QtPositioning 5.3
|
||||
import QtQuick
|
||||
import QtLocation
|
||||
import QtPositioning
|
||||
import org.subsurfacedivelog.mobile 1.0
|
||||
|
||||
Item {
|
||||
|
@ -15,7 +15,7 @@ Item {
|
|||
id: mapHelper
|
||||
map: map
|
||||
editMode: false
|
||||
onSelectedDivesChanged: rootItem.selectedDivesChanged(list)
|
||||
onSelectedDivesChanged: (list) => { rootItem.selectedDivesChanged(list) }
|
||||
onEditModeChanged: editMessage.isVisible = editMode === true ? 1 : 0
|
||||
onCoordinatesChanged: {}
|
||||
Component.onCompleted: {
|
||||
|
@ -29,7 +29,6 @@ Item {
|
|||
id: map
|
||||
anchors.fill: parent
|
||||
zoomLevel: defaultZoomIn
|
||||
|
||||
property var mapType
|
||||
readonly property var defaultCenter: QtPositioning.coordinate(0, 0)
|
||||
readonly property real defaultZoomIn: 12.0
|
||||
|
@ -41,12 +40,46 @@ Item {
|
|||
property real newZoomOut: 1.0
|
||||
property var clickCoord: QtPositioning.coordinate(0, 0)
|
||||
property bool isReady: false
|
||||
|
||||
Component.onCompleted: isReady = true
|
||||
onZoomLevelChanged: {
|
||||
if (isReady)
|
||||
mapHelper.calculateSmallCircleRadius(map.center)
|
||||
}
|
||||
property geoCoordinate startCentroid
|
||||
startCentroid: newCenter
|
||||
|
||||
PinchHandler {
|
||||
id: pinch
|
||||
target: null
|
||||
onActiveChanged: if (active) {
|
||||
map.startCentroid = map.toCoordinate(pinch.centroid.position, false)
|
||||
}
|
||||
onScaleChanged: (delta) => {
|
||||
map.zoomLevel += Math.log2(delta)
|
||||
map.alignCoordinateToPoint(map.startCentroid, pinch.centroid.position)
|
||||
}
|
||||
onRotationChanged: (delta) => {
|
||||
map.bearing -= delta
|
||||
map.alignCoordinateToPoint(map.startCentroid, pinch.centroid.position)
|
||||
}
|
||||
grabPermissions: PointerHandler.TakeOverForbidden
|
||||
}
|
||||
WheelHandler {
|
||||
id: wheel
|
||||
// workaround for QTBUG-87646 / QTBUG-112394 / QTBUG-112432:
|
||||
// Magic Mouse pretends to be a trackpad but doesn't work with PinchHandler
|
||||
// and we don't yet distinguish mice and trackpads on Wayland either
|
||||
acceptedDevices: Qt.platform.pluginName === "cocoa" || Qt.platform.pluginName === "wayland"
|
||||
? PointerDevice.Mouse | PointerDevice.TouchPad
|
||||
: PointerDevice.Mouse
|
||||
rotationScale: 1/120
|
||||
property: "zoomLevel"
|
||||
}
|
||||
DragHandler {
|
||||
id: drag
|
||||
target: null
|
||||
onTranslationChanged: (delta) => map.pan(-delta.x, -delta.y)
|
||||
}
|
||||
|
||||
MapItemView {
|
||||
id: mapItemView
|
||||
|
@ -68,6 +101,8 @@ Item {
|
|||
MouseArea {
|
||||
drag.target: (mapHelper.editMode && model.isSelected) ? mapItem : undefined
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
|
||||
onClicked: {
|
||||
if (!mapHelper.editMode && model.divesite)
|
||||
mapHelper.selectedLocationChanged(model.divesite)
|
||||
|
@ -122,8 +157,8 @@ Item {
|
|||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onPressed: { map.stopZoomAnimations(); mouse.accepted = false }
|
||||
onWheel: { map.stopZoomAnimations(); wheel.accepted = false }
|
||||
onPressed: (mouse) => { map.stopZoomAnimations(); mouse.accepted = false }
|
||||
onWheel: (wheel) => { map.stopZoomAnimations(); wheel.accepted = false }
|
||||
onDoubleClicked: map.doubleClickHandler(map.toCoordinate(Qt.point(mouseX, mouseY)))
|
||||
}
|
||||
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
#include <QDebug>
|
||||
#include <QVector>
|
||||
|
||||
#include "qmlmapwidgethelper.h"
|
||||
#include "core/divefilter.h"
|
||||
#include "core/divelist.h"
|
||||
#include "core/divelog.h"
|
||||
#include "core/divesite.h"
|
||||
#include "core/qthelper.h"
|
||||
#include "core/range.h"
|
||||
#include "qt-models/maplocationmodel.h"
|
||||
#include "qmlmapwidgethelper.h"
|
||||
#include "qt-models/divelocationmodel.h"
|
||||
#include "qt-models/maplocationmodel.h"
|
||||
#ifndef SUBSURFACE_MOBILE
|
||||
#include "desktop-widgets/mapwidget.h"
|
||||
#endif
|
||||
|
@ -251,8 +251,8 @@ QString MapWidgetHelper::pluginObject()
|
|||
{
|
||||
QString lang = getUiLanguage().replace('_', '-');
|
||||
QString cacheFolder = QString::fromStdString(system_default_directory() + "/googlemaps").replace("\\", "/");
|
||||
return QStringLiteral("import QtQuick 2.0;"
|
||||
"import QtLocation 5.3;"
|
||||
return QStringLiteral("import QtQuick;"
|
||||
"import QtLocation;"
|
||||
"Plugin {"
|
||||
" id: mapPlugin;"
|
||||
" name: 'googlemaps';"
|
||||
|
@ -263,5 +263,6 @@ QString MapWidgetHelper::pluginObject()
|
|||
" console.warn('MapWidget.qml: cannot find a plugin named: ' + name);"
|
||||
" }"
|
||||
" }"
|
||||
"}").arg(lang, cacheFolder);
|
||||
"}")
|
||||
.arg(lang, cacheFolder);
|
||||
}
|
||||
|
|
|
@ -399,6 +399,8 @@ Kirigami.Page {
|
|||
delegate: Flickable {
|
||||
id: internalScrollView
|
||||
width: diveDetailsListView.width
|
||||
height: diveDetailsListView.height
|
||||
contentHeight: diveDetails.height
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
property var modelData: model
|
||||
DiveDetailsView {
|
||||
|
@ -423,6 +425,7 @@ Kirigami.Page {
|
|||
anchors.fill: parent
|
||||
leftMargin: Kirigami.Units.smallSpacing
|
||||
rightMargin: Kirigami.Units.smallSpacing
|
||||
contentHeight: detailsEdit.height
|
||||
// start invisible and scaled down, to get the transition
|
||||
// off to the right start
|
||||
visible: false
|
||||
|
|
|
@ -13,7 +13,7 @@ set -e
|
|||
mkdir -p win32
|
||||
cd win32
|
||||
|
||||
# build Subsurface and then smtk2ssrf
|
||||
# build Subsurface
|
||||
export MXEBUILDTYPE=x86_64-w64-mingw32.shared
|
||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
|
||||
|
||||
|
@ -23,6 +23,10 @@ mv subsurface/subsurface.exe* ${OUTPUT_DIR}/
|
|||
fullname=$(cd subsurface ; ls subsurface-*.exe)
|
||||
mv subsurface/"$fullname" ${OUTPUT_DIR}/"${fullname%.exe}-installer.exe"
|
||||
|
||||
# build Subsurface for smtk2ssrf
|
||||
|
||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh -noftdi -nolibraw subsurface
|
||||
|
||||
bash -ex ../subsurface/packaging/windows/smtk2ssrf-mxe-build.sh -a -i
|
||||
|
||||
# the strange two step move is in order to get predictable names to use
|
||||
|
|
|
@ -27,12 +27,16 @@
|
|||
#
|
||||
# now you can start the build
|
||||
#
|
||||
# make libxml2 libxslt libusb1 libzip libssh2 libftdi1 curl qt5 nsis
|
||||
# make libxml2 libxslt libusb1 libzip libssh2 libftdi1 libraw curl qt5 nsis
|
||||
#
|
||||
# (if you intend to build Subsurface without user space FTDI support
|
||||
# you can drop libftdi1 from that list and start this script with
|
||||
# -noftdi )
|
||||
#
|
||||
# (if you intend to build Subsurface without libraw support
|
||||
# you can drop libraw from that list and start this script with
|
||||
# -nolibraw )
|
||||
#
|
||||
# After quite a while (depending on your machine anywhere from 15-20
|
||||
# minutes to several hours) you should have a working MXE install in
|
||||
# ~/src/mxe
|
||||
|
@ -93,6 +97,13 @@ else
|
|||
FTDI="ON"
|
||||
fi
|
||||
|
||||
if [[ "$1" == "-nolibraw" ]] ; then
|
||||
shift
|
||||
LIBRAW="OFF"
|
||||
else
|
||||
LIBRAW="ON"
|
||||
fi
|
||||
|
||||
# this is run on a rather powerful machine - if you want less
|
||||
# build parallelism, please change this variable
|
||||
JOBS="-j4"
|
||||
|
@ -292,6 +303,7 @@ cd "$BUILDDIR"/subsurface
|
|||
-DMAKE_TESTS=OFF \
|
||||
-DBTSUPPORT=ON -DBLESUPPORT=ON \
|
||||
-DFTDISUPPORT=$FTDI \
|
||||
-DLIBRAW_SUPPORT=$LIBRAW \
|
||||
-DLIBGIT2_FROM_PKGCONFIG=ON \
|
||||
"$BASEDIR"/subsurface
|
||||
|
||||
|
|
|
@ -169,7 +169,8 @@ for package in "${PACKAGES[@]}" ; do
|
|||
git_checkout_library breeze-icons $CURRENT_BREEZE_ICONS https://github.com/kde/breeze-icons.git
|
||||
;;
|
||||
googlemaps)
|
||||
git_checkout_library googlemaps master https://github.com/Subsurface/googlemaps.git
|
||||
#git_checkout_library googlemaps master https://github.com/Subsurface/googlemaps.git
|
||||
git_checkout_library googlemaps master https://github.com/vladest/googlemaps.git
|
||||
;;
|
||||
hidapi)
|
||||
git_checkout_library hidapi master https://github.com/libusb/hidapi.git
|
||||
|
|
Loading…
Reference in a new issue