File 0962-fix-cpp20-compatibility.patch of Package OpenBoard

From 6a0be1b4607da3c3eb9b7d8b547e7b489bc2d219 Mon Sep 17 00:00:00 2001
From: Vekhir <Vekhir@yahoo.com>
Date: Tue, 14 May 2024 13:47:34 +0200
Subject: [PATCH] fix: Add compatibility with C++20

C++20 and Qt5 have an issue with string literals, probably related
to char/QString conversion. The QStringLiteral macro allows using
literals without automatic conversion to QString. Fixes
https://github.com/OpenBoard-org/OpenBoard/issues/958#issuecomment-2109169685
---
 src/domain/UBGraphicsWidgetItem.cpp | 92 ++++++++++++++---------------
 1 file changed, 46 insertions(+), 46 deletions(-)

diff --git a/src/domain/UBGraphicsWidgetItem.cpp b/src/domain/UBGraphicsWidgetItem.cpp
index 6e3c94a10..b9b4dffb8 100644
--- a/src/domain/UBGraphicsWidgetItem.cpp
+++ b/src/domain/UBGraphicsWidgetItem.cpp
@@ -75,62 +75,62 @@ const QMap<Qt::Key, QString> UBGraphicsWidgetItem::sDeadKeys
 const QMap<QString, QString> UBGraphicsWidgetItem::sAccentedCharacters
 {
     // Dead Key: ^
-    {"^a", u8"â"},
-    {"^A", u8"Â"},
-    {"^e", u8"ê"},
-    {"^E", u8"Ê"},
-    {"^i", u8"î"},
-    {"^I", u8"Î"},
-    {"^o", u8"ô"},
-    {"^O", u8"Ô"},
-    {"^u", u8"û"},
-    {"^U", u8"Û"},
+    {"^a", QStringLiteral(u"â")},
+    {"^A", QStringLiteral(u"Â")},
+    {"^e", QStringLiteral(u"ê")},
+    {"^E", QStringLiteral(u"Ê")},
+    {"^i", QStringLiteral(u"î")},
+    {"^I", QStringLiteral(u"Î")},
+    {"^o", QStringLiteral(u"ô")},
+    {"^O", QStringLiteral(u"Ô")},
+    {"^u", QStringLiteral(u"û")},
+    {"^U", QStringLiteral(u"Û")},
 
     // Dead Key: ´
-    {"´a", u8"á"},
-    {"´A", u8"Á"},
-    {"´e", u8"é"},
-    {"´E", u8"É"},
-    {"´i", u8"í"},
-    {"´I", u8"Í"},
-    {"´o", u8"ó"},
-    {"´O", u8"Ó"},
-    {"´u", u8"ú"},
-    {"´U", u8"Ú"},
+    {"´a", QStringLiteral(u"á")},
+    {"´A", QStringLiteral(u"Á")},
+    {"´e", QStringLiteral(u"é")},
+    {"´E", QStringLiteral(u"É")},
+    {"´i", QStringLiteral(u"í")},
+    {"´I", QStringLiteral(u"Í")},
+    {"´o", QStringLiteral(u"ó")},
+    {"´O", QStringLiteral(u"Ó")},
+    {"´u", QStringLiteral(u"ú")},
+    {"´U", QStringLiteral(u"Ú")},
 
     // Dead Key: `
-    {"`a", u8"à"},
-    {"`A", u8"À"},
-    {"`e", u8"è"},
-    {"`E", u8"È"},
-    {"`i", u8"ì"},
-    {"`I", u8"Ì"},
-    {"`o", u8"ò"},
-    {"`O", u8"Ò"},
-    {"`u", u8"ù"},
-    {"`U", u8"Ù"},
+    {"`a", QStringLiteral(u"à")},
+    {"`A", QStringLiteral(u"À")},
+    {"`e", QStringLiteral(u"è")},
+    {"`E", QStringLiteral(u"È")},
+    {"`i", QStringLiteral(u"ì")},
+    {"`I", QStringLiteral(u"Ì")},
+    {"`o", QStringLiteral(u"ò")},
+    {"`O", QStringLiteral(u"Ò")},
+    {"`u", QStringLiteral(u"ù")},
+    {"`U", QStringLiteral(u"Ù")},
 
     // Dead Key: ~
-    {"~n", u8"ñ"},
-    {"~N", u8"Ñ"},
+    {"~n", QStringLiteral(u"ñ")},
+    {"~N", QStringLiteral(u"Ñ")},
 
     // Dead Key: '
-    {"'c", u8"ç"},
-    {"'C", u8"Ç"},
+    {"'c", QStringLiteral(u"ç")},
+    {"'C", QStringLiteral(u"Ç")},
 
     // Dead Key: ¨
-    {"¨a", u8"ä"},
-    {"¨A", u8"Ä"},
-    {"¨e", u8"ë"},
-    {"¨E", u8"Ë"},
-    {"¨i", u8"ï"},
-    {"¨I", u8"Ï"},
-    {"¨o", u8"ö"},
-    {"¨O", u8"Ö"},
-    {"¨u", u8"ü"},
-    {"¨U", u8"Ü"},
-    {"¨y", u8"ÿ"},
-    {"¨Y", u8"Ÿ"}
+    {"¨a", QStringLiteral(u"ä")},
+    {"¨A", QStringLiteral(u"Ä")},
+    {"¨e", QStringLiteral(u"ë")},
+    {"¨E", QStringLiteral(u"Ë")},
+    {"¨i", QStringLiteral(u"ï")},
+    {"¨I", QStringLiteral(u"Ï")},
+    {"¨o", QStringLiteral(u"ö")},
+    {"¨O", QStringLiteral(u"Ö")},
+    {"¨u", QStringLiteral(u"ü")},
+    {"¨U", QStringLiteral(u"Ü")},
+    {"¨y", QStringLiteral(u"ÿ")},
+    {"¨Y", QStringLiteral(u"Ÿ")}
 };
 #endif
 
openSUSE Build Service is sponsored by