Merge v0.6.0 and v0.6.1 #29

Merged
dorian merged 30 commits from version/0.5.1 into master 2024-10-17 17:52:37 +02:00
20 changed files with 215 additions and 159 deletions
Showing only changes of commit 800796fb06 - Show all commits

View file

@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
# [0.06] - UNRELEASED
### Changed
### Added
- Dark mode
- QR-Code scanning
- Sharing of every view using either link, QR-Code or a poster
- Text which is too large too fit is scrollable now in most places
- German translations
- URL handler for https://l.bluerock.dev and https://app.bluerock.dev
# [0.05] - 2021-06-07
### Changed
- the boulder result rect doesn't have a background if there is no result now
@ -16,7 +27,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- the calendar now scrolls less far down
- improoved layout in landscape mode
- some design changes in profile page and speed flowchart
- added second link for "further infos" in calendar
### Added
- Second link for "further infos" in calendar
# [0.03.0] - 2019-07-11
### Added

View file

@ -10,7 +10,7 @@
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true" android:icon="@drawable/icon">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="de.itsblue.blueROCK.MainActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="de.itsblue.blueROCK.MainActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>

View file

@ -73,7 +73,7 @@ android {
defaultConfig {
resConfig "en"
minSdkVersion = qtMinSdkVersion
targetSdkVersion = 29
targetSdkVersion = qtTargetSdkVersion
}
lintOptions {

View file

@ -96,6 +96,7 @@ public class MainActivity extends QtActivity
// this method here - otherwise you'll get wrong request or result codes
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Check which request we're responding to
Log.d("ekkescorner onActivityResult", "requestCode: "+requestCode);
if (resultCode == RESULT_OK) {

View file

@ -89,7 +89,7 @@ android {
ANDROID_VERSION_NAME = $$VERSION
ANDROID_VERSION_CODE = $$droidVersionCode($$ANDROID_VERSION_NAME)
message(Android version code: $$ANDROID_VERSION_CODE)
ANDROID_TARGET_SDK_VERSION = 29
include(/home/dorian/Android/Sdk/android_openssl/openssl.pri)
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android

View file

@ -0,0 +1,88 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Controls.Material 2.12
Item {
id: control
property alias text: firstLabel.text
property alias font: firstLabel.font
property alias verticalAlignment: firstLabel.verticalAlignment
property int spacing: 30
property MovingLabel syncWithLabel
property int _spacing: syncWithLabel && syncWithLabel._labelWidth > _labelWidth ? (syncWithLabel._labelWidth - _labelWidth + syncWithLabel.spacing) : spacing
property alias _labelWidth: firstLabel.width
signal linkActivated(string link)
clip: true
height: firstLabel.height
onTextChanged: {
_resetScroll()
}
function startScroll(triggerSyncedLabel=true) {
if(control.syncWithLabel && triggerSyncedLabel)
control.syncWithLabel.startScroll(false)
if(control.width < firstLabel.width && !scrollAnimation.running)
scrollAnimation.start()
}
function _resetScroll() {
scrollAnimation.stop()
firstLabel.anchors.leftMargin = 0
}
Label {
id: firstLabel
anchors {
left: parent.left
verticalCenter: parent.verticalCenter
}
onLinkActivated: control.onLinkActivated(link)
}
Label {
id: secondLabel
anchors {
left: firstLabel.right
leftMargin: control._spacing
verticalCenter: firstLabel.verticalCenter
}
visible: scrollAnimation.running
font: firstLabel.font
text: firstLabel.text
verticalAlignment: firstLabel.verticalAlignment
elide: firstLabel.elide
bottomPadding: firstLabel.bottomPadding
padding: firstLabel.padding
onLinkActivated: control.onLinkActivated(link)
}
MouseArea {
anchors.fill: parent
onClicked: control.startScroll()
}
NumberAnimation {
id: scrollAnimation
target: firstLabel
property: "anchors.leftMargin"
from: 0
to: -(firstLabel.width + control._spacing)
duration: (to / -100) * 1500
onRunningChanged: {
if(!running)
control._resetScroll()
}
}
}

View file

@ -1,5 +1,5 @@
import QtQuick 2.9
import QtQuick.Controls 2.4
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Controls.Material 2.3
Dialog {
@ -33,37 +33,35 @@ Dialog {
id: selectorPuHeaderCol
width: control.width
height: headerSubLa.text !== "" && headerLa.text !== "" ? 73 : 40
height: headerLa.height + headerTopSpacerItm.height + (control.subTitle ? headerSubLa.height:0)
Label {
Item {
id: headerTopSpacerItm
height: control.padding
width: parent.width
}
MovingLabel {
id: headerLa
visible: control.title
anchors.horizontalCenter: parent.horizontalCenter
width: selectorPuHeaderCol.width - control.padding * 2
width: selectorPuHeaderCol.width
elide: "ElideRight"
padding: control.padding
bottomPadding: 0
font.bold: true
font.pixelSize: 16
text: control.title
onLinkActivated: {
control.linkActivated(link)
}
onLinkActivated: control.linkActivated(link)
}
Label {
id: headerSubLa
visible: control.subTitle
anchors.horizontalCenter: parent.horizontalCenter
width: selectorPuHeaderCol.width - control.padding * 2
width: selectorPuHeaderCol.width
elide: "ElideRight"
padding: control.padding
wrapMode: Text.Wrap
topPadding: 5
bottomPadding: 0
font.bold: true

View file

@ -4,13 +4,10 @@ import QtQuick.Controls.Material 2.12
import QtQuick.Layouts 1.15
import QtPurchasing 1.12
Rectangle {
id: speedFlowChartLockedOverlay
Page {
id: control
anchors.fill: parent
anchors.margins: -20
color: Material.background
Connections {
target: speedFlowChartProduct
@ -38,42 +35,40 @@ Rectangle {
}
}
ColumnLayout {
Column {
id: lockedLayout
anchors {
fill: parent
topMargin: parent.height * 0.05
topMargin: parent.height * 0.02
bottomMargin: parent.height * 0.05
rightMargin: parent.width * 0.1 + 20
leftMargin: parent.width * 0.1 + 20
}
//spacing: parent.height * 0.05
spacing: lockedLayout.height * 0.01
Label {
Layout.fillWidth: true
height: parent.height * 0.015
anchors.horizontalCenter: parent.horizontalCenter
height: lockedLayout.height * 0.03
width: lockedLayout.width
//% "This is a premium feature."
text: qsTrId("#thisIsAPremiumFeature")
font.bold: true
font.pixelSize: height
font.bold: true
fontSizeMode: Text.Fit
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
minimumPixelSize: 1
horizontalAlignment: Text.AlignHCenter
}
SwipeGallery {
property string platformIcons: Qt.platform.os === "osx" || Qt.platform.os === "iso" ? "ios":"android"
Layout.fillHeight: true
Layout.fillWidth: true
height: lockedLayout.height * 0.85
width: lockedLayout.width
images: [
"qrc:/screenshots/SpeedFlowchartDemo/" + platformIcons + "/1.jpeg",
@ -84,25 +79,33 @@ Rectangle {
Button {
id: purchaseBt
Layout.alignment: Layout.Center
anchors.horizontalCenter: parent.horizontalCenter
height: lockedLayout.height * 0.07
enabled: speedFlowChartProduct.status === Product.Registered
text: speedFlowChartProduct.status === Product.Registered
? "\uf218 "+ qsTrId("#buyNowFor") +" " + speedFlowChartProduct.price
? "\uf218 "+ qsTrId("#buyNowFor") + " " + speedFlowChartProduct.price
: qsTrId("#itemIsUnavailable")
font.family: fa5solid.name
font.pixelSize: height * 0.4
font.capitalization: Font.MixedCase
onClicked: speedFlowChartProduct.purchase()
}
RowLayout {
id: bottomRow
Layout.alignment: Layout.Center
anchors.horizontalCenter: parent.horizontalCenter
height: lockedLayout.height * 0.065
Button {
id: restorePurchaseButton
Layout.alignment: Layout.Center
visible: speedFlowChartProduct.status === Product.Registered
Layout.preferredHeight: bottomRow.height
//visible: speedFlowChartProduct.status === Product.Registered
flat: true
font.pixelSize: height * 0.4
font.capitalization: Font.MixedCase
//% "Restore purchase"
text: qsTrId("#restorePurchase")
@ -112,8 +115,11 @@ Rectangle {
Button {
id: contactSupportButton
Layout.alignment: Layout.Center
Layout.preferredHeight: bottomRow.height
flat: true
font.pixelSize: height * 0.4
font.capitalization: Font.MixedCase
//% "contact support"
text: qsTrId("#contact support")

View file

@ -11,6 +11,9 @@ Rectangle {
//property bool unlocked: QT_DEBUG || appSettings.read("speedBackendPurchase") === "1"
property bool unlocked: appSettings.read("speedBackendPurchase") === "1"
Component.onCompleted: {
console.warn("unlocked:", appSettings.read("speedBackendPurchase"))
}
state: "hidden"

View file

@ -14,6 +14,7 @@ Item {
anchors.fill: parent
anchors.margins: 1
anchors.bottomMargin: indicator.height
spacing: width * 0.2
Repeater {
model: control.images.length

View file

@ -94,7 +94,7 @@ Page {
}
width: app.landscape() ? childrenRect.width : parent.width * 0.8
height: app.landscape() ? headerBadge.height : headerBadge.height * 2
height: app.landscape() ? headerBadge.height : Math.min(headerBadge.height * 2, width * 0.27)
columnSpacing: height * 0.1

View file

@ -95,7 +95,7 @@ DataListView {
}
}
selector.appear(selectOptions, qsTrId("#startlistHeadline"))
selector.appear(selectOptions, qsTrId("#selectCategory"))
}
Connections {

View file

@ -195,7 +195,7 @@ Window {
//app.openAthlete() // dorian: 53139 , rustam: 6933 , helen: 53300
//openWidget({nation:'GER'})
//mainStack.push("Pages/AthleteSearchPage.qml")
//openWidget({comp: 11651, cat: 26})
openWidget({comp: 11651, cat: 26})
//openWidget({person: 6623})
//console.log(JSON.stringify(serverConn.getParamsFromUrl("")))
//openWidgetFromUrl("https://l.bluerock.dev/?comp=11601&type=starters")
@ -321,15 +321,13 @@ Window {
height: childrenRect.height
width: parent.width - extraComponentLoader.width - toolButton.width - 3 * parent.spacing
Label {
MovingLabel {
id: toolBarTitleLa
syncWithLabel: toolBarSubTitleLa
width: parent.width
scale: 1
elide: "ElideRight"
font.bold: true
verticalAlignment: Text.AlignVCenter
@ -361,13 +359,13 @@ Window {
}
}
Label {
MovingLabel {
id: toolBarSubTitleLa
width: parent.width
height: text !== "" ? undefined:0
visible: text !== ""
elide: "ElideRight"
syncWithLabel: toolBarTitleLa
width: parent.width
font.bold: false
@ -380,7 +378,7 @@ Window {
titleString = mainStack.currentItem.subTitle
}
return(titleString)
return titleString
}
Behavior on text {
@ -566,7 +564,7 @@ Window {
Product {
id: speedFlowChartProduct
//identifier: "speed_flowchart"
identifier: QT_DEBUG ? "android.test.purchased":"speed_flowchart"
identifier: "android.test.purchased"
//identifier: "android.test.canceled"
//identifier: "android.test.refunded"

View file

@ -30,5 +30,6 @@
<file>Components/AlignedButton.qml</file>
<file>Components/SharePopup.qml</file>
<file>Pages/QrCodeScanPage.qml</file>
<file>Components/MovingLabel.qml</file>
</qresource>
</RCC>

Binary file not shown.

View file

@ -18,18 +18,18 @@
<location filename="../qml/Pages/QrCodeScanPage.qml" line="243"/>
<source>Camera access required</source>
<oldsource>Camera access denied</oldsource>
<translation type="unfinished"></translation>
<translation>Kamerazugriff benötigt</translation>
</message>
<message id="#cameraPermissionDeniedDetails">
<location filename="../qml/Pages/QrCodeScanPage.qml" line="259"/>
<source>blueROCK needs to access your camera in order to scan QR-Codes. It will never record or store any photos or videos.</source>
<oldsource>This app needs to access your camera in order to scan QR-Codes. It will never record or store any photos or videos.</oldsource>
<translation type="unfinished"></translation>
<translation>blueROCK benötig Zugriff auf die Kamera um QR-Codes zu scannen. Es werden keine Fotos oder Videos aufgezeichnet oder gespeichert.</translation>
</message>
<message id="#allowAccess">
<location filename="../qml/Pages/QrCodeScanPage.qml" line="268"/>
<source>Allow access</source>
<translation type="unfinished"></translation>
<translation>Zugriff zulassen</translation>
</message>
<message id="#pleaseWait">
<location filename="../qml/Pages/QrCodeScanPage.qml" line="50"/>
@ -85,7 +85,7 @@
<location filename="../qml/Components/SpeedFlowChartLocker.qml" line="36"/>
<location filename="../qml/Components/SpeedFlowChartLocker.qml" line="91"/>
<source>This item is currently unavailable</source>
<translation>Diese Produkt ist nicht verfügbar</translation>
<translation>Dieses Produkt ist nicht verfügbar</translation>
</message>
<message id="#restorePurchase">
<location filename="../qml/Components/SpeedFlowChartLocker.qml" line="107"/>
@ -130,7 +130,7 @@
<message id="#aboutBluerockDisclaimer">
<location filename="../qml/Pages/StartPage.qml" line="175"/>
<source>This app was built using the &lt;a href=&apos;https://qt.io&apos;&gt;Qt Framework&lt;/a&gt; licensed under the &lt;a href=&apos;https://www.gnu.org/licenses/lgpl-3.0.en.html&apos;&gt;GNU lgplV3 license&lt;/a&gt;.&lt;br&gt;&lt;br&gt;This app is open source and licensed under the &lt;a href=&apos;https://www.gnu.org/licenses/agpl-3.0.en.html&apos;&gt;GNU agplV3 license&lt;/a&gt;, the source code can be found &lt;a href=&apos;https://itsblue.dev/dorian/blueROCK/&apos;&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Resultservice and rankings provided by &lt;a href=&apos;http://www.digitalROCK.de&apos;&gt;digital ROCK&lt;/a&gt;.</source>
<translation type="unfinished">Diese App wurde unter Verwendung des &lt;a href=&apos;https://qt.io&apos;&gt;Qt Frameworks&lt;/a&gt; unter der &lt;a href=&apos;https://www.gnu.org/licenses/lgpl-3.0.en.html&apos;&gt;GNU lgplV3 Lizenz&lt;/a&gt; erstellt.&lt;br&gt;&lt;br&gt;Diese App ist Open-source und lizensiert unter der &lt;a href=&apos;https://www.gnu.org/licenses/agpl-3.0.en.html&apos;&gt;GNU agplV3 Lizenz&lt;/a&gt;. Der Sourcecode findet sich &lt;a href=&apos;https://itsblue.dev/dorian/blueROCK/&apos;&gt;hier&lt;/a&gt;.Die Ergebnisse und Ranglisten werden von &lt;a href=&apos;http://www.digitalROCK.de&apos;&gt;digital ROCK&lt;/a&gt; zur Verfügung gestellt.</translation>
<translation>Diese App wurde unter Verwendung des &lt;a href=&apos;https://qt.io&apos;&gt;Qt Frameworks&lt;/a&gt; unter der &lt;a href=&apos;https://www.gnu.org/licenses/lgpl-3.0.en.html&apos;&gt;GNU lgplV3 Lizenz&lt;/a&gt; erstellt.&lt;br&gt;&lt;br&gt;Diese App ist Open-source und lizensiert unter der &lt;a href=&apos;https://www.gnu.org/licenses/agpl-3.0.en.html&apos;&gt;GNU agplV3 Lizenz&lt;/a&gt;. Der Sourcecode findet sich &lt;a href=&apos;https://itsblue.dev/dorian/blueROCK/&apos;&gt;hier&lt;/a&gt;.Die Ergebnisse und Ranglisten werden von &lt;a href=&apos;http://www.digitalROCK.de&apos;&gt;digital ROCK&lt;/a&gt; zur Verfügung gestellt.</translation>
</message>
<message id="#calendar">
<location filename="../qml/Widgets/CalendarWidget.qml" line="32"/>
@ -176,6 +176,7 @@
<location filename="../qml/Widgets/CalendarWidget.qml" line="278"/>
<location filename="../qml/Widgets/RegistrationWidget.qml" line="127"/>
<location filename="../qml/Widgets/ResultWidget.qml" line="169"/>
<location filename="../qml/Widgets/StartlistWidget.qml" line="98"/>
<source>Select category</source>
<translation>Kategorie auswählen</translation>
</message>
@ -217,7 +218,7 @@
<message id="#showResults">
<location filename="../qml/Widgets/RegistrationWidget.qml" line="129"/>
<source>Show results</source>
<translation type="unfinished"></translation>
<translation>Ergebnisse anzeigen</translation>
</message>
<message id="#resultsHeadline">
<location filename="../qml/Widgets/ResultWidget.qml" line="136"/>
@ -226,72 +227,44 @@
</message>
<message id="#startlistHeadline">
<location filename="../qml/Widgets/StartlistWidget.qml" line="72"/>
<location filename="../qml/Widgets/StartlistWidget.qml" line="98"/>
<source>(Startlist)</source>
<translation>(Startliste)</translation>
</message>
<message id="#loading">
<location filename="../qml/main.qml" line="552"/>
<location filename="../qml/main.qml" line="550"/>
<source>Loading</source>
<translation>Laden</translation>
</message>
<message id="#noConnectionError">
<location filename="../qml/main.qml" line="666"/>
<location filename="../qml/main.qml" line="664"/>
<source>No connection to server</source>
<translation>Keine Verbindung zum Server</translation>
</message>
<message id="#notFoundError">
<location filename="../qml/main.qml" line="671"/>
<location filename="../qml/main.qml" line="669"/>
<source>Not found</source>
<translation>Nicht gefunden</translation>
</message>
<message id="#noDataError">
<location filename="../qml/main.qml" line="676"/>
<location filename="../qml/main.qml" line="674"/>
<source>No Data</source>
<translation>Keine Daten</translation>
</message>
<message id="#invalidRequestError">
<location filename="../qml/main.qml" line="681"/>
<location filename="../qml/main.qml" line="679"/>
<source>Invalid Request</source>
<translation>Ungültige Anfrage</translation>
</message>
<message id="#unexpectedError">
<location filename="../qml/main.qml" line="687"/>
<location filename="../qml/main.qml" line="685"/>
<source>Unexpected error</source>
<translation>Unerwarteter Fehler</translation>
</message>
<message id="#shareResultsLinkText">
<location filename="../../sources/bluerockbackend.cpp" line="99"/>
<location filename="../../sources/bluerockbackend.cpp" line="101"/>
<source>Check out the results of %1 over here:</source>
<translation>Verfolge die Ergebnisse vom Wettkampf &quot;%1&quot; hier live:</translation>
</message>
</context>
<context>
<name>AndroidShareUtils</name>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="191"/>
<source>Share: an Error occured</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="203"/>
<source>Share: an Error occured
WorkingDir not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="217"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="243"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="255"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="283"/>
<source>Empty URL received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="235"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="273"/>
<source>File does not exist: %1</source>
<translation type="unfinished"></translation>
<oldsource>Check out the results of %1 over here:</oldsource>
<translation>Verfolge die Ergebnisse von &quot;%1&quot; hier:</translation>
</message>
</context>
</TS>

Binary file not shown.

View file

@ -172,6 +172,7 @@
<location filename="../qml/Widgets/CalendarWidget.qml" line="278"/>
<location filename="../qml/Widgets/RegistrationWidget.qml" line="127"/>
<location filename="../qml/Widgets/ResultWidget.qml" line="169"/>
<location filename="../qml/Widgets/StartlistWidget.qml" line="98"/>
<source>Select category</source>
<translation type="unfinished"></translation>
</message>
@ -222,71 +223,43 @@
</message>
<message id="#startlistHeadline">
<location filename="../qml/Widgets/StartlistWidget.qml" line="72"/>
<location filename="../qml/Widgets/StartlistWidget.qml" line="98"/>
<source>(Startlist)</source>
<translation type="unfinished"></translation>
</message>
<message id="#loading">
<location filename="../qml/main.qml" line="552"/>
<location filename="../qml/main.qml" line="550"/>
<source>Loading</source>
<translation type="unfinished"></translation>
</message>
<message id="#noConnectionError">
<location filename="../qml/main.qml" line="666"/>
<location filename="../qml/main.qml" line="664"/>
<source>No connection to server</source>
<translation type="unfinished"></translation>
</message>
<message id="#notFoundError">
<location filename="../qml/main.qml" line="671"/>
<location filename="../qml/main.qml" line="669"/>
<source>Not found</source>
<translation type="unfinished"></translation>
</message>
<message id="#noDataError">
<location filename="../qml/main.qml" line="676"/>
<location filename="../qml/main.qml" line="674"/>
<source>No Data</source>
<translation type="unfinished"></translation>
</message>
<message id="#invalidRequestError">
<location filename="../qml/main.qml" line="681"/>
<location filename="../qml/main.qml" line="679"/>
<source>Invalid Request</source>
<translation type="unfinished"></translation>
</message>
<message id="#unexpectedError">
<location filename="../qml/main.qml" line="687"/>
<location filename="../qml/main.qml" line="685"/>
<source>Unexpected error</source>
<translation type="unfinished"></translation>
</message>
<message id="#shareResultsLinkText">
<location filename="../../sources/bluerockbackend.cpp" line="99"/>
<location filename="../../sources/bluerockbackend.cpp" line="101"/>
<source>Check out the results of %1 over here:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AndroidShareUtils</name>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="191"/>
<source>Share: an Error occured</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="203"/>
<source>Share: an Error occured
WorkingDir not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="217"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="243"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="255"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="283"/>
<source>Empty URL received</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="235"/>
<location filename="../../sources/shareUtils/androidshareutils.cpp" line="273"/>
<source>File does not exist: %1</source>
<oldsource>Check out the results of %1 over here:</oldsource>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -112,6 +112,7 @@ void BlueRockBackend::shareResultsAsPoster(QString url, QString compName) {
}
}
compName = compName.replace("/", "");
path += "/" + compName + ".pdf";
QFile file(path);
@ -206,7 +207,7 @@ bool BlueRockBackend::requestCameraPermission() {
return false;
}
return true;
return false;
#elif defined Q_OS_IOS
return this->_iosPermissionUtils->requestCameraPermission();
#else

View file

@ -188,7 +188,7 @@ void AndroidShareUtils::processActivityResult(int requestCode, int resultCode)
emit shareFinished(requestCode);
} else {
qDebug() << "wrong result code: " << resultCode << " from request: " << requestCode;
emit shareError(requestCode, tr("Share: an Error occured"));
emit shareError(requestCode, "Share: an Error occured");
}
}
@ -200,7 +200,7 @@ void AndroidShareUtils::checkPendingIntents(const QString workingDirPath)
QAndroidJniObject jniWorkingDir = QAndroidJniObject::fromString(workingDirPath);
if(!jniWorkingDir.isValid()) {
qWarning() << "QAndroidJniObject jniWorkingDir not valid.";
emit shareError(0, tr("Share: an Error occured\nWorkingDir not valid"));
emit shareError(0, "Share: an Error occured\nWorkingDir not valid");
return;
}
activity.callMethod<void>("checkPendingIntents","(Ljava/lang/String;)V", jniWorkingDir.object<jstring>());
@ -214,7 +214,7 @@ void AndroidShareUtils::setFileUrlReceived(const QString &url)
{
if(url.isEmpty()) {
qWarning() << "setFileUrlReceived: we got an empty URL";
emit shareError(0, tr("Empty URL received"));
emit shareError(0, "Empty URL received");
return;
}
qDebug() << "AndroidShareUtils setFileUrlReceived: we got the File URL from JAVA: " << url;
@ -232,7 +232,7 @@ void AndroidShareUtils::setFileUrlReceived(const QString &url)
emit fileUrlReceived(myUrl);
} else {
qDebug() << "setFileUrlReceived: FILE does NOT exist ";
emit shareError(0, tr("File does not exist: %1").arg(myUrl));
emit shareError(0, QString("File does not exist: %1").arg(myUrl));
}
}
@ -240,7 +240,7 @@ void AndroidShareUtils::setOtherUrlReceived(const QString &url, const QString &s
{
if(url.isEmpty()) {
qWarning() << "setFileUrlReceived: we got an empty URL";
emit shareError(0, tr("Empty URL received"));
emit shareError(0, "Empty URL received");
return;
}
qDebug() << "AndroidShareUtils setOtherUrlReceived: we got the Other URL from JAVA: " << url;
@ -252,7 +252,7 @@ void AndroidShareUtils::setFileReceivedAndSaved(const QString &url)
{
if(url.isEmpty()) {
qWarning() << "setFileReceivedAndSaved: we got an empty URL";
emit shareError(0, tr("Empty URL received"));
emit shareError(0, "Empty URL received");
return;
}
qDebug() << "AndroidShareUtils setFileReceivedAndSaved: we got the File URL from JAVA: " << url;
@ -270,7 +270,7 @@ void AndroidShareUtils::setFileReceivedAndSaved(const QString &url)
emit fileReceivedAndSaved(myUrl);
} else {
qDebug() << "setFileReceivedAndSaved: FILE does NOT exist ";
emit shareError(0, tr("File does not exist: %1").arg(myUrl));
emit shareError(0, QString("File does not exist: %1").arg(myUrl));
}
}
@ -280,7 +280,7 @@ bool AndroidShareUtils::checkFileExits(const QString &url)
{
if(url.isEmpty()) {
qWarning() << "checkFileExits: we got an empty URL";
emit shareError(0, tr("Empty URL received"));
emit shareError(0, "Empty URL received");
return false;
}
qDebug() << "AndroidShareUtils checkFileExits: we got the File URL from JAVA: " << url;