From 6bc4c010ee8c28c9be22e00e678479f76a870541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dr=2E=20J=C3=B6rg=20Wurzer?= Date: Mon, 10 Feb 2025 18:41:16 +0100 Subject: [PATCH] Release 3.0.8 with some fixes --- Conversation.qml | 15 ++++------- Springboard.qml | 50 +++++++++++++++++++++++++++---------- android/AndroidManifest.xml | 2 +- main.qml | 6 ----- 4 files changed, 43 insertions(+), 30 deletions(-) diff --git a/Conversation.qml b/Conversation.qml index 9bd4ec52..8419ce60 100644 --- a/Conversation.qml +++ b/Conversation.qml @@ -649,10 +649,6 @@ LauncherPage { cMessage.m_IS_SENT = message["isSent"] - if (message["isSent"]) { - conversationPage.phoneNumber = message["address"] - } - if (message["image"] !== undefined && message["image"].length > 100) { cMessage.m_IMAGE = "data:image/png;base64," + message["image"] } else if (message["errorProperty"] !== undefined && message["errorProperty"]["code"] === 403) { @@ -670,6 +666,8 @@ LauncherPage { cMessage.m_DATE = message["date"] modelArr.push(cMessage) + + conversationPage.phoneNumber = message["address"] }) conversationPage.calls.forEach(function (call, index) { @@ -753,7 +751,7 @@ LauncherPage { function loadData() { console.log("Conversation | Load data for thread content") - conversationPage.messages.forEach(function (message, index) { + conversationPage.messages.forEach(function (message, index) { var cMessage = {m_ID: message["id"]} cMessage.m_TEXT = message["body"] @@ -768,12 +766,7 @@ LauncherPage { cMessage.m_IS_SENT = message["isSent"] - if (!message["isSent"]) { - conversationPage.phoneNumber = message["address"] - } - //console.debug("Conversation | Error: " + message["errorProperty"]["code"]) - //console.debug("Conversation | Color: " + mainView.backgroundColor) if (message["image"] !== undefined && message["image"].length > 100) { cMessage.m_IMAGE = "data:image/png;base64," + message["image"] @@ -792,6 +785,8 @@ LauncherPage { cMessage.m_DATE = message["date"] modelArr.push(cMessage) + + conversationPage.phoneNumber = message["address"] }) } diff --git a/Springboard.qml b/Springboard.qml index 98c15aa5..fb55d98c 100644 --- a/Springboard.qml +++ b/Springboard.qml @@ -6,6 +6,7 @@ import QtQuick.Layouts 1.12 import QtQuick.Window 2.2 import QtGraphicalEffects 1.12 import QtPositioning 5.13 +import Qt.labs.settings 1.0 import FileIO 1.0 import AndroidNative 1.0 as AN @@ -21,8 +22,8 @@ LauncherPage { property var selectedObj property var headline - property var eventGlossar: [qsTr("Monday"), qsTr("Tuesday"), qsTr("Wednesday"), qsTr("Thursday"), qsTr("Friday"), - qsTr("Saturday"), qsTr("Sunday"), qsTr("tomorrow")] + property var eventGlossar: [qsTr("Sunday"), qsTr("Monday"), qsTr("Tuesday"), qsTr("Wednesday"), qsTr("Thursday"), qsTr("Friday"), + qsTr("Saturday"), qsTr("tomorrow")] property var eventRegex property var plugins: new Array property var appButtons: new Array @@ -44,7 +45,7 @@ LauncherPage { eventRegexStr = eventRegexStr.concat(eventGlossar[i]) if (i < eventGlossar.length - 1) eventRegexStr = eventRegexStr.concat("|") } - eventRegexStr = eventRegexStr.concat(")\\s(\\d{1,2}\\:?\\d{0,2})?-?(\\d{1,2}\\:?\\d{0,2})?\\s?(am|pm|uhr\\s)?(\\S.*)") + eventRegexStr = eventRegexStr.concat(")\\s(\\d{1,2}\\:?\\d{0,2})?-?(\\d{1,2}\\:?\\d{0,2})?\\s?(am|pm|uhr\\s)?(\\S(.*\\n?)*)") eventRegex = new RegExp(eventRegexStr, "gim") var installedPlugins = mainView.getInstalledPlugins() @@ -311,11 +312,12 @@ LauncherPage { var pattern2 = /^(\d{2,4})\/(\d{1,2})\/(\d{1,2})?\s(\d{1,2}\:?\d{0,2})?-?(\d{1,2}\:?\d{0,2})?\s?(am|pm|uhr\s)?(\S.*)/gim if (eventRegex.test(textInput)) { var day = d.getDay() - var plannedDay = eventGlossar.indexOf(textInput.replace(eventRegex, '$1')) + var plannedDay = eventGlossar.indexOf(textInput.replace(eventRegex, '$1')) var daysToAdd = plannedDay > day ? plannedDay - day : 7 - plannedDay - if (plannedDay === 8) daysToAdd = 1 + if (daysToAdd === 8) daysToAdd = 1 var eventDate = new Date() eventDate.setDate(eventDate.getDate() + daysToAdd) + console.debug("Springboard | eventDate: " + eventDate) var year = eventDate.getFullYear() var date = eventDate.getDate() var month = eventDate.getMonth() @@ -842,14 +844,15 @@ LauncherPage { height: widgetsFlow.sideLength property string apiKey: "488297aabb1676640ac7fc10a6c5a2d1" - property string city: "Remscheid" - property double longitude: 51.1798 - property double latitude: 7.1925 + property string city: weatherSettings.city + property double longitude: weatherSettings.longitude + property double latitude: weatherSettings.latitude + property bool isManuallyDefined: weatherSettings.isManuallyDefined PositionSource { id: src updateInterval: 60000 - active: true + active: widgetsFlow.visible && !weatherWidget.isManuallyDefined function roundNumber(num, dec) { return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec) @@ -859,14 +862,14 @@ LauncherPage { var coord = src.position.coordinate var newLongitude = roundNumber(coord.longitude, 3) var newLatitude = roundNumber(coord.latitude, 3) - if ((coord.isValid && (Math.abs(mainView.longitude - newLongitude) >= 0.10 || Math.abs(mainView.latitude - - newLatitude) >= 0.10)) + if ((coord.isValid && (Math.abs(mainView.longitude - newLongitude) >= 0.10 + || Math.abs(mainView.latitude - newLatitude) >= 0.10)) || (!coord.isValid && dayTemperatures.text.length === 0)) { console.debug("Widget | Will update weather") //console.debug("Widget | isValid: " + coord.isValid) //console.debug("Widget | new ccord: " + coord.longitude + ", " + coord.latitude) - mainView.latitude = coord.latitude; - mainView.longitude = coord.longitude; + weatherWidget.latitude = coord.latitude; + weatherWidget.longitude = coord.longitude; console.debug("Widget | new ccord: " + newLongitude + ", " + newLatitude) console.debug("Widget | old ccord: " + weatherWidget.longitude + ", " + weatherWidget.latitude) if (!isNaN(newLongitude)) weatherWidget.longitude = newLongitude @@ -995,6 +998,10 @@ LauncherPage { locatioDialog.close() locationModel.clear() weatherWidget.getWeather() + weatherSettings.city = model.city + weatherSettings.longitude = model.lon + weatherSettings.latitude = model.lat + weatherSettings.sync() } } @@ -1136,6 +1143,23 @@ LauncherPage { weatherWidget.getWeather(); // Call the function to execute service } } + + Settings { + id: weatherSettings + property string city: "Remscheid" + property double longitude: 51.1798 + property double latitude: 7.1925 + property bool isManuallyDefined: false + + Component.objectName: { + if (weatherSettings.isManuallyDefined && weatherWidget.city !== weatherSettings.city) { + weatherWidget.city = weatherSettings.city + weatherWidget.longitude = weatherSettings.longitude + weatherWidget.latitude = weatherSettings.latitude + weatherWidget.getWeather() + } + } + } } Rectangle { diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index e777e290..69580f78 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - +