Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt6-speech for openSUSE:Factory 
checked in at 2023-10-02 20:05:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-speech (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-speech.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-speech"

Mon Oct  2 20:05:49 2023 rev:9 rq:1114514 version:6.5.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-speech/qt6-speech.changes    2023-07-26 
13:23:31.403849673 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-speech.new.28202/qt6-speech.changes 
2023-10-02 20:07:53.553881755 +0200
@@ -1,0 +2,6 @@
+Thu Sep 28 07:34:21 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Update to 6.5.3
+  * https://www.qt.io/blog/qt-6.5.3-released
+
+-------------------------------------------------------------------

Old:
----
  qtspeech-everywhere-src-6.5.2.tar.xz

New:
----
  qtspeech-everywhere-src-6.5.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-speech.spec ++++++
--- /var/tmp/diff_new_pack.CTudho/_old  2023-10-02 20:07:54.665921746 +0200
+++ /var/tmp/diff_new_pack.CTudho/_new  2023-10-02 20:07:54.665921746 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define real_version 6.5.2
+%define real_version 6.5.3
 %define short_version 6.5
 %define tar_name qtspeech-everywhere-src
 %define tar_suffix %{nil}
@@ -27,12 +27,12 @@
 %endif
 #
 Name:           qt6-speech%{?pkg_suffix}
-Version:        6.5.2
+Version:        6.5.3
 Release:        0
 Summary:        Qt 6 TextToSpeech Library and Plugin
 License:        LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
 URL:            https://www.qt.io
-Source:         
https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz
+Source:         
https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz
 BuildRequires:  pkgconfig
 BuildRequires:  qt6-core-private-devel
 BuildRequires:  cmake(Qt6Core) = %{real_version}

++++++ qtspeech-everywhere-src-6.5.2.tar.xz -> 
qtspeech-everywhere-src-6.5.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtspeech-everywhere-src-6.5.2/.cmake.conf 
new/qtspeech-everywhere-src-6.5.3/.cmake.conf
--- old/qtspeech-everywhere-src-6.5.2/.cmake.conf       2023-07-07 
18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/.cmake.conf       2023-09-24 
13:38:53.000000000 +0200
@@ -1,2 +1,2 @@
-set(QT_REPO_MODULE_VERSION "6.5.2")
+set(QT_REPO_MODULE_VERSION "6.5.3")
 set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtspeech-everywhere-src-6.5.2/.tag 
new/qtspeech-everywhere-src-6.5.3/.tag
--- old/qtspeech-everywhere-src-6.5.2/.tag      2023-07-07 18:22:17.000000000 
+0200
+++ new/qtspeech-everywhere-src-6.5.3/.tag      2023-09-24 13:38:53.000000000 
+0200
@@ -1 +1 @@
-9ae182fe7c03fc9550187b16fef7d2cbafb89ea6
+47d2905b512c975960c1b81e615e246a7e2ace2f
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtspeech-everywhere-src-6.5.2/dependencies.yaml 
new/qtspeech-everywhere-src-6.5.3/dependencies.yaml
--- old/qtspeech-everywhere-src-6.5.2/dependencies.yaml 2023-07-07 
18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/dependencies.yaml 2023-09-24 
13:38:53.000000000 +0200
@@ -1,10 +1,10 @@
 dependencies:
   ../qtbase:
-    ref: af457a9f0f7eb1a2a7d11f495da508faab91a442
+    ref: 372eaedc5b8c771c46acc4c96e91bbade4ca3624
     required: true
   ../qtdeclarative:
-    ref: f289063ff19588a11dd79213632785cfda2909a0
+    ref: e00c258fa5a4e122636d441967dea035865fac5d
     required: false
   ../qtmultimedia:
-    ref: ca330332aae05023983dcf445f0b388070289c51
+    ref: 0762bb1e91495527f0978232212521c49291f7de
     required: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/CMakeLists.txt 
new/qtspeech-everywhere-src-6.5.3/examples/speech/CMakeLists.txt
--- old/qtspeech-everywhere-src-6.5.2/examples/speech/CMakeLists.txt    
2023-07-07 18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/examples/speech/CMakeLists.txt    
2023-09-24 13:38:53.000000000 +0200
@@ -6,3 +6,6 @@
 if(TARGET Qt::Widgets)
     qt_internal_add_example(hello_speak)
 endif()
+if(TARGET Qt::Quick)
+    qt_internal_add_example(quickspeech)
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/hello_speak/doc/src/hellospeakex.qdoc
 
new/qtspeech-everywhere-src-6.5.3/examples/speech/hello_speak/doc/src/hellospeakex.qdoc
--- 
old/qtspeech-everywhere-src-6.5.2/examples/speech/hello_speak/doc/src/hellospeakex.qdoc
     2023-07-07 18:22:17.000000000 +0200
+++ 
new/qtspeech-everywhere-src-6.5.3/examples/speech/hello_speak/doc/src/hellospeakex.qdoc
     2023-09-24 13:38:53.000000000 +0200
@@ -4,6 +4,7 @@
 /*!
     \example hello_speak
     \title Hello Speak Example
+    \examplecategory {Data Processing & I/O}
     \ingroup qttexttospeech_examples
     \meta tags {widgets}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/CMakeLists.txt 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/CMakeLists.txt
--- 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/CMakeLists.txt    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/CMakeLists.txt    
    2023-09-24 13:38:53.000000000 +0200
@@ -0,0 +1,46 @@
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(quickspeech VERSION 0.1 LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+    set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/speech/quickspeech")
+
+find_package(Qt6 REQUIRED COMPONENTS Quick TextToSpeech)
+
+qt_standard_project_setup(REQUIRES 6.5)
+
+qt_add_executable(quickspeech
+    main.cpp
+)
+
+qt_add_qml_module(quickspeech
+    URI main
+    VERSION 1.0
+    QML_FILES "Main.qml"
+)
+
+set_target_properties(quickspeech PROPERTIES
+    MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
+    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
+    MACOSX_BUNDLE_SHORT_VERSION_STRING 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
+    MACOSX_BUNDLE TRUE
+    WIN32_EXECUTABLE TRUE
+)
+
+target_link_libraries(quickspeech PRIVATE
+    Qt6::Quick
+    Qt6::TextToSpeech
+)
+
+install(TARGETS quickspeech
+    RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+    BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+    LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/Main.qml 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/Main.qml
--- old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/Main.qml      
1970-01-01 01:00:00.000000000 +0100
+++ new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/Main.qml      
2023-09-24 13:38:53.000000000 +0200
@@ -0,0 +1,185 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import QtTextToSpeech
+
+ApplicationWindow {
+    id: root
+    visible: true
+    title: qsTr("Text to Speech")
+    minimumWidth: inputForm.implicitWidth
+    minimumHeight: inputForm.implicitHeight + footer.implicitHeight
+
+//! [initialize]
+    TextToSpeech {
+        id: tts
+        volume: volumeSlider.value
+        pitch: pitchSlider.value
+        rate: rateSlider.value
+//! [initialize]
+
+//! [stateChanged]
+        onStateChanged: (state) => {
+            switch (state) {
+                case TextToSpeech.Ready:
+                    statusLabel.text = qsTr("Ready")
+                    break
+                case TextToSpeech.Speaking:
+                    statusLabel.text = qsTr("Speaking")
+                    break
+                case TextToSpeech.Paused:
+                    statusLabel.text = qsTr("Paused...")
+                    break
+                case TextToSpeech.Error:
+                    statusLabel.text = qsTr("Error!")
+                    break
+            }
+        }
+//! [stateChanged]
+    }
+
+    ColumnLayout {
+        anchors.fill: parent
+        anchors.margins: 8
+        id: inputForm
+
+        TextArea {
+            id: input
+            wrapMode: TextEdit.WordWrap
+            text: qsTr("Hello, world!")
+            Layout.fillWidth: true
+            Layout.minimumHeight: implicitHeight
+        }
+//! [say0]
+        RowLayout {
+            Button {
+                text: qsTr("Speak")
+                enabled: [TextToSpeech.Paused, 
TextToSpeech.Ready].includes(tts.state)
+                onClicked: {
+//! [say0]
+                    let voices = tts.availableVoices()
+                    tts.voice = voices[voicesComboBox.currentIndex]
+//! [say1]
+                    tts.say(input.text)
+                }
+            }
+//! [say1]
+//! [pause]
+            Button {
+                text: qsTr("Pause")
+                enabled: tts.state == TextToSpeech.Speaking
+                onClicked: tts.pause()
+            }
+//! [pause]
+//! [resume]
+            Button {
+                text: qsTr("Resume")
+                enabled: tts.state == TextToSpeech.Paused
+                onClicked: tts.resume()
+            }
+//! [resume]
+            Button {
+                text: qsTr("Stop")
+                enabled: [TextToSpeech.Speaking, 
TextToSpeech.Paused].includes(tts.state)
+                onClicked: tts.stop()
+            }
+        }
+
+        GridLayout {
+            columns: 2
+
+            Text {
+                text: qsTr("Engine:")
+            }
+            ComboBox {
+                id: enginesComboBox
+                Layout.fillWidth: true
+                model: tts.availableEngines()
+                onActivated: {
+                    tts.engine = textAt(currentIndex)
+                    updateLocales()
+                    updateVoices()
+                }
+            }
+            Text {
+                text: qsTr("Locale:")
+            }
+            ComboBox {
+                id: localesComboBox
+                Layout.fillWidth: true
+                onActivated: {
+                    let locales = tts.availableLocales()
+                    tts.locale = locales[currentIndex]
+                    updateVoices()
+                }
+            }
+            Text {
+                text: qsTr("Voice:")
+            }
+            ComboBox {
+                id: voicesComboBox
+                Layout.fillWidth: true
+            }
+            Text {
+                text: qsTr("Volume:")
+            }
+            Slider {
+                id: volumeSlider
+                from: 0
+                to: 1.0
+                stepSize: 0.2
+                value: 0.8
+                Layout.fillWidth: true
+            }
+            Text {
+                text: qsTr("Pitch:")
+            }
+            Slider {
+                id: pitchSlider
+                from: -1.0
+                to: 1.0
+                stepSize: 0.5
+                value: 0
+                Layout.fillWidth: true
+            }
+            Text {
+                text: qsTr("Rate:")
+            }
+            Slider {
+                id: rateSlider
+                from: -1.0
+                to: 1.0
+                stepSize: 0.5
+                value: 0
+                Layout.fillWidth: true
+            }
+        }
+    }
+    footer: Label {
+        id: statusLabel
+    }
+
+    Component.onCompleted: {
+        enginesComboBox.currentIndex = 
tts.availableEngines().indexOf(tts.engine)
+        updateLocales()
+        updateVoices()
+
+        tts.onStateChanged(tts.state)
+    }
+
+    function updateLocales() {
+        let allLocales = tts.availableLocales().map((locale) => 
locale.nativeLanguageName)
+        let currentLocaleIndex = 
allLocales.indexOf(tts.locale.nativeLanguageName)
+        localesComboBox.model = allLocales
+        localesComboBox.currentIndex = currentLocaleIndex
+    }
+
+    function updateVoices() {
+        voicesComboBox.model = tts.availableVoices().map((voice) => voice.name)
+        let indexOfVoice = tts.availableVoices().indexOf(tts.voice)
+        voicesComboBox.currentIndex = indexOfVoice
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/doc/src/quickspeech.qdoc
 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/doc/src/quickspeech.qdoc
--- 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/doc/src/quickspeech.qdoc
      2023-07-07 18:22:17.000000000 +0200
+++ 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/doc/src/quickspeech.qdoc
      2023-09-24 13:38:53.000000000 +0200
@@ -4,6 +4,7 @@
 /*!
     \example quickspeech
     \title Quick Speech Example
+    \examplecategory {Data Processing & I/O}
     \ingroup qttexttospeech_examples
     \brief The Quick Speech example reads out user-provided text.
     \meta tags {quick Android}
@@ -20,7 +21,7 @@
     \section1 Initializing a TextToSpeech
     First, we initialize the text to speech object \c{tts}:
 
-    \quotefromfile quickspeech/main.qml
+    \quotefromfile quickspeech/Main.qml
     \skipto TextToSpeech {
     \printuntil rate: rateSlider.value
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/main.cpp 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/main.cpp
--- old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/main.cpp      
1970-01-01 01:00:00.000000000 +0100
+++ new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/main.cpp      
2023-09-24 13:38:53.000000000 +0200
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+
+int main(int argc, char *argv[])
+{
+    QGuiApplication app(argc, argv);
+
+    QQmlApplicationEngine engine;
+    QObject::connect(&engine, &QQmlApplicationEngine::objectCreationFailed,
+            &app, []() { QCoreApplication::exit(-1); },
+            Qt::QueuedConnection);
+    engine.loadFromModule("main", "Main");
+
+    return app.exec();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/main.qml 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/main.qml
--- old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/main.qml      
2023-07-07 18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/main.qml      
1970-01-01 01:00:00.000000000 +0100
@@ -1,185 +0,0 @@
-// Copyright (C) 2022 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtTextToSpeech
-
-ApplicationWindow {
-    id: root
-    visible: true
-    title: qsTr("Text to Speech")
-    minimumWidth: inputForm.implicitWidth
-    minimumHeight: inputForm.implicitHeight + footer.implicitHeight
-
-//! [initialize]
-    TextToSpeech {
-        id: tts
-        volume: volumeSlider.value
-        pitch: pitchSlider.value
-        rate: rateSlider.value
-//! [initialize]
-
-//! [stateChanged]
-        onStateChanged: (state) => {
-            switch (state) {
-                case TextToSpeech.Ready:
-                    statusLabel.text = qsTr("Ready")
-                    break
-                case TextToSpeech.Speaking:
-                    statusLabel.text = qsTr("Speaking")
-                    break
-                case TextToSpeech.Paused:
-                    statusLabel.text = qsTr("Paused...")
-                    break
-                case TextToSpeech.Error:
-                    statusLabel.text = qsTr("Error!")
-                    break
-            }
-        }
-//! [stateChanged]
-    }
-
-    ColumnLayout {
-        anchors.fill: parent
-        anchors.margins: 8
-        id: inputForm
-
-        TextArea {
-            id: input
-            wrapMode: TextEdit.WordWrap
-            text: qsTr("Hello, world!")
-            Layout.fillWidth: true
-            Layout.minimumHeight: implicitHeight
-        }
-//! [say0]
-        RowLayout {
-            Button {
-                text: qsTr("Speak")
-                enabled: [TextToSpeech.Paused, 
TextToSpeech.Ready].includes(tts.state)
-                onClicked: {
-//! [say0]
-                    let voices = tts.availableVoices()
-                    tts.voice = voices[voicesComboBox.currentIndex]
-//! [say1]
-                    tts.say(input.text)
-                }
-            }
-//! [say1]
-//! [pause]
-            Button {
-                text: qsTr("Pause")
-                enabled: tts.state == TextToSpeech.Speaking
-                onClicked: tts.pause()
-            }
-//! [pause]
-//! [resume]
-            Button {
-                text: qsTr("Resume")
-                enabled: tts.state == TextToSpeech.Paused
-                onClicked: tts.resume()
-            }
-//! [resume]
-            Button {
-                text: qsTr("Stop")
-                enabled: [TextToSpeech.Speaking, 
TextToSpeech.Paused].includes(tts.state)
-                onClicked: tts.stop()
-            }
-        }
-
-        GridLayout {
-            columns: 2
-
-            Text {
-                text: qsTr("Engine:")
-            }
-            ComboBox {
-                id: enginesComboBox
-                Layout.fillWidth: true
-                model: tts.availableEngines()
-                onActivated: {
-                    tts.engine = textAt(currentIndex)
-                    updateLocales()
-                    updateVoices()
-                }
-            }
-            Text {
-                text: qsTr("Locale:")
-            }
-            ComboBox {
-                id: localesComboBox
-                Layout.fillWidth: true
-                onActivated: {
-                    let locales = tts.availableLocales()
-                    tts.locale = locales[currentIndex]
-                    updateVoices()
-                }
-            }
-            Text {
-                text: qsTr("Voice:")
-            }
-            ComboBox {
-                id: voicesComboBox
-                Layout.fillWidth: true
-            }
-            Text {
-                text: qsTr("Volume:")
-            }
-            Slider {
-                id: volumeSlider
-                from: 0
-                to: 1.0
-                stepSize: 0.2
-                value: 0.8
-                Layout.fillWidth: true
-            }
-            Text {
-                text: qsTr("Pitch:")
-            }
-            Slider {
-                id: pitchSlider
-                from: -1.0
-                to: 1.0
-                stepSize: 0.5
-                value: 0
-                Layout.fillWidth: true
-            }
-            Text {
-                text: qsTr("Rate:")
-            }
-            Slider {
-                id: rateSlider
-                from: -1.0
-                to: 1.0
-                stepSize: 0.5
-                value: 0
-                Layout.fillWidth: true
-            }
-        }
-    }
-    footer: Label {
-        id: statusLabel
-    }
-
-    Component.onCompleted: {
-        enginesComboBox.currentIndex = 
tts.availableEngines().indexOf(tts.engine)
-        updateLocales()
-        updateVoices()
-
-        tts.onStateChanged(tts.state)
-    }
-
-    function updateLocales() {
-        let allLocales = tts.availableLocales().map((locale) => 
locale.nativeLanguageName)
-        let currentLocaleIndex = 
allLocales.indexOf(tts.locale.nativeLanguageName)
-        localesComboBox.model = allLocales
-        localesComboBox.currentIndex = currentLocaleIndex
-    }
-
-    function updateVoices() {
-        voicesComboBox.model = tts.availableVoices().map((voice) => voice.name)
-        let indexOfVoice = tts.availableVoices().indexOf(tts.voice)
-        voicesComboBox.currentIndex = indexOfVoice
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/qmldir 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/qmldir
--- old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/qmldir        
1970-01-01 01:00:00.000000000 +0100
+++ new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/qmldir        
2023-09-24 13:38:53.000000000 +0200
@@ -0,0 +1,2 @@
+module main
+Main 1.0 Main.qml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/quickspeech.pro 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/quickspeech.pro
--- 
old/qtspeech-everywhere-src-6.5.2/examples/speech/quickspeech/quickspeech.pro   
    2023-07-07 18:22:17.000000000 +0200
+++ 
new/qtspeech-everywhere-src-6.5.3/examples/speech/quickspeech/quickspeech.pro   
    2023-09-24 13:38:53.000000000 +0200
@@ -1 +1,20 @@
-error(This example can be run directly with the qml tool!)
+TEMPLATE = app
+TARGET = quickspeech
+
+QT += quick texttospeech
+
+SOURCES += main.cpp
+
+qml_resources.files = \
+    qmldir \
+    Main.qml
+
+qml_resources.prefix = /qt/qml/main
+
+RESOURCES += qml_resources
+
+target.path = $$[QT_INSTALL_EXAMPLES]/speech/quickspeech
+INSTALLS += target
+
+DISTFILES += \
+    qmldir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/examples/speech/speech.pro 
new/qtspeech-everywhere-src-6.5.3/examples/speech/speech.pro
--- old/qtspeech-everywhere-src-6.5.2/examples/speech/speech.pro        
2023-07-07 18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/examples/speech/speech.pro        
2023-09-24 13:38:53.000000000 +0200
@@ -1,2 +1,3 @@
 TEMPLATE = subdirs
 qtHaveModule(widgets): SUBDIRS += hello_speak
+qtHaveModule(quick): SUBDIRS += quickspeech
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/src/plugins/tts/winrt/qtexttospeech_winrt.cpp 
new/qtspeech-everywhere-src-6.5.3/src/plugins/tts/winrt/qtexttospeech_winrt.cpp
--- 
old/qtspeech-everywhere-src-6.5.2/src/plugins/tts/winrt/qtexttospeech_winrt.cpp 
    2023-07-07 18:22:17.000000000 +0200
+++ 
new/qtspeech-everywhere-src-6.5.3/src/plugins/tts/winrt/qtexttospeech_winrt.cpp 
    2023-09-24 13:38:53.000000000 +0200
@@ -117,6 +117,7 @@
     if (!SUCCEEDED(hr)) {
         d->setError(QTextToSpeech::ErrorReason::Initialization,
                     QCoreApplication::translate("QTextToSpeech", "Could not 
initialize text-to-speech engine."));
+        return;
     } else if (voice() == QVoice()) {
         d->setError(QTextToSpeech::ErrorReason::Configuration,
                     QCoreApplication::translate("QTextToSpeech", "Could not 
set default voice."));
@@ -221,6 +222,8 @@
 QList<QLocale> QTextToSpeechEngineWinRT::availableLocales() const
 {
     Q_D(const QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return QList<QLocale>();
     QSet<QLocale> uniqueLocales;
     d->forEachVoice([&uniqueLocales](const ComPtr<IVoiceInformation> 
&voiceInfo) {
         HString voiceLanguage;
@@ -236,6 +239,8 @@
 QList<QVoice> QTextToSpeechEngineWinRT::availableVoices() const
 {
     Q_D(const QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return QList<QVoice>();
     QList<QVoice> voices;
     const QLocale currentLocale = locale();
     d->forEachVoice([&](const ComPtr<IVoiceInformation> &voiceInfo) {
@@ -250,6 +255,8 @@
 QLocale QTextToSpeechEngineWinRT::locale() const
 {
     Q_D(const QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return QLocale(QLocale::C, QLocale::AnyTerritory);
 
     ComPtr<IVoiceInformation> voiceInfo;
     HRESULT hr = d->synth->get_Voice(&voiceInfo);
@@ -263,6 +270,8 @@
 bool QTextToSpeechEngineWinRT::setLocale(const QLocale &locale)
 {
     Q_D(QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return false;
 
     ComPtr<IVoiceInformation> foundVoice;
     d->forEachVoice([&locale, &foundVoice](const ComPtr<IVoiceInformation> 
&voiceInfo) {
@@ -290,6 +299,8 @@
 QVoice QTextToSpeechEngineWinRT::voice() const
 {
     Q_D(const QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return QVoice();
 
     ComPtr<IVoiceInformation> voiceInfo;
     d->synth->get_Voice(&voiceInfo);
@@ -300,6 +311,8 @@
 bool QTextToSpeechEngineWinRT::setVoice(const QVoice &voice)
 {
     Q_D(QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return false;
 
     const QString data = QTextToSpeechEngine::voiceData(voice).toString();
     if (data.isEmpty())
@@ -393,6 +406,8 @@
 void QTextToSpeechEngineWinRT::say(const QString &text)
 {
     Q_D(QTextToSpeechEngineWinRT);
+    if (!d->synth)
+        return;
 
     // stop ongoing speech
     stop(QTextToSpeech::BoundaryHint::Default);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/src/tts/doc/src/qttexttospeech-examples.qdoc 
new/qtspeech-everywhere-src-6.5.3/src/tts/doc/src/qttexttospeech-examples.qdoc
--- 
old/qtspeech-everywhere-src-6.5.2/src/tts/doc/src/qttexttospeech-examples.qdoc  
    2023-07-07 18:22:17.000000000 +0200
+++ 
new/qtspeech-everywhere-src-6.5.3/src/tts/doc/src/qttexttospeech-examples.qdoc  
    2023-09-24 13:38:53.000000000 +0200
@@ -3,7 +3,6 @@
 
 /*!
     \group qttexttospeech_examples
-    \ingroup all-examples
     \title Qt TextToSpeech Examples
     \brief Demonstrates the text-to-speech functionality provided by Qt.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/src/tts/qtexttospeech.cpp 
new/qtspeech-everywhere-src-6.5.3/src/tts/qtexttospeech.cpp
--- old/qtspeech-everywhere-src-6.5.2/src/tts/qtexttospeech.cpp 2023-07-07 
18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/src/tts/qtexttospeech.cpp 2023-09-24 
13:38:53.000000000 +0200
@@ -174,14 +174,14 @@
     Use \l say() to start reading text to the default audio device, and
     \l stop(), \l pause(), and \l resume() to control the reading of the text.
 
-    \snippet quickspeech/main.qml initialize
+    \snippet quickspeech/Main.qml initialize
     \codeline
     \dots
     \codeline
-    \snippet quickspeech/main.qml say0
-    \snippet quickspeech/main.qml say1
-    \snippet quickspeech/main.qml pause
-    \snippet quickspeech/main.qml resume
+    \snippet quickspeech/Main.qml say0
+    \snippet quickspeech/Main.qml say1
+    \snippet quickspeech/Main.qml pause
+    \snippet quickspeech/Main.qml resume
     \dots
 
     To synthesize text into PCM data for further processing, use synthesize().
@@ -389,7 +389,7 @@
 
     \sa QTextToSpeech::State say() stop() pause()
 
-    \snippet quickspeech/main.qml stateChanged
+    \snippet quickspeech/Main.qml stateChanged
 */
 
 /*!
@@ -478,8 +478,8 @@
     This function starts sythesizing the speech asynchronously, and reads the 
text to the
     default audio output device.
 
-    \snippet quickspeech/main.qml say0
-    \snippet quickspeech/main.qml say1
+    \snippet quickspeech/Main.qml say0
+    \snippet quickspeech/Main.qml say1
 
     \note All in-progress readings are stopped before beginning to read the 
recently
     synthesized text.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtspeech-everywhere-src-6.5.2/src/tts/qtexttospeech_qmltypes_p.h 
new/qtspeech-everywhere-src-6.5.3/src/tts/qtexttospeech_qmltypes_p.h
--- old/qtspeech-everywhere-src-6.5.2/src/tts/qtexttospeech_qmltypes_p.h        
2023-07-07 18:22:17.000000000 +0200
+++ new/qtspeech-everywhere-src-6.5.3/src/tts/qtexttospeech_qmltypes_p.h        
2023-09-24 13:38:53.000000000 +0200
@@ -34,10 +34,17 @@
     QML_NAMED_ELEMENT(voice)
 };
 
+// To prevent the same QVoice type from being exported twice into qmltypes
+// (for value type and for the enums)
+struct QVoiceDerived : public QVoice
+{
+    Q_GADGET
+};
+
 namespace QVoiceForeignNamespace
 {
     Q_NAMESPACE
-    QML_FOREIGN_NAMESPACE(QVoice)
+    QML_FOREIGN_NAMESPACE(QVoiceDerived)
     QML_NAMED_ELEMENT(Voice)
 }
 

Reply via email to