Skip to content

Commit

Permalink
Move positioning activation around to allow for project load tracker …
Browse files Browse the repository at this point in the history
…launch
  • Loading branch information
nirvn committed Feb 29, 2024
1 parent 2914c9b commit 2f2f1ae
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
2 changes: 2 additions & 0 deletions src/core/trackingmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -264,13 +264,15 @@ void TrackingModel::createProjectTrackers( QgsProject *project )
const bool sensorDataRequirementActive = layer->customProperty( "QFieldSync/tracking_sensor_data_requirement_active", false ).toBool();
const bool allRequirementsActive = layer->customProperty( "QFieldSync/tracking_all_requirements_active", false ).toBool();
const bool erroneousDistanceSafeguardActive = layer->customProperty( "QFieldSync/tracking_erroneous_distance_safeguard_active", false ).toBool();
const bool erroneousDistanceSafeguardMaximumMeters = layer->customProperty( "QFieldSync/tracking_erroneous_distance_safeguard_maximum_meters", 250 ).toInt();
const int measurementType = layer->customProperty( "QFieldSync/tracking_measurement_type", false ).toInt();

Tracker *tracker = new Tracker( vl );
tracker->setTimeInterval( timeRequirementActive ? timeRequirementIntervalSeconds : 0 );
tracker->setMinimumDistance( distanceRequirementActive ? distanceRequirementMinimumMeters : 0 );
tracker->setSensorCapture( sensorDataRequirementActive );
tracker->setConjunction( allRequirementsActive );
tracker->setMaximumDistance( erroneousDistanceSafeguardActive ? erroneousDistanceSafeguardMaximumMeters : 0 );
tracker->setMeasureType( static_cast<Tracker::MeasureType>( measurementType ) );

QgsExpressionContext context = vl->createExpressionContext();
Expand Down
4 changes: 0 additions & 4 deletions src/qml/LayerTreeItemProperties.qml
Original file line number Diff line number Diff line change
Expand Up @@ -304,10 +304,6 @@ Popup {
trackingModel.stopTracker(layer);
displayToast(qsTr('Track on layer %1 stopped').arg(layer.name))
} else {
if (!positionSource.active) {
positioningSettings.positioningActivated = true
}

var tracker;
var idx = projectInfo.restoreTracker(layer)
if (idx.valid) {
Expand Down
9 changes: 9 additions & 0 deletions src/qml/qgismobileapp.qml
Original file line number Diff line number Diff line change
Expand Up @@ -591,6 +591,15 @@ ApplicationWindow {
id: trackings
model: trackingModel

onCountChanged: {
if (count > 0) {
// Start positioning if not yet active
if (!positionSource.active) {
positioningSettings.positioningActivated = true
}
}
}

TrackingSession {}
}

Expand Down

0 comments on commit 2f2f1ae

Please sign in to comment.