Skip to content

Commit 5441d9a

Browse files
author
Richard Kello
committed
Merge remote-tracking branch 'origin/master' into bugfix/update-project-name-regex
2 parents b6b08f9 + 0f8ddca commit 5441d9a

25 files changed

Lines changed: 187 additions & 163 deletions

.zenodo.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"description": "<p>Mergin Maps mobile app is a QGIS powered app for Android and iOS devices.</p>",
33
"license": "GPLv3",
44
"title": "Mergin Maps mobile app",
5-
"version": "2026.3.0",
5+
"version": "2026.3.1",
66
"upload_type": "software",
77
"publication_date": "2022-02-24",
88
"creators": [
@@ -39,7 +39,7 @@
3939
"related_identifiers": [
4040
{
4141
"scheme": "url",
42-
"identifier": "https://github.com/MerginMaps/mobile/tree/2026.3.0",
42+
"identifier": "https://github.com/MerginMaps/mobile/tree/2026.3.1",
4343
"relation": "isSupplementTo"
4444
},
4545
{

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cff-version: 2026.3.0
1+
cff-version: 2026.3.1
22
message: "If you use this software, please cite it as below."
33
authors:
44
- family-names: "Martin"

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.22)
77
# Note: To update version use script/update_all_versions.bash
88
set(MM_VERSION_MAJOR "2026")
99
set(MM_VERSION_MINOR "3")
10-
set(MM_VERSION_PATCH "0")
10+
set(MM_VERSION_PATCH "1")
1111

1212
if (VCPKG_TARGET_TRIPLET MATCHES ".*ios.*")
1313
set(IOS TRUE)

app/android/src/uk/co/lutraconsulting/MMActivity.java

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
import android.app.Activity;
3636
import android.content.Intent;
37+
import android.content.res.Configuration;
3738
import android.net.Uri;
3839
import android.content.ActivityNotFoundException;
3940
import java.io.File;
@@ -78,38 +79,49 @@ public String homePath()
7879
return getFilesDir().getAbsolutePath();
7980
}
8081

81-
void setCustomStatusAndNavBar()
82+
@Override
83+
public void onConfigurationChanged(Configuration newConfig)
8284
{
83-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
84-
Log.d( TAG, "Unsupported Android version for painting behind system bars." );
85-
return;
86-
}
87-
else {
88-
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
85+
super.onConfigurationChanged(newConfig);
8986

90-
Window window = getWindow();
87+
setCustomStatusAndNavBar();
88+
}
9189

92-
// on Android 15+ all apps are edge-to-edge
93-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.VANILLA_ICE_CREAM) {
94-
// draw app edge-to-edge
95-
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
90+
@SuppressWarnings("deprecation")
91+
void setCustomStatusAndNavBar()
92+
{
93+
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
9694

97-
// make the status bar background color transparent
98-
window.setStatusBarColor(Color.TRANSPARENT);
95+
Window window = getWindow();
9996

100-
// make the navigation button background color transparent
101-
window.setNavigationBarColor(Color.TRANSPARENT);
102-
}
97+
// on Android 15+ all apps are edge-to-edge
98+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.VANILLA_ICE_CREAM) {
99+
// draw app edge-to-edge
100+
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
103101

102+
// make the status bar background color transparent
103+
window.setStatusBarColor(Color.TRANSPARENT);
104+
105+
// make the navigation button background color transparent
106+
window.setNavigationBarColor(Color.TRANSPARENT);
107+
}
108+
109+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
104110
// do not show background dim for the navigation buttons
105-
window.setNavigationBarContrastEnforced(false);
111+
window.setNavigationBarContrastEnforced(false);
112+
}
113+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
106114

107115
// change the status bar text color to black
108116
WindowInsetsController insetsController = window.getDecorView().getWindowInsetsController();
109-
110-
if (insetsController != null) {
111-
insetsController.setSystemBarsAppearance(WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS);
112-
}
117+
118+
if (insetsController != null) {
119+
insetsController.setSystemBarsAppearance(WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS);
120+
}
121+
} else {
122+
// Force the navigation bar icons back to light so they stay visible against the green background.
123+
View decorView = getWindow().getDecorView();
124+
decorView.setSystemUiVisibility( decorView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR );
113125
}
114126
}
115127

app/attributes/fieldvalidator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
#include <QLocale>
2020

2121
QString FieldValidator::numberInvalid() { return tr( "Value must be a number" ); };
22-
QString FieldValidator::numberUpperBoundReached() { return tr( "Value must be lower than %1" ); };
23-
QString FieldValidator::numberLowerBoundReached() { return tr( "Value must be higher than %1" ); };
22+
QString FieldValidator::numberUpperBoundReached() { return tr( "Value must be less than or equal to %1" ); };
23+
QString FieldValidator::numberLowerBoundReached() { return tr( "Value must be greater than or equal to %1" ); };
2424
QString FieldValidator::numberExceedingVariableLimits() { return tr( "Value is too large" );};
2525
QString FieldValidator::numberMustBeInt() { return tr( "Field can not contain decimal places" );};
2626
QString FieldValidator::textTooLong() { return tr( "Can not be longer than %1 characters" );};

app/i18n/input_ca.qm

8.49 KB
Binary file not shown.

app/i18n/input_de.qm

5.73 KB
Binary file not shown.

app/i18n/input_en.ts

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,12 @@
178178
</message>
179179
<message>
180180
<location filename="../attributes/fieldvalidator.cpp" line="22"/>
181-
<source>Value must be lower than %1</source>
181+
<source>Value must be less than or equal to %1</source>
182182
<translation type="unfinished"></translation>
183183
</message>
184184
<message>
185185
<location filename="../attributes/fieldvalidator.cpp" line="23"/>
186-
<source>Value must be higher than %1</source>
186+
<source>Value must be greater than or equal to %1</source>
187187
<translation type="unfinished"></translation>
188188
</message>
189189
<message>
@@ -367,15 +367,15 @@ Won&apos;t be added to the project.</source>
367367
</translation>
368368
</message>
369369
<message numerus="yes">
370-
<location filename="../inpututils.cpp" line="2254"/>
370+
<location filename="../inpututils.cpp" line="2253"/>
371371
<source>You need to add at least %n point(s) to every part.</source>
372372
<translation type="unfinished">
373373
<numerusform></numerusform>
374374
<numerusform></numerusform>
375375
</translation>
376376
</message>
377377
<message numerus="yes">
378-
<location filename="../inpututils.cpp" line="2258"/>
378+
<location filename="../inpututils.cpp" line="2257"/>
379379
<source>You need to add at least %n point(s).</source>
380380
<translation type="unfinished">
381381
<numerusform></numerusform>
@@ -877,12 +877,12 @@ Won&apos;t be added to the project.</source>
877877
</message>
878878
<message>
879879
<location filename="../qml/filters/components/MMFilterDateInput.qml" line="54"/>
880-
<location filename="../qml/filters/components/MMFilterDateInput.qml" line="145"/>
880+
<location filename="../qml/filters/components/MMFilterDateInput.qml" line="149"/>
881881
<source>&quot;From&quot; must be sooner than &quot;To&quot;</source>
882882
<translation type="unfinished"></translation>
883883
</message>
884884
<message>
885-
<location filename="../qml/filters/components/MMFilterDateInput.qml" line="144"/>
885+
<location filename="../qml/filters/components/MMFilterDateInput.qml" line="148"/>
886886
<source>To</source>
887887
<translation type="unfinished"></translation>
888888
</message>
@@ -1099,17 +1099,17 @@ Won&apos;t be added to the project.</source>
10991099
<translation type="unfinished"></translation>
11001100
</message>
11011101
<message>
1102-
<location filename="../qml/form/editors/MMFormPhotoEditor.qml" line="294"/>
1102+
<location filename="../qml/form/editors/MMFormPhotoEditor.qml" line="295"/>
11031103
<source>Could not create directory %1.</source>
11041104
<translation type="unfinished"></translation>
11051105
</message>
11061106
<message>
1107-
<location filename="../qml/form/editors/MMFormPhotoEditor.qml" line="359"/>
1107+
<location filename="../qml/form/editors/MMFormPhotoEditor.qml" line="362"/>
11081108
<source>Failed to process the image, photo directory resolving failed</source>
11091109
<translation type="unfinished"></translation>
11101110
</message>
11111111
<message>
1112-
<location filename="../qml/form/editors/MMFormPhotoEditor.qml" line="374"/>
1112+
<location filename="../qml/form/editors/MMFormPhotoEditor.qml" line="377"/>
11131113
<source>Failed to process the image</source>
11141114
<translation type="unfinished"></translation>
11151115
</message>
@@ -1122,25 +1122,25 @@ Won&apos;t be added to the project.</source>
11221122
<translation type="unfinished"></translation>
11231123
</message>
11241124
<message>
1125-
<location filename="../qml/form/editors/MMFormRelationEditor.qml" line="173"/>
1125+
<location filename="../qml/form/editors/MMFormRelationEditor.qml" line="177"/>
11261126
<source> more</source>
11271127
<translation type="unfinished"></translation>
11281128
</message>
11291129
<message>
1130-
<location filename="../qml/form/editors/MMFormRelationEditor.qml" line="216"/>
1130+
<location filename="../qml/form/editors/MMFormRelationEditor.qml" line="220"/>
11311131
<source>Add feature</source>
11321132
<translation type="unfinished"></translation>
11331133
</message>
11341134
</context>
11351135
<context>
11361136
<name>MMFormRelationReferenceEditor</name>
11371137
<message>
1138-
<location filename="../qml/form/editors/MMFormRelationReferenceEditor.qml" line="102"/>
1138+
<location filename="../qml/form/editors/MMFormRelationReferenceEditor.qml" line="103"/>
11391139
<source>Change link</source>
11401140
<translation type="unfinished"></translation>
11411141
</message>
11421142
<message>
1143-
<location filename="../qml/form/editors/MMFormRelationReferenceEditor.qml" line="105"/>
1143+
<location filename="../qml/form/editors/MMFormRelationReferenceEditor.qml" line="106"/>
11441144
<source>Unlink feature</source>
11451145
<translation type="unfinished"></translation>
11461146
</message>
@@ -1696,28 +1696,28 @@ Won&apos;t be added to the project.</source>
16961696
<translation type="unfinished"></translation>
16971697
</message>
16981698
<message>
1699-
<location filename="../qml/map/MMMapController.qml" line="1234"/>
1699+
<location filename="../qml/map/MMMapController.qml" line="1237"/>
17001700
<source>Splitting done successfully</source>
17011701
<translation type="unfinished"></translation>
17021702
</message>
17031703
<message>
1704-
<location filename="../qml/map/MMMapController.qml" line="1326"/>
1704+
<location filename="../qml/map/MMMapController.qml" line="1330"/>
17051705
<source>Select some point to start editing the geometry</source>
17061706
<translation type="unfinished"></translation>
17071707
</message>
17081708
<message>
1709-
<location filename="../qml/map/MMMapController.qml" line="1339"/>
1709+
<location filename="../qml/map/MMMapController.qml" line="1343"/>
17101710
<source>Record new geometry for the feature</source>
17111711
<translation type="unfinished"></translation>
17121712
</message>
17131713
<message>
1714-
<location filename="../qml/map/MMMapController.qml" line="1356"/>
1714+
<location filename="../qml/map/MMMapController.qml" line="1364"/>
17151715
<source>Add new part to the geometry</source>
17161716
<translation type="unfinished"></translation>
17171717
</message>
17181718
<message>
17191719
<location filename="../qml/map/MMMapController.qml" line="130"/>
1720-
<location filename="../qml/map/MMMapController.qml" line="1454"/>
1720+
<location filename="../qml/map/MMMapController.qml" line="1461"/>
17211721
<source>GPS currently unavailable.</source>
17221722
<translation type="unfinished"></translation>
17231723
</message>
@@ -2365,42 +2365,42 @@ Won&apos;t be added to the project.</source>
23652365
<translation type="unfinished"></translation>
23662366
</message>
23672367
<message>
2368-
<location filename="../qml/project/MMProjectWizardPage.qml" line="101"/>
2368+
<location filename="../qml/project/MMProjectWizardPage.qml" line="102"/>
23692369
<source>Add field</source>
23702370
<translation type="unfinished"></translation>
23712371
</message>
23722372
<message>
2373-
<location filename="../qml/project/MMProjectWizardPage.qml" line="125"/>
2373+
<location filename="../qml/project/MMProjectWizardPage.qml" line="126"/>
23742374
<source>Create project</source>
23752375
<translation type="unfinished"></translation>
23762376
</message>
23772377
<message>
2378-
<location filename="../qml/project/MMProjectWizardPage.qml" line="130"/>
2378+
<location filename="../qml/project/MMProjectWizardPage.qml" line="131"/>
23792379
<source>Empty project name</source>
23802380
<translation type="unfinished"></translation>
23812381
</message>
23822382
<message>
2383-
<location filename="../qml/project/MMProjectWizardPage.qml" line="150"/>
2383+
<location filename="../qml/project/MMProjectWizardPage.qml" line="151"/>
23842384
<source>Text</source>
23852385
<translation type="unfinished"></translation>
23862386
</message>
23872387
<message>
2388-
<location filename="../qml/project/MMProjectWizardPage.qml" line="151"/>
2388+
<location filename="../qml/project/MMProjectWizardPage.qml" line="152"/>
23892389
<source>Date &amp; Time</source>
23902390
<translation type="unfinished"></translation>
23912391
</message>
23922392
<message>
2393-
<location filename="../qml/project/MMProjectWizardPage.qml" line="152"/>
2393+
<location filename="../qml/project/MMProjectWizardPage.qml" line="153"/>
23942394
<source>Number</source>
23952395
<translation type="unfinished"></translation>
23962396
</message>
23972397
<message>
2398-
<location filename="../qml/project/MMProjectWizardPage.qml" line="153"/>
2398+
<location filename="../qml/project/MMProjectWizardPage.qml" line="154"/>
23992399
<source>Checkbox</source>
24002400
<translation type="unfinished"></translation>
24012401
</message>
24022402
<message>
2403-
<location filename="../qml/project/MMProjectWizardPage.qml" line="154"/>
2403+
<location filename="../qml/project/MMProjectWizardPage.qml" line="155"/>
24042404
<source>Photo</source>
24052405
<translation type="unfinished"></translation>
24062406
</message>

app/i18n/input_et.qm

3.51 KB
Binary file not shown.

app/i18n/input_et_EE.qm

3.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)