From 11d6c097691c83c8e0322e2e7a677916cef89d78 Mon Sep 17 00:00:00 2001
From: Chris Adams <chris.adams@qinetic.com.au>
Date: Thu, 1 Oct 2020 16:16:49 +1000
Subject: [PATCH 13/32] Remove usage of deprecated QtAlgorithms

Change-Id: Ia64e2e81cc070932137d7183503d390b90c78b49
Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
---
 src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp | 3 ++-
 .../doc/snippets/qtversitdocsample/qtversitdocsample.cpp     | 3 ++-
 tests/auto/contacts/qcontactmanager/tst_qcontactmanager.cpp  | 5 +++--
 .../organizer/qorganizermanager/tst_qorganizermanager.cpp    | 5 +++--
 .../contacts/detailsbenchmark/tst_detailsbenchmark.cpp       | 5 +++--
 5 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp b/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp
index a9545b2c..aba5f083 100644
--- a/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp
+++ b/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp
@@ -325,7 +325,8 @@ QList<QOrganizerItem> QOrganizerItemMemoryEngine::internalItemOccurrences(const
     // now order the contents of retn by date
     QList<QDateTime> rdates = rdateMap.keys();
 
-    if (initialDateTime.isValid() && !recur.recurrenceDates().isEmpty() && qBinaryFind(rdates, initialDateTime) == rdates.constEnd()) {
+    if (initialDateTime.isValid() && !recur.recurrenceDates().isEmpty()
+            && !std::binary_search(rdates.constBegin(), rdates.constEnd(), initialDateTime)) {
         rdates.prepend(initialDateTime);
     }
 
diff --git a/src/versit/doc/snippets/qtversitdocsample/qtversitdocsample.cpp b/src/versit/doc/snippets/qtversitdocsample/qtversitdocsample.cpp
index 13ccbcb7..49bd503f 100644
--- a/src/versit/doc/snippets/qtversitdocsample/qtversitdocsample.cpp
+++ b/src/versit/doc/snippets/qtversitdocsample/qtversitdocsample.cpp
@@ -52,6 +52,7 @@
 #include <QtCore/qcoreapplication.h>
 #include <QtCore/qfile.h>
 #include <QtCore/qlist.h>
+#include <QtCore/qrandomgenerator.h>
 
 #include <QtContacts/qtcontacts.h>
 #include <QtContacts/qcontacttag.h>
@@ -77,7 +78,7 @@ public:
    bool saveResource(const QByteArray& contents, const QVersitProperty& property,
                      QString* location) {
        Q_UNUSED(property);
-       *location = QString::number(qrand());
+       *location = QString::number(QRandomGenerator::global()->generate());
        QFile file(*location);
        file.open(QIODevice::WriteOnly);
        file.write(contents); // In a real implementation, consider when this file will be deleted.
diff --git a/tests/auto/contacts/qcontactmanager/tst_qcontactmanager.cpp b/tests/auto/contacts/qcontactmanager/tst_qcontactmanager.cpp
index e2d5548f..a46cf97a 100644
--- a/tests/auto/contacts/qcontactmanager/tst_qcontactmanager.cpp
+++ b/tests/auto/contacts/qcontactmanager/tst_qcontactmanager.cpp
@@ -31,6 +31,7 @@
 #include <QtTest/QtTest>
 #include <QtGlobal>
 #include <QtCore/qnumeric.h>
+#include <QtCore/QRandomGenerator>
 
 #include <QtContacts>
 #include "qcontactmanagerdataholder.h"
@@ -2146,14 +2147,14 @@ void tst_QContactManager::changeSet()
 
     QList<QContactId> l1, l2;
     foreach (int n, QList<int>() << 1 << 1 << 1 << 2 << 2 << 3 << 3 << 4 << 4 << 4 << 5 << 10 << 9 << 8 << 8 << 8 << 7 << 7 << 6) {
-        ((qrand() % 2) ? l1 : l2).append(makeId("a", n));
+        ((QRandomGenerator::global()->generate() % 2) ? l1 : l2).append(makeId("a", n));
     }
     changeSet.clearChangedContacts();
     changeSet.insertChangedContacts(l1, QList<QContactDetail::DetailType>() << QContactName::Type << QContactBirthday::Type);
     changeSet.insertChangedContacts(l2, QList<QContactDetail::DetailType>() << QContactBirthday::Type << QContactName::Type << QContactBirthday::Type);
     QCOMPARE(changeSet.changedContacts().size(), 1);
     QList<QContactId> expected((QSet<QContactId>(l1.constBegin(), l1.constEnd()) | QSet<QContactId>(l2.constBegin(), l2.constEnd())).values());
-    qSort(expected);
+    std::sort(expected.begin(), expected.end());
     QCOMPARE(changeSet.changedContacts().first().second, expected);
 
     changeSet.insertRemovedContacts(QList<QContactId>() << id);
diff --git a/tests/auto/organizer/qorganizermanager/tst_qorganizermanager.cpp b/tests/auto/organizer/qorganizermanager/tst_qorganizermanager.cpp
index 8fb0d218..2d8d1b0a 100644
--- a/tests/auto/organizer/qorganizermanager/tst_qorganizermanager.cpp
+++ b/tests/auto/organizer/qorganizermanager/tst_qorganizermanager.cpp
@@ -30,6 +30,7 @@
 
 #include <QtTest/QtTest>
 #include <QtCore/QUuid>
+#include <QtCore/QRandomGenerator>
 
 #include <QtOrganizer/qorganizer.h>
 #include <QtOrganizer/qorganizeritemchangeset.h>
@@ -2751,14 +2752,14 @@ void tst_QOrganizerManager::changeSet()
 
     QList<QOrganizerItemId> l1, l2;
     foreach (int n, QList<int>() << 1 << 1 << 1 << 2 << 2 << 3 << 3 << 4 << 4 << 4 << 5 << 10 << 9 << 8 << 8 << 8 << 7 << 7 << 6) {
-        ((qrand() % 2) ? l1 : l2).append(makeItemId(n));
+        ((QRandomGenerator::global()->generate() % 2) ? l1 : l2).append(makeItemId(n));
     }
     changeSet.clearChangedItems();
     changeSet.insertChangedItems(l1, QList<QOrganizerItemDetail::DetailType>() << QOrganizerItemDetail::TypeDescription << QOrganizerItemDetail::TypeTag);
     changeSet.insertChangedItems(l2, QList<QOrganizerItemDetail::DetailType>() << QOrganizerItemDetail::TypeTag << QOrganizerItemDetail::TypeDescription << QOrganizerItemDetail::TypeTag);
     QCOMPARE(changeSet.changedItems().size(), 1);
     QList<QOrganizerItemId> expected((convertListToSet(l1) | convertListToSet(l2)).values());
-    qSort(expected);
+    std::sort(expected.begin(), expected.end());
     QCOMPARE(changeSet.changedItems().first().second, expected);
 
     changeSet.insertRemovedItems(QList<QOrganizerItemId>() << id);
diff --git a/tests/benchmark/contacts/detailsbenchmark/tst_detailsbenchmark.cpp b/tests/benchmark/contacts/detailsbenchmark/tst_detailsbenchmark.cpp
index 1eea535e..bb95a0ce 100644
--- a/tests/benchmark/contacts/detailsbenchmark/tst_detailsbenchmark.cpp
+++ b/tests/benchmark/contacts/detailsbenchmark/tst_detailsbenchmark.cpp
@@ -33,6 +33,7 @@
 #include <QtDebug>
 
 #include <QSet>
+#include <QRandomGenerator>
 
 //TESTED_COMPONENT=src/contacts
 
@@ -176,8 +177,8 @@ namespace {
         static const QStringList hobbies(generateHobbiesList());
 
         QContact retn;
-        int random = qrand();
-        bool moreRandom = qrand() % 2 == 0;
+        quint32 random = QRandomGenerator::global()->generate();
+        bool moreRandom = QRandomGenerator::global()->generate() % 2 == 0;
 
         QContactSyncTarget synctarget;
         synctarget.setSyncTarget(syncTarget);
-- 
2.30.2

