From ac454ebf3a233173e3d83244059ed4e7460c3a61 Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Mon, 24 Aug 2020 00:53:04 +0100 Subject: [PATCH] Issue #77 Use Qt facilites instead of own implementations --- src/blackgui/settings/dockwidgetsettings.cpp | 4 +-- src/blackgui/settings/navigatorsettings.cpp | 4 +-- src/blackmisc/imageutils.cpp | 7 +++-- src/blackmisc/json.cpp | 12 ++++----- src/blackmisc/stringutils.cpp | 28 -------------------- src/blackmisc/stringutils.h | 6 ----- src/blackmisc/threadutils.cpp | 7 +---- 7 files changed, 13 insertions(+), 55 deletions(-) diff --git a/src/blackgui/settings/dockwidgetsettings.cpp b/src/blackgui/settings/dockwidgetsettings.cpp index 91295b66f..32c76f590 100644 --- a/src/blackgui/settings/dockwidgetsettings.cpp +++ b/src/blackgui/settings/dockwidgetsettings.cpp @@ -69,12 +69,12 @@ namespace BlackGui QByteArray CDockWidgetSettings::getGeometry() const { - return byteArrayFromHexString(m_geometry); + return QByteArray::fromHex(m_geometry.toLatin1()); } void CDockWidgetSettings::setGeometry(const QByteArray &ba) { - m_geometry = bytesToHexString(ba); + m_geometry = ba.toHex(); } QString CDockWidgetSettings::convertToQString(bool i18n) const diff --git a/src/blackgui/settings/navigatorsettings.cpp b/src/blackgui/settings/navigatorsettings.cpp index cbdff118d..ae3892d37 100644 --- a/src/blackgui/settings/navigatorsettings.cpp +++ b/src/blackgui/settings/navigatorsettings.cpp @@ -36,12 +36,12 @@ namespace BlackGui QByteArray CNavigatorSettings::getGeometry() const { - return byteArrayFromHexString(this->m_geometry); + return QByteArray::fromHex(this->m_geometry.toLatin1()); } void CNavigatorSettings::setGeometry(const QByteArray &ba) { - this->m_geometry = bytesToHexString(ba); + this->m_geometry = ba.toHex(); } QString CNavigatorSettings::convertToQString(bool i18n) const diff --git a/src/blackmisc/imageutils.cpp b/src/blackmisc/imageutils.cpp index a356a7b3f..9d899460f 100644 --- a/src/blackmisc/imageutils.cpp +++ b/src/blackmisc/imageutils.cpp @@ -7,7 +7,6 @@ */ #include "blackmisc/imageutils.h" -#include "blackmisc/stringutils.h" #include #include @@ -41,20 +40,20 @@ QString BlackMisc::pixmapToPngHexString(const QPixmap &pixmap) QByteArray ba; bool s = pixmapToPngByteArray(pixmap, ba); if (!s) { return QString(); } - return bytesToHexString(ba); + return ba.toHex(); } QPixmap BlackMisc::pngHexStringToPixmap(const QString &hexString) { if (hexString.isEmpty()) { return QPixmap(); } - QByteArray ba(byteArrayFromHexString(hexString)); + QByteArray ba(QByteArray::fromHex(hexString.toLatin1())); return pngByteArrayToPixmap(ba); } bool BlackMisc::pngHexStringToPixmapRef(const QString &hexString, QPixmap &pixmap) { if (hexString.isEmpty()) { return false; } - QByteArray ba(byteArrayFromHexString(hexString)); + QByteArray ba(QByteArray::fromHex(hexString.toLatin1())); return pngByteArrayToPixmapRef(ba, pixmap); } diff --git a/src/blackmisc/json.cpp b/src/blackmisc/json.cpp index 247059c8f..bac96fa4c 100644 --- a/src/blackmisc/json.cpp +++ b/src/blackmisc/json.cpp @@ -8,7 +8,6 @@ #include "blackmisc/json.h" #include "blackmisc/imageutils.h" -#include "blackmisc/stringutils.h" #include #include @@ -95,7 +94,7 @@ const QJsonValue &operator >>(const QJsonValue &json, QPixmap &value) const QJsonValue &operator >>(const QJsonValue &json, QByteArray &value) { const QString hex(json.toString()); - value = BlackMisc::byteArrayFromHexString(hex); + value = QByteArray::fromHex(hex.toLatin1()); return json; } @@ -175,7 +174,7 @@ QJsonValueRef operator >>(QJsonValueRef json, QPixmap &value) QJsonValueRef operator >>(QJsonValueRef json, QByteArray &value) { const QString hex(json.toString()); - value = BlackMisc::byteArrayFromHexString(hex); + value = QByteArray::fromHex(hex.toLatin1()); return json; } @@ -248,7 +247,7 @@ QJsonArray &operator<<(QJsonArray &json, const QPixmap &value) QJsonArray &operator<<(QJsonArray &json, const QByteArray &value) { - QString pm(BlackMisc::byteArrayFromHexString(value)); + QString pm(QByteArray::fromHex(value)); json.append(QJsonValue(pm)); return json; } @@ -328,7 +327,7 @@ QJsonObject &operator<<(QJsonObject &json, const std::pair &value) { - QString pm(BlackMisc::bytesToHexString(value.second)); + QString pm(value.second.toHex()); json.insert(value.first, pm); return json; } @@ -408,8 +407,7 @@ QJsonObject &operator<<(QJsonObject &json, const std::pair &value) { - QString pm(BlackMisc::bytesToHexString(value.second)); - json[value.first] = pm; + json[value.first] = QString(value.second.toHex()); return json; } diff --git a/src/blackmisc/stringutils.cpp b/src/blackmisc/stringutils.cpp index 64aa2abba..734291a0d 100644 --- a/src/blackmisc/stringutils.cpp +++ b/src/blackmisc/stringutils.cpp @@ -147,34 +147,6 @@ namespace BlackMisc return QString(d, '0') + hex; } - QString bytesToHexString(const QByteArray &bytes) - { - QString h; - for (int i = 0; i < bytes.size(); i++) - { - const int b = static_cast(bytes.at(i)); - h += intToHex(b, 2); - } - return h; - } - - QByteArray byteArrayFromHexString(const QString &hexString) - { - QByteArray ba; - int pos = 0; - while (pos + 1 < hexString.length()) - { - bool ok; - const QString h = hexString.mid(pos, 2); - int hex = h.toInt(&ok, 16); - Q_ASSERT_X(ok, Q_FUNC_INFO, "Invalid hex"); - if (!ok) { return QByteArray(); } - ba.push_back(static_cast(hex)); - pos += 2; - } - return ba; - } - QString stripDesignatorFromCompleterString(const QString &candidate) { const QString s(candidate.trimmed().toUpper()); diff --git a/src/blackmisc/stringutils.h b/src/blackmisc/stringutils.h index 5f4623001..fad75677d 100644 --- a/src/blackmisc/stringutils.h +++ b/src/blackmisc/stringutils.h @@ -247,12 +247,6 @@ namespace BlackMisc //! Replace dot '.' by locale decimal point BLACKMISC_EXPORT QString dotToLocaleDecimalPoint(const QString &input); - //! Int to hex value (per byte, 2 digits) - BLACKMISC_EXPORT QString bytesToHexString(const QByteArray &bytes); - - //! Byte array from hex value string per byte, 2 digits - BLACKMISC_EXPORT QByteArray byteArrayFromHexString(const QString &hexString); - //! Strip a designator from a combined string BLACKMISC_EXPORT QString stripDesignatorFromCompleterString(const QString &candidate); diff --git a/src/blackmisc/threadutils.cpp b/src/blackmisc/threadutils.cpp index 18fa45464..0aa7b1615 100644 --- a/src/blackmisc/threadutils.cpp +++ b/src/blackmisc/threadutils.cpp @@ -53,12 +53,7 @@ namespace BlackMisc if (!object) { return false; } if (CThreadUtils::isCurrentThreadObjectThread(object)) { return false; } - QPointer myself(object); - QTimer::singleShot(0, object, [ = ] - { - if (!myself) { return; } - callFunct(); - }); + QMetaObject::invokeMethod(object, callFunct); return true; } } // ns