From 4ef7290d1bc3201a3520e1154bb5930d3c6b1850 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:47:44 +0000 Subject: [PATCH 1/6] Translate app/i18n/input_en.ts in et 100% translated source file: 'app/i18n/input_en.ts' on 'et'. --- app/i18n/input_et.ts | 466 ++++++++++++++++++++++++++++--------------- 1 file changed, 307 insertions(+), 159 deletions(-) diff --git a/app/i18n/input_et.ts b/app/i18n/input_et.ts index 8e5c4fa85..b6e67f219 100644 --- a/app/i18n/input_et.ts +++ b/app/i18n/input_et.ts @@ -28,6 +28,35 @@ Projektile on määratud vigane koordinaatsüsteem. Salvestamisel võib tekkida vigu. + + AndroidPositionProvider + + + Internal (fused) + Sisene (ühendatud) + + + + Internal (gps) + Sisene (gps) + + + + + No location permissions + Pole ligipääsu asukohale + + + + Fused location not available + Ühendatud positsioneering pole kättesaadav + + + + Connected + Ühendatud + + AndroidTrackingBackend @@ -122,6 +151,14 @@ Ühendatud + + FeaturesModel + + + Unknown title + Tundmatu nimetus + + FieldsModel @@ -163,125 +200,130 @@ Seda ei lisata projektile. InputUtils - + just now äsja - + %1 minutes ago %1 minutit tagasi - + %1 minute ago %1 minut tagasi - + %1 hours ago %1 tundi tagasi - + %1 hour ago %1 tund tagasi - - + + %1 days ago %1 päeva tagasi - - + + %1 day ago %1 päev tagasi - + %1 weeks ago %1 nädalat tagasi - + %1 week ago %1 nädal tagasi - + %1 months ago %1 kuud tagasi - + %1 month ago %1 kuu tagasi - + %1 years ago %1 aastat tagasi - + %1 year ago %1 aasta tagasi - + screen resolution: %1x%2 px ekraani resolutsioon: %1x%2 px - + screen DPI: %1x%2 ekraani DPI: %1x%2 - + screen size: %1x%2 mm ekraani suurus: %1x%2 mm - + reported device pixel ratio: %1 deklareeritud seadme pikslisuhe: %1 - + calculated device pixel ratio: %1 arvutatud seadme pikslisuhe: %1 - + used dp scale: %1 kasutatud seadme pikslite mõõtkava: %1 - + You need to add at least %1 point(s) to every part. Pead lisama vähemalt %1 punkti iga osa kohta. - + You need to add at least %1 point(s). Pead lisama vähemalt %1 punkti. InternalPositionProvider + + + Internal + Sisene + @@ -311,8 +353,8 @@ Seda ei lisata projektile. MMAboutPage - About Mergin Maps - Mergin Maps'ist lähemalt + About + Lisainfo @@ -347,8 +389,8 @@ Seda ei lisata projektile. - It is better to work together, join the workspace and explore Mergin Maps! - Koos on parem töötada, liitu töölauaga ja avasta mida pakub Mergin Maps! + Join the workspace and explore together! + Liitu töölauaga ja vaata üle! @@ -369,19 +411,19 @@ Seda ei lisata projektile. MMAccountController - + Please update the app to use the latest features. Palun uuenda rakendust et saaksid kasutada värskeimaid võimalusi. - + Server is currently unavailable, check your connection or try again later. Server ei ole hetkel kättesaadav- kontrolli võrguühendust või proovi hiljem uuesti. - - I accept the Mergin Maps %1Terms and Conditions%3 and %2Privacy Policy%3 - Nõustun Mergin Maps'i %1Tingimuste%3 ja %2Privaatsuspõhimõtetega%3 + + I accept the %1Terms and Conditions%3 and %2Privacy Policy%3 + Nõustun %1Tingimuste%3 ja %2Privaatsuspõhimõtetega%3 @@ -541,8 +583,8 @@ Seda ei lisata projektile. - This action will delete your Mergin Maps account. If you are a workspace owner, you need to transfer the ownership to somebody else or close the workspace. - Sellega kustutad oma Mergin Maps konto. Kui oled töölaua omanik, pead enne töölaua üle andma kellegile teisele või sulgema töölaua. + This action will delete your account. If you are a workspace owner, you need to transfer the ownership to somebody else or close the workspace. + Sellega kustutad oma konto. Kui oled töölaua omanik, pead enne töölaua üle andma kellegile teisele või sulgema töölaua. @@ -617,8 +659,8 @@ Seda ei lisata projektile. - Tip from Mergin Maps - Vihje Mergin Maps'ilt + A tip from us + Soovitus @@ -695,7 +737,7 @@ Seda ei lisata projektile. MMFeaturesListPage - + Add feature Lisa nähtus @@ -757,28 +799,28 @@ Seda ei lisata projektile. MMFormPage - + New feature Uus nähtus - - + + Edit feature Muuda nähtust - + Delete Kustuta - + Edit geometry Muuda geomeetriat - + Feature could not be saved, please check all required fields Nähtust ei õnnestunud salvestada, vaata üle kõik kohustuslikud väljad @@ -786,27 +828,27 @@ Seda ei lisata projektile. MMFormPhotoEditor - + Photo is missing. Pilt on puudu. - + Open Image Ava pilt - + Image files (*.gif *.png *.jpg) Pildifailid (*.gif *.png *.jpg) - + Could not create directory %1. Ei õnnestunud tekitada kausta %1. - + Failed to process the image Pilti ei õnnestunud töödelda @@ -814,12 +856,12 @@ Seda ei lisata projektile. MMFormRelationEditor - + more veel - + Add feature Lisa nähtus @@ -827,12 +869,12 @@ Seda ei lisata projektile. MMFormRelationReferenceEditor - + Change link Muuda viide - + Unlink feature Kustuta viide @@ -1232,92 +1274,102 @@ Seda ei lisata projektile. MMMapController - + + Mark the geometry on the map and click record + Märgi geomeetria kaardil ja vajuta salvesta + + + Create line to split the selected feature Tekita joon et tükeldada valitud nähtus - + + Add points to measure distance, close the shape to measure area + Lisa punkte et mõõta vahemaad, sulge ringpiir et mõõta pindala + + + streaming raja salvestamine - + Connecting to %1 Ühendan %1 - + Connected, no position Ühendatud, puudub asukoht - + Unknown accuracy Teadmata täpsus - + GPS currently unavailable GPS ei ole hetkel kättesaadav - + Choose Active Layer Vali aktiivne kiht - + Could not find any editable layers in the project. Ei leidnud projektist muudetavaid kihte. - + See how to enable digitizing in your project. Vaata kuidas lubada oma projektis digimine. - + More options Veel valikuid - + Split geometry Tükelda geomeetria - + Redraw geometry Muuda geomeetriat - + Streaming mode Striimimismeetod - + Active Aktiivne - + Splitting done successfully Tükeldamine õnnestus - + Select some point to start editing the geometry Vali mõni punkt et alustada geomeetria muutmist - + Record new geometry for the feature Salvesta nähtuse uus geomeetria - + GPS currently unavailable. GPS ei ole hetkel kättesaadav. @@ -1340,6 +1392,62 @@ Seda ei lisata projektile. Loe kuidas %1seadistada kaardikomplekte%2. + + MMMeasureCrosshair + + + Close shape + Sulge ringpiir + + + + MMMeasureDrawer + + + Measure + Mõõda + + + + Repeat + Korda + + + + Undo + Võta tagasi + + + + Perimeter + Ümbermõõt + + + + Length + Pikkus + + + + Area + Pindala + + + + Close shape + Sulge ringpiir + + + + Add point + Lisa punkt + + + + Done + Tehtud + + MMMessage @@ -1380,8 +1488,8 @@ Seda ei lisata projektile. - You need to be signed in to your Mergin Maps account in order to synchronise the project. - Pead olema sisse logitud oma Mergin Maps'i kontole et sünkroniseerida projekti. + You need to be signed in to your account in order to synchronise the project. + Pead olema sisse logitud oma kontole et sünkroniseerida projekti. @@ -1477,13 +1585,13 @@ Seda ei lisata projektile. - This function is not available on iOS. Your hardware vendor may provide a custom app that connects to the receiver and sets position. Mergin Maps will still think it is the internal GPS of your phone/tablet. - See funktsioon ei ole kättesaadav iOS seadmetel. Su riistvara pakkujal võib olla eraldi rakendus mis ühendub vastuvõtjaga ja loeb asukohta. Mergin Maps arvab siis sellegipoolest et tegemist on su telefoni/tahvli sisemise GPS vastuvõtjaga. + This function is not available on iOS. Your hardware vendor may provide a custom app that connects to the receiver and sets position. The app will still think it is the internal GPS of your phone/tablet. + See funktsioon ei ole kättesaadav iOS seadmetel. Su riistvara pakkujal võib olla eraldi rakendus mis ühendub vastuvõtjaga ja loeb asukohta. Rakendus arvab siis sellegipoolest et tegemist on su telefoni/tahvli sisemise GPS vastuvõtjaga. Internal - Sisemine + Sisene @@ -1500,13 +1608,13 @@ Seda ei lisata projektile. - Mergin Maps can track your position on this project. - Mergin Maps võib jälgida su asukohta selles projektis + Track your routes even with your screen off. Your records are stored in a separate layer. Finalised tracks are synced like any other feature. + Salvesta oma radasid isegi kui ekraan on välja lülitatud. Sinu rajad salvestatakse eraldi kihile. Lõpetatud rajad sünkroniseeritakse samamoodi nagu teised muudatused. - Track your routes even with your screen off. Your records are stored in a separate layer. Finalised tracks are synced like any other feature. - Salvesta oma radasid isegi kui ekraan on välja lülitatud. Sinu rajad salvestatakse eraldi kihile. Lõpetatud rajad sünkroniseeritakse samamoodi nagu teised muudatused. + The app can track your position on this project. + Rakendus võib selles projektis jälgida su asukohta @@ -1589,47 +1697,47 @@ Seda ei lisata projektile. MMProjectDelegate - + Synchronising project changes Sünkroniseerin projekti muudatusi - + Please don't close the app. Palun ära sulge rakendust. - + Stop Stopp - + More options Veel valikuid - + Download Lae alla - + Synchronise project Sünkroniseeri projekt - + Local changes Kohalikud muudatused - + Remove from device Eemalda seadmest - + Upload Lae üles @@ -1648,8 +1756,8 @@ Seda ei lisata projektile. - Click here to visit Mergin Maps dashboard - Kliki siin et jõuda Mergin Maps lehele + Click here to access the dashboard + Kliki siin et jõuda ülevaatelehele @@ -1722,8 +1830,8 @@ Seda ei lisata projektile. - Get started with Mergin Maps - Tee algust Mergin Maps'iga + Let's get started + Alustame! @@ -1880,28 +1988,28 @@ Seda ei lisata projektile. MMRecordingTools - + Undo Võta tagasi - + Remove Eemalda - + Release Vabasta - + Add Lisa - - + + Record Salvesta @@ -2089,37 +2197,47 @@ Seda ei lisata projektile. Iga kord kui salvestad muudatusi sünkroniseerib rakendus need automaatselt - + + Auto-lock position + Automaatne lukustus + + + + Each time you start recording, the app centers to GPS + Iga kord kui alustad salvestamist, tsentreerib rakendus GPS asukohale + + + General Üldine - + About Lisainfo - + Changelog Muudatuste logi - + Help Abi - + Privacy policy Privaatsuspoliitika - + Terms of service Teenuse tingimused - + Diagnostic log Diagnostika logi @@ -2189,22 +2307,22 @@ Seda ei lisata projektile. MMSplittingTools - + Undo Võta tagasi - + Add point Lisa punkt - + Done Tehtud - + You need to add at least 2 points. Pead lisama vähemalt 2 punkti. @@ -2217,17 +2335,17 @@ Seda ei lisata projektile. Markeeri - + Feature Nähtus - + Distance Vahemaa - + N/A Ei kohaldu @@ -2327,7 +2445,7 @@ Seda ei lisata projektile. Veel valikuid - + More Veel @@ -2341,8 +2459,8 @@ Seda ei lisata projektile. - We've been busy making Mergin Maps even better! This update brings a fresh look and improved navigation, making it faster to find what you need. Take a look around! - Oleme olnud tegusad Mergin Mapsi veel paremaks tegemisel! See muudatus toob värske kujunduse ja parandatud kasutusmugavuse, tehes kõik vajaliku kiiremini leitavaks. Vaata mis on muutunud! + We've been busy making the app even better! This update brings a fresh look and improved navigation, making it faster to find what you need. Take a look around! + Oleme olnud tegusad rakenduse veel paremaks tegemisel! See muudatus toob värske kujunduse ja parandatud kasutusmugavuse, tehes kõik vajaliku kiiremini leitavaks. Vaata mis on muutunud! @@ -2403,32 +2521,37 @@ Seda ei lisata projektile. Veetaristu - + + Student/University + Tudeng/Ülikool + + + Other Muu - + Specify your industry Täpsusta oma valdkonda - + Continue Jätka - + Crafting your workspace: let us know your industry Oma töölaua seadistamine: anna teada mis valdkonnas töötad - + Please specify the industry Palun määra valdkond - + Industry Valdkond @@ -2498,17 +2621,17 @@ võimaldab ainult kuni %1 allalaetud projekti. Töölaud on loodud - + Project detached from the server Projekt on eraldatud serverist - + Workspace name contains invalid characters Töölaua nimes on sobimatuid tähemärke - + Workspace %1 already exists Töölaud %1 on juba olemas @@ -2529,22 +2652,47 @@ võimaldab ainult kuni %1 allalaetud projekti. PositionProvidersModel - + Internal - Sisemine + Sisene - + GPS receiver of this device Selle seadme GPS vastuvõtja - + + Internal (fused) + Sisene (ühendatud) + + + + Using GPS, Wifi and sensors + Kasutan GPS, Wifi ja sensoreid + + + + Not available (%1) + Pole kättesaadav (%1) + + + + Internal (gps) + Sisene (gps) + + + + Using GPS only + Kasutan ainult GPS + + + Bluetooth device Bluetooth seade - + Bluetooth device Bluetooth seade @@ -2708,12 +2856,12 @@ võimaldab ainult kuni %1 allalaetud projekti. Teadmata positsioneering - + Report submitted. Please contact us on %1 Teavitus saadetud. Palun kirjuta meile aadressil %1 - + Failed to submit report. Please check your internet connection. Teavitust ei õnnestunud saata. Palun kontrolli oma interneti ühendust. @@ -2734,118 +2882,118 @@ võimaldab ainult kuni %1 allalaetud projekti. main - - Location permission is required to show your location on map. Please enable it in system settings. - Sinu asukoha näitamiseks kaardil on vaja luba. Palun võimalda see oma seadme seadete alt. - - - + Sync Sünkroniseeri - + Add Lisa - + No editable layers found. Ei leidnud redigeeritavaid kihte. - + Layers Kihid - + Projects Projektid - + Zoom to project Täisvaade - + Map themes Kaardikomplektid - + Position tracking Asukoha jälgimine - + + Measure + Mõõda + + + Local changes Kohalikud muudatused - + Settings Seaded - - + + not tracking ei jälgi - + Select feature Vali nähtus - + Somebody else is syncing, we will try again later Keegi teine sünkroniseerib, proovime mõne aja pärast uuesti - + Details Täpsemalt - + Failed to communicate with server. Try improving your network connection. Serveriga ei õnnestu ühendust saada. Püüa parandada võrguühendust. - + Up to date Ajakohane - + There were issues loading the project. %1View details%2 Projekti laadimisel tekkis tõrge. %1Vaata täpsemalt%2 - + Stake out is disabled because location is unavailable! Markeerimine on välja lülitatud sest asukoht ei ole kättesaadav! - + Successfully synchronised Edukalt sünkroniseeritud - + There was an issue during synchronisation, we will try again. Click to learn more Sünkroniseerimise käigus tekkis probleem, proovime hiljem uuesti. Kliki siia et täpsemalt teada saada - + Could not read the project file: Ei õnnestunud avada projektifaili: - + Press back again to quit the app Vajuta veelkord tagasi et rakendus kinni panna From 691317eee23ad2bf3b0298a01acaa06310452e64 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:47:51 +0000 Subject: [PATCH 2/6] Translate app/i18n/input_en.ts in et_EE 100% translated source file: 'app/i18n/input_en.ts' on 'et_EE'. --- app/i18n/input_et_EE.ts | 462 ++++++++++++++++++++++++++-------------- 1 file changed, 305 insertions(+), 157 deletions(-) diff --git a/app/i18n/input_et_EE.ts b/app/i18n/input_et_EE.ts index 52f45a2f2..79d4fbbd7 100644 --- a/app/i18n/input_et_EE.ts +++ b/app/i18n/input_et_EE.ts @@ -28,6 +28,35 @@ Projektile on määratud vigane koordinaatsüsteem. Salvestamisel võib tekkida vigu. + + AndroidPositionProvider + + + Internal (fused) + Sisene (liidestatud) + + + + Internal (gps) + Sisene (gps) + + + + + No location permissions + Pole ligipääsu asukohale + + + + Fused location not available + Ühendatud positsioneering pole kättesaadav + + + + Connected + Ühendatud + + AndroidTrackingBackend @@ -122,6 +151,14 @@ Ühendatud + + FeaturesModel + + + Unknown title + Tundmatu nimetus + + FieldsModel @@ -163,125 +200,130 @@ Seda ei lisata projektile. InputUtils - + just now äsja - + %1 minutes ago %1 minutit tagasi - + %1 minute ago %1 minut tagasi - + %1 hours ago %1 tundi tagasi - + %1 hour ago %1 tund tagasi - - + + %1 days ago %1 päeva tagasi - - + + %1 day ago %1 päev tagasi - + %1 weeks ago %1 nädalat tagasi - + %1 week ago %1 nädal tagasi - + %1 months ago %1 kuud tagasi - + %1 month ago %1 kuu tagasi - + %1 years ago %1 aastat tagasi - + %1 year ago %1 aasta tagasi - + screen resolution: %1x%2 px ekraani resolutsioon: %1x%2 px - + screen DPI: %1x%2 ekraani DPI: %1x%2 - + screen size: %1x%2 mm ekraani suurus: %1x%2 mm - + reported device pixel ratio: %1 deklareeritud seadme pikslisuhe: %1 - + calculated device pixel ratio: %1 arvutatud seadme pikslisuhe: %1 - + used dp scale: %1 kasutatud seadme pikslite mõõtkava: %1 - + You need to add at least %1 point(s) to every part. Pead lisama vähemalt %1 punkti iga osa kohta. - + You need to add at least %1 point(s). Pead lisama vähemalt %1 punkti. InternalPositionProvider + + + Internal + Sisemine + @@ -311,8 +353,8 @@ Seda ei lisata projektile. MMAboutPage - About Mergin Maps - Mergin Maps'ist lähemalt + About + Lisainfo @@ -347,8 +389,8 @@ Seda ei lisata projektile. - It is better to work together, join the workspace and explore Mergin Maps! - Koos on parem töötada, liitu töölauaga ja avasta mida pakub Mergin Maps! + Join the workspace and explore together! + Liitu töölauaga ja vaata üle! @@ -369,19 +411,19 @@ Seda ei lisata projektile. MMAccountController - + Please update the app to use the latest features. Palun uuenda rakendust et saaksid kasutada värskeimaid võimalusi. - + Server is currently unavailable, check your connection or try again later. Server ei ole hetkel kättesaadav- kontrolli võrguühendust või proovi hiljem uuesti. - - I accept the Mergin Maps %1Terms and Conditions%3 and %2Privacy Policy%3 - Nõustun Mergin Maps'i %1Tingimuste%3 ja %2Privaatsuspõhimõtetega%3 + + I accept the %1Terms and Conditions%3 and %2Privacy Policy%3 + Nõustun %1Tingimuste%3 ja %2Privaatsuspõhimõtetega%3 @@ -541,8 +583,8 @@ Seda ei lisata projektile. - This action will delete your Mergin Maps account. If you are a workspace owner, you need to transfer the ownership to somebody else or close the workspace. - Sellega kustutad oma Mergin Maps konto. Kui oled töölaua omanik, pead enne töölaua üle andma kellegile teisele või sulgema töölaua. + This action will delete your account. If you are a workspace owner, you need to transfer the ownership to somebody else or close the workspace. + Sellega kustutad oma konto. Kui oled töölaua omanik, pead enne töölaua üle andma kellegile teisele või sulgema töölaua. @@ -617,8 +659,8 @@ Seda ei lisata projektile. - Tip from Mergin Maps - Vihje Mergin Maps'ilt + A tip from us + Soovitus @@ -695,7 +737,7 @@ Seda ei lisata projektile. MMFeaturesListPage - + Add feature Lisa nähtus @@ -757,28 +799,28 @@ Seda ei lisata projektile. MMFormPage - + New feature Uus nähtus - - + + Edit feature Muuda nähtust - + Delete Kustuta - + Edit geometry Muuda geomeetriat - + Feature could not be saved, please check all required fields Nähtust ei õnnestunud salvestada, vaata üle kõik kohustuslikud väljad @@ -786,27 +828,27 @@ Seda ei lisata projektile. MMFormPhotoEditor - + Photo is missing. Pilt on puudu. - + Open Image Ava pilt - + Image files (*.gif *.png *.jpg) Pildifailid (*.gif *.png *.jpg) - + Could not create directory %1. Ei õnnestunud tekitada kausta %1. - + Failed to process the image Pilti ei õnnestunud töödelda @@ -814,12 +856,12 @@ Seda ei lisata projektile. MMFormRelationEditor - + more veel - + Add feature Lisa nähtus @@ -827,12 +869,12 @@ Seda ei lisata projektile. MMFormRelationReferenceEditor - + Change link Muuda viide - + Unlink feature Kustuta viide @@ -1232,92 +1274,102 @@ Seda ei lisata projektile. MMMapController - + + Mark the geometry on the map and click record + Märgi geomeetria kaardil ja vajuta salvesta + + + Create line to split the selected feature Tekita joon et tükeldada valitud nähtus - + + Add points to measure distance, close the shape to measure area + Lisa punkte et mõõta vahemaad, joonista kinnine ringpiir et mõõta pindala + + + streaming raja salvestamine - + Connecting to %1 Ühendan %1 - + Connected, no position Ühendatud, puudub asukoht - + Unknown accuracy Teadmata täpsus - + GPS currently unavailable GPS ei ole hetkel kättesaadav - + Choose Active Layer Vali aktiivne kiht - + Could not find any editable layers in the project. Ei leidnud projektist muudetavaid kihte. - + See how to enable digitizing in your project. Vaata kuidas lubada oma projektis digimine. - + More options Veel valikuid - + Split geometry Tükelda geomeetria - + Redraw geometry Muuda geomeetriat - + Streaming mode Striimimismeetod - + Active Aktiivne - + Splitting done successfully Tükeldamine õnnestus - + Select some point to start editing the geometry Vali mõni punkt et alustada geomeetria muutmist - + Record new geometry for the feature Salvesta nähtuse uus geomeetria - + GPS currently unavailable. GPS ei ole hetkel kättesaadav. @@ -1340,6 +1392,62 @@ Seda ei lisata projektile. Loe kuidas %1seadistada kaardikomplekte%2. + + MMMeasureCrosshair + + + Close shape + Sulge ringpiir + + + + MMMeasureDrawer + + + Measure + Mõõda + + + + Repeat + Korda + + + + Undo + Võta tagasi + + + + Perimeter + Ümbermõõt + + + + Length + Pikkus + + + + Area + Pindala + + + + Close shape + Sulge ringpiir + + + + Add point + Lisa punkt + + + + Done + Tehtud + + MMMessage @@ -1380,8 +1488,8 @@ Seda ei lisata projektile. - You need to be signed in to your Mergin Maps account in order to synchronise the project. - Pead olema sisse logitud oma Mergin Maps'i kontole et sünkroniseerida projekti. + You need to be signed in to your account in order to synchronise the project. + Pead olema sisse logitud oma kontole et sünkroniseerida projekti. @@ -1477,8 +1585,8 @@ Seda ei lisata projektile. - This function is not available on iOS. Your hardware vendor may provide a custom app that connects to the receiver and sets position. Mergin Maps will still think it is the internal GPS of your phone/tablet. - See funktsioon ei ole kättesaadav iOS seadmetel. Su riistvara pakkujal võib olla eraldi äpp mis ühendub vastuvõtjaga ja loeb asukohta. Mergin Maps arvab siis sellegipoolest et tegemist on su telefoni/tahvli sisemise GPS vastuvõtjaga. + This function is not available on iOS. Your hardware vendor may provide a custom app that connects to the receiver and sets position. The app will still think it is the internal GPS of your phone/tablet. + See funktsioon ei ole kättesaadav iOS seadmetel. Su riistvara pakkujal võib olla eraldi rakendus mis ühendub vastuvõtjaga ja loeb asukohta. Rakendus arvab siis sellegipoolest et tegemist on su telefoni/tahvli sisemise GPS vastuvõtjaga. @@ -1500,13 +1608,13 @@ Seda ei lisata projektile. - Mergin Maps can track your position on this project. - Mergin Maps võib jälgida su asukohta selles projektis + Track your routes even with your screen off. Your records are stored in a separate layer. Finalised tracks are synced like any other feature. + Salvesta oma radasid isegi kui ekraan on välja lülitatud. Sinu rajad salvestatakse eraldi kihile. Lõpetatud rajad sünkroniseeritakse samamoodi nagu teised muudatused. - Track your routes even with your screen off. Your records are stored in a separate layer. Finalised tracks are synced like any other feature. - Salvesta oma radasid isegi kui ekraan on välja lülitatud. Sinu rajad salvestatakse eraldi kihile. Lõpetatud rajad sünkroniseeritakse samamoodi nagu teised muudatused. + The app can track your position on this project. + Rakendus võib selles projektis jälgida su asukohta @@ -1589,47 +1697,47 @@ Seda ei lisata projektile. MMProjectDelegate - + Synchronising project changes Sünkroniseerin projekti muudatusi - + Please don't close the app. Palun ära sulge äppi. - + Stop Stopp - + More options Veel valikuid - + Download Lae alla - + Synchronise project Sünkroniseeri projekt - + Local changes Kohalikud muudatused - + Remove from device Eemalda seadmest - + Upload Lae üles @@ -1648,8 +1756,8 @@ Seda ei lisata projektile. - Click here to visit Mergin Maps dashboard - Kliki siin et jõuda Mergin Maps lehele + Click here to access the dashboard + Kliki siin et jõuda ülevaatelehele @@ -1722,8 +1830,8 @@ Seda ei lisata projektile. - Get started with Mergin Maps - Tee algust Mergin Maps'iga + Let's get started + Alustame! @@ -1880,28 +1988,28 @@ Seda ei lisata projektile. MMRecordingTools - + Undo Võta tagasi - + Remove Eemalda - + Release Vabasta - + Add Lisa - - + + Record Salvesta @@ -2089,37 +2197,47 @@ Seda ei lisata projektile. Iga kord kui salvestad muudatusi sünkroniseerib rakendus need automaatselt - + + Auto-lock position + Automaatne lukustus + + + + Each time you start recording, the app centers to GPS + Iga kord kui alustad salvestamist, tsentreerib rakendus GPS asukohale + + + General Üldine - + About Lisainfo - + Changelog Muudatuste logi - + Help Abi - + Privacy policy Privaatsuspoliitika - + Terms of service Teenuse tingimused - + Diagnostic log Diagnostika logi @@ -2189,22 +2307,22 @@ Seda ei lisata projektile. MMSplittingTools - + Undo Võta tagasi - + Add point Lisa punkt - + Done Tehtud - + You need to add at least 2 points. Pead lisama vähemalt 2 punkti. @@ -2217,17 +2335,17 @@ Seda ei lisata projektile. Markeeri - + Feature Nähtus - + Distance Vahemaa - + N/A Ei kohaldu @@ -2327,7 +2445,7 @@ Seda ei lisata projektile. Veel valikuid - + More Veel @@ -2341,8 +2459,8 @@ Seda ei lisata projektile. - We've been busy making Mergin Maps even better! This update brings a fresh look and improved navigation, making it faster to find what you need. Take a look around! - Oleme olnud tegusad Mergin Mapsi veel paremaks tegemisel! See muudatus toob värske kujunduse ja parandatud kasutusmugavuse, tehes kõik vajaliku kiiremini leitavaks. Vaata mis on muutunud! + We've been busy making the app even better! This update brings a fresh look and improved navigation, making it faster to find what you need. Take a look around! + Oleme olnud tegusad rakenduse veel paremaks tegemisel! See muudatus toob värske kujunduse ja parandatud kasutusmugavuse, tehes kõik vajaliku kiiremini leitavaks. Vaata mis on muutunud! @@ -2403,32 +2521,37 @@ Seda ei lisata projektile. Veetaristu - + + Student/University + Tudeng/Ülikool + + + Other Muu - + Specify your industry Täpsusta oma valdkonda - + Continue Jätka - + Crafting your workspace: let us know your industry Oma töölaua seadistamine: anna teada mis valdkonnas töötad - + Please specify the industry Palun määra valdkond - + Industry Valdkond @@ -2498,17 +2621,17 @@ võimaldab ainult kuni %1 allalaetud projekti. Töölaud on loodud - + Project detached from the server Projekt on eraldatud serverist - + Workspace name contains invalid characters Töölaua nimes on sobimatuid tähemärke - + Workspace %1 already exists Töölaud %1 on juba olemas @@ -2529,22 +2652,47 @@ võimaldab ainult kuni %1 allalaetud projekti. PositionProvidersModel - + Internal Sisemine - + GPS receiver of this device Selle seadme GPS vastuvõtja - + + Internal (fused) + Sisene (liidestatud) + + + + Using GPS, Wifi and sensors + Kasutan GPS, Wifi ja sensoreid + + + + Not available (%1) + Pole kättesaadav (%1) + + + + Internal (gps) + Sisemine (gps) + + + + Using GPS only + Kasutan ainult GPS + + + Bluetooth device Bluetooth seade - + Bluetooth device Bluetooth seade @@ -2708,12 +2856,12 @@ võimaldab ainult kuni %1 allalaetud projekti. Teadmata positsioneering - + Report submitted. Please contact us on %1 Teavitus saadetud. Palun kirjuta meile aadressil%1 - + Failed to submit report. Please check your internet connection. Teavitust ei õnnestunud saata. Palun kontrolli oma interneti ühendust. @@ -2734,118 +2882,118 @@ võimaldab ainult kuni %1 allalaetud projekti. main - - Location permission is required to show your location on map. Please enable it in system settings. - Sinu asukoha näitamiseks kaardil on vaja luba. Palun võimalda see oma seadme seadete alt. - - - + Sync Sünkroniseeri - + Add Lisa - + No editable layers found. Ei leidnud redigeeritavaid kihte. - + Layers Kihid - + Projects Projektid - + Zoom to project Täisvaade - + Map themes Kaardikomplektid - + Position tracking Asukoha jälgimine - + + Measure + Mõõda + + + Local changes Kohalikud muudatused - + Settings Seaded - - + + not tracking ei jälgi - + Select feature Vali nähtus - + Somebody else is syncing, we will try again later Keegi teine sünkroniseerib, proovime mõne aja pärast uuesti - + Details Täpsemalt - + Failed to communicate with server. Try improving your network connection. Serveriga ei õnnestu ühendust saada. Püüa parandada võrguühendust. - + Up to date Ajakohane - + There were issues loading the project. %1View details%2 Projekti laadimisel tekkis tõrge. %1Vaata täpsemalt%2 - + Stake out is disabled because location is unavailable! Markeerimine on välja lülitatud sest asukoht ei ole kättesaadav! - + Successfully synchronised Edukalt uuendatud - + There was an issue during synchronisation, we will try again. Click to learn more Sünkroniseerimise käigus tekkis probleem, proovime hiljem uuesti. Kliki siia et täpsemalt teada saada - + Could not read the project file: Ei õnnestunud avada projektifaili: - + Press back again to quit the app Vajuta veelkord tagasi et äpp kinni panna From 3111207390a37bf797065964677651f1412d75e0 Mon Sep 17 00:00:00 2001 From: Valentin Buira <30632058+ValentinBuira@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:48:54 +0100 Subject: [PATCH 3/6] Show dialog when active contributors per month limit is hit (#3676) * Added a dialog when monthly active contributor limit is hit --- app/images/ReachedMonthlyContributorLimit.svg | 24 ++++++++++++ app/images/images.qrc | 1 + app/mmstyle.h | 2 + app/qml/CMakeLists.txt | 1 + .../MMMonthlyContributorsLimitDialog.qml | 38 +++++++++++++++++++ app/qml/main.qml | 13 ++++++- core/merginapi.cpp | 11 +++++- core/merginapi.h | 4 +- gallery/qml.qrc | 1 + gallery/qml/pages/DrawerPage.qml | 15 ++++++++ gallery/qml/pages/ImagesPage.qml | 1 + 11 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 app/images/ReachedMonthlyContributorLimit.svg create mode 100644 app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml diff --git a/app/images/ReachedMonthlyContributorLimit.svg b/app/images/ReachedMonthlyContributorLimit.svg new file mode 100644 index 000000000..c6f1c4a51 --- /dev/null +++ b/app/images/ReachedMonthlyContributorLimit.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/images/images.qrc b/app/images/images.qrc index b0b772a30..ef3cf2f4f 100644 --- a/app/images/images.qrc +++ b/app/images/images.qrc @@ -35,5 +35,6 @@ SignIn.svg NoWorkspace.svg BlueInfo.svg + ReachedMonthlyContributorLimit.svg diff --git a/app/mmstyle.h b/app/mmstyle.h index 16587bb81..b51d4f8ea 100644 --- a/app/mmstyle.h +++ b/app/mmstyle.h @@ -198,6 +198,7 @@ class MMStyle: public QObject Q_PROPERTY( QUrl acceptInvitationImage READ acceptInvitationImage CONSTANT ) Q_PROPERTY( QUrl acceptInvitationLogoImage READ acceptInvitationLogoImage CONSTANT ) Q_PROPERTY( QUrl reachedDataLimitImage READ reachedDataLimitImage CONSTANT ) + Q_PROPERTY( QUrl reachedMonthlyContributorLimitImage READ reachedMonthlyContributorLimitImage CONSTANT ) Q_PROPERTY( QUrl uploadImage READ uploadImage CONSTANT ) Q_PROPERTY( QUrl noMapThemesImage READ noMapThemesImage CONSTANT ) Q_PROPERTY( QUrl syncFailedImage READ syncFailedImage CONSTANT ) @@ -496,6 +497,7 @@ class MMStyle: public QObject QUrl noPermissionsImage() {return QUrl( "qrc:/images/NoPermissions.svg" );} QUrl signInImage() {return QUrl( "qrc:/images/SignIn.svg" );} QUrl reachedDataLimitImage() {return QUrl( "qrc:/images/ReachedDataLimit.svg" );} + QUrl reachedMonthlyContributorLimitImage() {return QUrl( "qrc:/images/ReachedMonthlyContributorLimit.svg" );} QUrl warnLogoImage() {return QUrl( "qrc:/images/WarnLogoImage.svg" );} QUrl mapPinImage() {return QUrl( "qrc:/images/MapPin.svg" );} QUrl positionTrackingRunningImage() {return QUrl( "qrc:/images/PositionTrackingRunning.svg" );} diff --git a/app/qml/CMakeLists.txt b/app/qml/CMakeLists.txt index ccf99a8d5..9caf23291 100644 --- a/app/qml/CMakeLists.txt +++ b/app/qml/CMakeLists.txt @@ -59,6 +59,7 @@ set(MM_QML dialogs/MMDownloadProjectDialog.qml dialogs/MMMigrateToMerginDialog.qml dialogs/MMMissingAuthDialog.qml + dialogs/MMMonthlyContributorsLimitDialog.qml dialogs/MMNoPermissionsDialog.qml dialogs/MMPositionTrackingDialog.qml dialogs/MMProjectLimitDialog.qml diff --git a/app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml b/app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml new file mode 100644 index 000000000..1c3f923f0 --- /dev/null +++ b/app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml @@ -0,0 +1,38 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +import QtQuick + +import "../components" as MMComponents + + +MMComponents.MMDrawerDialog { + id: root + + property int contributorsQuota + + signal manageAccountClicked() + + title: qsTr( "You've reached the maximum number of active monthly contributors (%1) for your current subscription." ).arg( contributorsQuota ) + imageSource: __style.reachedMonthlyContributorLimitImage + + description: qsTr( "Upgrade your subscription or wait until next month for the limit to reset." ) + + primaryButton.text: qsTr( "Upgrade" ) + secondaryButton.text: qsTr( "Cancel" ) + + onPrimaryButtonClicked: { + root.manageAccountClicked() + close() + } + + onSecondaryButtonClicked: { + close() + } +} diff --git a/app/qml/main.qml b/app/qml/main.qml index d6b7ea116..4769ffa73 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -715,6 +715,12 @@ ApplicationWindow { onManageAccountClicked: Qt.openUrlExternally(__inputHelp.merginSubscriptionLink) } + MMMonthlyContributorsLimitDialog { + id: monthlyContributorsLimitDialog + + onManageAccountClicked: Qt.openUrlExternally(__inputHelp.merginSubscriptionLink) + } + MMProjectLimitDialog { id: projectLimitDialog @@ -895,6 +901,11 @@ ApplicationWindow { storageLimitDialog.open() } + function onMonthlyContributorLimitReached( quota, serverMsg ) { + monthlyContributorsLimitDialog.contributorsQuota = quota + monthlyContributorsLimitDialog.open() + } + function onProjectLimitReached( maxProjects, errorMsg ) { __merginApi.getUserInfo() if (__merginApi.apiSupportsSubscriptions) { @@ -914,7 +925,7 @@ ApplicationWindow { } function onMigrationRequested( version ) { - if( __appSettings.ignoreMigrateVersion !== version ) { + if ( __appSettings.ignoreMigrateVersion !== version ) { migrationDialog.version = version migrationDialog.open() } diff --git a/core/merginapi.cpp b/core/merginapi.cpp index ab5e4a618..b385c6e9f 100644 --- a/core/merginapi.cpp +++ b/core/merginapi.cpp @@ -2117,14 +2117,13 @@ void MerginApi::pushStartReplyFinished() serverMsg = sSyncCanceledMessage; QString code = extractServerErrorCode( data ); - bool showLimitReachedDialog = EnumHelper::isEqual( code, ErrorCode::StorageLimitHit ); CoreUtils::log( "push " + projectFullName, QStringLiteral( "FAILED - %1. %2" ).arg( r->errorString(), serverMsg ) ); transaction.replyPushStart->deleteLater(); transaction.replyPushStart = nullptr; - if ( showLimitReachedDialog ) + if ( EnumHelper::isEqual( code, ErrorCode::StorageLimitHit ) ) { const QList files = transaction.pushQueue; qreal uploadSize = 0; @@ -2144,6 +2143,14 @@ void MerginApi::pushStartReplyFinished() deleteProject( projectNamespace, projectName, false ); } } + else if ( EnumHelper::isEqual( code, ErrorCode::MonthlyContributorsLimitHit ) ) + { + int quota = 0; + QVariant maximunMonthlyContributor = extractServerErrorValue( data, "projects_quota" ); + if ( maximunMonthlyContributor.isValid() ) + quota = maximunMonthlyContributor.toInt(); + emit monthlyContributorLimitReached( quota, serverMsg ); + } else { int httpCode = r->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); diff --git a/core/merginapi.h b/core/merginapi.h index 0e5380bb2..8e7ef31d7 100644 --- a/core/merginapi.h +++ b/core/merginapi.h @@ -195,7 +195,8 @@ class ErrorCode { Unknown = 0, ProjectsLimitHit, - StorageLimitHit + StorageLimitHit, + MonthlyContributorsLimitHit, }; Q_ENUM( Value ); }; @@ -597,6 +598,7 @@ class MerginApi: public QObject ); void storageLimitReached( qreal uploadSize ); + void monthlyContributorLimitReached( int contributorsQuota, const QString &message ); void projectLimitReached( int maxProjects, const QString &message ); void migrationRequested( const QString &version ); void notifySuccess( const QString &message ); diff --git a/gallery/qml.qrc b/gallery/qml.qrc index b54c2ff92..d19fa58e4 100644 --- a/gallery/qml.qrc +++ b/gallery/qml.qrc @@ -30,6 +30,7 @@ ../app/qml/dialogs/MMStreamingModeDialog.qml ../app/qml/dialogs/MMPositionTrackingDialog.qml ../app/qml/dialogs/MMStorageLimitDialog.qml + ../app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml ../app/qml/dialogs/MMCloseAccountDialog.qml ../app/qml/dialogs/MMRemoveProjectDialog.qml ../app/qml/dialogs/MMDownloadProjectDialog.qml diff --git a/gallery/qml/pages/DrawerPage.qml b/gallery/qml/pages/DrawerPage.qml index e3400a423..8304e7ecc 100644 --- a/gallery/qml/pages/DrawerPage.qml +++ b/gallery/qml/pages/DrawerPage.qml @@ -38,6 +38,11 @@ Page { onClicked: storageLimitDialog.open() } + Button { + text: "MMMonthlyContributorsLimitDialog" + onClicked: monthlyContributorsLimitDialog.open() + } + Button { text: "MMCloseAccountDialog" onClicked: closeAccountDialog.open() @@ -289,6 +294,16 @@ Page { } } + MMMonthlyContributorsLimitDialog { + id: monthlyContributorsLimitDialog + + contributorsQuota: 15 + + onPrimaryButtonClicked: { + console.log("Manage workspace clicked") + } + } + MMSyncFailedDialog { id: syncFailedDialog } diff --git a/gallery/qml/pages/ImagesPage.qml b/gallery/qml/pages/ImagesPage.qml index ed931d11b..bc4532417 100644 --- a/gallery/qml/pages/ImagesPage.qml +++ b/gallery/qml/pages/ImagesPage.qml @@ -41,6 +41,7 @@ ScrollView { Column { Image { source: __style.externalGpsGreenImage } Text { text: "externalGpsGreenImage" } } Column { Image { source: __style.externalGpsRedImage } Text { text: "externalGpsRedImage" } } Column { Image { source: __style.reachedDataLimitImage } Text { text: "reachedDataLimitImage" } } + Column { Image { source: __style.reachedMonthlyContributorLimitImage } Text { text: "reachedMonthlyContributorLimitImage" } } Column { Image { source: __style.positiveMMSymbolImage } Text { text: "positiveMMSymbolImage" } } Column { Image { source: __style.negativeMMSymbolImage } Text { text: "negativeMMSymbolImage" } } Column { Image { source: __style.closeAccountImage } Text { text: "closeAccountImage" } } From 16448742012e1679ac4a8f91efe9551ddbd10822 Mon Sep 17 00:00:00 2001 From: Tomas Mizera Date: Mon, 2 Dec 2024 10:30:27 +0100 Subject: [PATCH 4/6] remove deprecated reference to writernames --- core/merginprojectmetadata.cpp | 10 ---------- core/merginprojectmetadata.h | 1 - 2 files changed, 11 deletions(-) diff --git a/core/merginprojectmetadata.cpp b/core/merginprojectmetadata.cpp index 9609087fa..ba1ff95c3 100644 --- a/core/merginprojectmetadata.cpp +++ b/core/merginprojectmetadata.cpp @@ -100,16 +100,6 @@ MerginProjectMetadata MerginProjectMetadata::fromJson( const QByteArray &data ) project.name = docObj.value( QStringLiteral( "name" ) ).toString(); project.projectNamespace = docObj.value( QStringLiteral( "namespace" ) ).toString(); - QJsonValue access = docObj.value( QStringLiteral( "access" ) ); - if ( access.isObject() ) - { - QJsonArray writersnames = access.toObject().value( "writersnames" ).toArray(); - for ( QJsonValueRef tag : writersnames ) - { - project.writersnames.append( tag.toString() ); - } - } - QString versionStr = docObj.value( QStringLiteral( "version" ) ).toString(); if ( versionStr.isEmpty() ) { diff --git a/core/merginprojectmetadata.h b/core/merginprojectmetadata.h index b56edf89d..b4bd178c8 100644 --- a/core/merginprojectmetadata.h +++ b/core/merginprojectmetadata.h @@ -59,7 +59,6 @@ struct MerginProjectMetadata { QString name; QString projectNamespace; - QList writersnames; int version = -1; QList files; QString projectId; //!< unique project ID (only available in API that supports project IDs) From 66cd40ab9aa54f9a9a9d44362397462752f4e058 Mon Sep 17 00:00:00 2001 From: Valentin Buira Date: Mon, 6 Jan 2025 14:10:38 +0100 Subject: [PATCH 5/6] Revert "Show dialog when active contributors per month limit is hit (#3676)" This reverts commit 3111207390a37bf797065964677651f1412d75e0. --- app/images/ReachedMonthlyContributorLimit.svg | 24 ------------ app/images/images.qrc | 1 - app/mmstyle.h | 2 - app/qml/CMakeLists.txt | 1 - .../MMMonthlyContributorsLimitDialog.qml | 38 ------------------- app/qml/main.qml | 13 +------ core/merginapi.cpp | 11 +----- core/merginapi.h | 4 +- gallery/qml.qrc | 1 - gallery/qml/pages/DrawerPage.qml | 15 -------- gallery/qml/pages/ImagesPage.qml | 1 - 11 files changed, 4 insertions(+), 107 deletions(-) delete mode 100644 app/images/ReachedMonthlyContributorLimit.svg delete mode 100644 app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml diff --git a/app/images/ReachedMonthlyContributorLimit.svg b/app/images/ReachedMonthlyContributorLimit.svg deleted file mode 100644 index c6f1c4a51..000000000 --- a/app/images/ReachedMonthlyContributorLimit.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/images/images.qrc b/app/images/images.qrc index ef3cf2f4f..b0b772a30 100644 --- a/app/images/images.qrc +++ b/app/images/images.qrc @@ -35,6 +35,5 @@ SignIn.svg NoWorkspace.svg BlueInfo.svg - ReachedMonthlyContributorLimit.svg diff --git a/app/mmstyle.h b/app/mmstyle.h index b51d4f8ea..16587bb81 100644 --- a/app/mmstyle.h +++ b/app/mmstyle.h @@ -198,7 +198,6 @@ class MMStyle: public QObject Q_PROPERTY( QUrl acceptInvitationImage READ acceptInvitationImage CONSTANT ) Q_PROPERTY( QUrl acceptInvitationLogoImage READ acceptInvitationLogoImage CONSTANT ) Q_PROPERTY( QUrl reachedDataLimitImage READ reachedDataLimitImage CONSTANT ) - Q_PROPERTY( QUrl reachedMonthlyContributorLimitImage READ reachedMonthlyContributorLimitImage CONSTANT ) Q_PROPERTY( QUrl uploadImage READ uploadImage CONSTANT ) Q_PROPERTY( QUrl noMapThemesImage READ noMapThemesImage CONSTANT ) Q_PROPERTY( QUrl syncFailedImage READ syncFailedImage CONSTANT ) @@ -497,7 +496,6 @@ class MMStyle: public QObject QUrl noPermissionsImage() {return QUrl( "qrc:/images/NoPermissions.svg" );} QUrl signInImage() {return QUrl( "qrc:/images/SignIn.svg" );} QUrl reachedDataLimitImage() {return QUrl( "qrc:/images/ReachedDataLimit.svg" );} - QUrl reachedMonthlyContributorLimitImage() {return QUrl( "qrc:/images/ReachedMonthlyContributorLimit.svg" );} QUrl warnLogoImage() {return QUrl( "qrc:/images/WarnLogoImage.svg" );} QUrl mapPinImage() {return QUrl( "qrc:/images/MapPin.svg" );} QUrl positionTrackingRunningImage() {return QUrl( "qrc:/images/PositionTrackingRunning.svg" );} diff --git a/app/qml/CMakeLists.txt b/app/qml/CMakeLists.txt index 9caf23291..ccf99a8d5 100644 --- a/app/qml/CMakeLists.txt +++ b/app/qml/CMakeLists.txt @@ -59,7 +59,6 @@ set(MM_QML dialogs/MMDownloadProjectDialog.qml dialogs/MMMigrateToMerginDialog.qml dialogs/MMMissingAuthDialog.qml - dialogs/MMMonthlyContributorsLimitDialog.qml dialogs/MMNoPermissionsDialog.qml dialogs/MMPositionTrackingDialog.qml dialogs/MMProjectLimitDialog.qml diff --git a/app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml b/app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml deleted file mode 100644 index 1c3f923f0..000000000 --- a/app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -import QtQuick - -import "../components" as MMComponents - - -MMComponents.MMDrawerDialog { - id: root - - property int contributorsQuota - - signal manageAccountClicked() - - title: qsTr( "You've reached the maximum number of active monthly contributors (%1) for your current subscription." ).arg( contributorsQuota ) - imageSource: __style.reachedMonthlyContributorLimitImage - - description: qsTr( "Upgrade your subscription or wait until next month for the limit to reset." ) - - primaryButton.text: qsTr( "Upgrade" ) - secondaryButton.text: qsTr( "Cancel" ) - - onPrimaryButtonClicked: { - root.manageAccountClicked() - close() - } - - onSecondaryButtonClicked: { - close() - } -} diff --git a/app/qml/main.qml b/app/qml/main.qml index 4769ffa73..d6b7ea116 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -715,12 +715,6 @@ ApplicationWindow { onManageAccountClicked: Qt.openUrlExternally(__inputHelp.merginSubscriptionLink) } - MMMonthlyContributorsLimitDialog { - id: monthlyContributorsLimitDialog - - onManageAccountClicked: Qt.openUrlExternally(__inputHelp.merginSubscriptionLink) - } - MMProjectLimitDialog { id: projectLimitDialog @@ -901,11 +895,6 @@ ApplicationWindow { storageLimitDialog.open() } - function onMonthlyContributorLimitReached( quota, serverMsg ) { - monthlyContributorsLimitDialog.contributorsQuota = quota - monthlyContributorsLimitDialog.open() - } - function onProjectLimitReached( maxProjects, errorMsg ) { __merginApi.getUserInfo() if (__merginApi.apiSupportsSubscriptions) { @@ -925,7 +914,7 @@ ApplicationWindow { } function onMigrationRequested( version ) { - if ( __appSettings.ignoreMigrateVersion !== version ) { + if( __appSettings.ignoreMigrateVersion !== version ) { migrationDialog.version = version migrationDialog.open() } diff --git a/core/merginapi.cpp b/core/merginapi.cpp index b385c6e9f..ab5e4a618 100644 --- a/core/merginapi.cpp +++ b/core/merginapi.cpp @@ -2117,13 +2117,14 @@ void MerginApi::pushStartReplyFinished() serverMsg = sSyncCanceledMessage; QString code = extractServerErrorCode( data ); + bool showLimitReachedDialog = EnumHelper::isEqual( code, ErrorCode::StorageLimitHit ); CoreUtils::log( "push " + projectFullName, QStringLiteral( "FAILED - %1. %2" ).arg( r->errorString(), serverMsg ) ); transaction.replyPushStart->deleteLater(); transaction.replyPushStart = nullptr; - if ( EnumHelper::isEqual( code, ErrorCode::StorageLimitHit ) ) + if ( showLimitReachedDialog ) { const QList files = transaction.pushQueue; qreal uploadSize = 0; @@ -2143,14 +2144,6 @@ void MerginApi::pushStartReplyFinished() deleteProject( projectNamespace, projectName, false ); } } - else if ( EnumHelper::isEqual( code, ErrorCode::MonthlyContributorsLimitHit ) ) - { - int quota = 0; - QVariant maximunMonthlyContributor = extractServerErrorValue( data, "projects_quota" ); - if ( maximunMonthlyContributor.isValid() ) - quota = maximunMonthlyContributor.toInt(); - emit monthlyContributorLimitReached( quota, serverMsg ); - } else { int httpCode = r->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); diff --git a/core/merginapi.h b/core/merginapi.h index 8e7ef31d7..0e5380bb2 100644 --- a/core/merginapi.h +++ b/core/merginapi.h @@ -195,8 +195,7 @@ class ErrorCode { Unknown = 0, ProjectsLimitHit, - StorageLimitHit, - MonthlyContributorsLimitHit, + StorageLimitHit }; Q_ENUM( Value ); }; @@ -598,7 +597,6 @@ class MerginApi: public QObject ); void storageLimitReached( qreal uploadSize ); - void monthlyContributorLimitReached( int contributorsQuota, const QString &message ); void projectLimitReached( int maxProjects, const QString &message ); void migrationRequested( const QString &version ); void notifySuccess( const QString &message ); diff --git a/gallery/qml.qrc b/gallery/qml.qrc index d19fa58e4..b54c2ff92 100644 --- a/gallery/qml.qrc +++ b/gallery/qml.qrc @@ -30,7 +30,6 @@ ../app/qml/dialogs/MMStreamingModeDialog.qml ../app/qml/dialogs/MMPositionTrackingDialog.qml ../app/qml/dialogs/MMStorageLimitDialog.qml - ../app/qml/dialogs/MMMonthlyContributorsLimitDialog.qml ../app/qml/dialogs/MMCloseAccountDialog.qml ../app/qml/dialogs/MMRemoveProjectDialog.qml ../app/qml/dialogs/MMDownloadProjectDialog.qml diff --git a/gallery/qml/pages/DrawerPage.qml b/gallery/qml/pages/DrawerPage.qml index 8304e7ecc..e3400a423 100644 --- a/gallery/qml/pages/DrawerPage.qml +++ b/gallery/qml/pages/DrawerPage.qml @@ -38,11 +38,6 @@ Page { onClicked: storageLimitDialog.open() } - Button { - text: "MMMonthlyContributorsLimitDialog" - onClicked: monthlyContributorsLimitDialog.open() - } - Button { text: "MMCloseAccountDialog" onClicked: closeAccountDialog.open() @@ -294,16 +289,6 @@ Page { } } - MMMonthlyContributorsLimitDialog { - id: monthlyContributorsLimitDialog - - contributorsQuota: 15 - - onPrimaryButtonClicked: { - console.log("Manage workspace clicked") - } - } - MMSyncFailedDialog { id: syncFailedDialog } diff --git a/gallery/qml/pages/ImagesPage.qml b/gallery/qml/pages/ImagesPage.qml index bc4532417..ed931d11b 100644 --- a/gallery/qml/pages/ImagesPage.qml +++ b/gallery/qml/pages/ImagesPage.qml @@ -41,7 +41,6 @@ ScrollView { Column { Image { source: __style.externalGpsGreenImage } Text { text: "externalGpsGreenImage" } } Column { Image { source: __style.externalGpsRedImage } Text { text: "externalGpsRedImage" } } Column { Image { source: __style.reachedDataLimitImage } Text { text: "reachedDataLimitImage" } } - Column { Image { source: __style.reachedMonthlyContributorLimitImage } Text { text: "reachedMonthlyContributorLimitImage" } } Column { Image { source: __style.positiveMMSymbolImage } Text { text: "positiveMMSymbolImage" } } Column { Image { source: __style.negativeMMSymbolImage } Text { text: "negativeMMSymbolImage" } } Column { Image { source: __style.closeAccountImage } Text { text: "closeAccountImage" } } From 66e499f92e9387d3cdf988c6ace706587aaa71c7 Mon Sep 17 00:00:00 2001 From: Valentin Buira Date: Tue, 7 Jan 2025 11:14:47 +0100 Subject: [PATCH 6/6] Naive migration to upload-artifact@v4 --- .github/workflows/android.yml | 4 ++-- .github/workflows/gallery.yml | 2 +- .github/workflows/linux.yml | 2 +- .github/workflows/macos.yml | 2 +- .github/workflows/macos_arm64.yml | 2 +- .github/workflows/win.yml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 09f9e4099..7fc4e17c9 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -266,7 +266,7 @@ jobs: ${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.apk - name: Upload APK to Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.apk name: Mergin Maps ${{ env.INPUT_VERSION_CODE }} APK [v7 + v8a] @@ -294,7 +294,7 @@ jobs: - name: Upload AAB to Artifacts if: ${{ github.ref_name == 'master' || github.ref_type == 'tag' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/merginmaps-${{ env.INPUT_VERSION_CODE }}.aab name: Mergin Maps ${{ env.INPUT_VERSION_CODE }} AAB diff --git a/.github/workflows/gallery.yml b/.github/workflows/gallery.yml index 73982b872..4b163c2f5 100644 --- a/.github/workflows/gallery.yml +++ b/.github/workflows/gallery.yml @@ -121,7 +121,7 @@ jobs: tar -czf ${{ github.workspace }}/merginmaps-gallery-${{ matrix.os }}.tar.gz . - name: Upload APK to Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/merginmaps-gallery-${{ matrix.os }}.tar.gz name: Mergin Maps Gallery ${{ matrix.os }} diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 98a7d96a2..5ea820881 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -214,6 +214,6 @@ jobs: tar -c -z -f ${{ github.workspace }}/${INPUT_TAR} ./ - name: Upload Sdk in Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/${{ env.INPUT_TAR }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f0653def1..91028d2d3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -197,6 +197,6 @@ jobs: tar -c -z -f ${{ github.workspace }}/${INPUT_TAR} "./Input.app" - name: Upload Sdk in Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/${{ env.INPUT_TAR }} diff --git a/.github/workflows/macos_arm64.yml b/.github/workflows/macos_arm64.yml index a9a2c7755..322752a73 100644 --- a/.github/workflows/macos_arm64.yml +++ b/.github/workflows/macos_arm64.yml @@ -168,6 +168,6 @@ jobs: tar -c -z -f ${{ github.workspace }}/${INPUT_TAR} "./Input.app" - name: Upload Sdk in Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/${{ env.INPUT_TAR }} diff --git a/.github/workflows/win.yml b/.github/workflows/win.yml index 3655c2483..17599b35d 100644 --- a/.github/workflows/win.yml +++ b/.github/workflows/win.yml @@ -199,7 +199,7 @@ jobs: xcopy C:\input-package\inputapp-win-x86_64.exe mergin-maps-input-win64-${{ steps.time.outputs.formattedTime }}-${{ github.run_number }}.exe* /Y - name: Upload Sdk in Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: mergin-maps-input-win64-${{ steps.time.outputs.formattedTime }}-${{ github.run_number }}.exe if-no-files-found: error