Issue #77 Use Qt facilites instead of own implementations

This commit is contained in:
Mat Sutcliffe
2020-08-24 00:53:04 +01:00
parent b7f6b06491
commit ac454ebf3a
7 changed files with 13 additions and 55 deletions

View File

@@ -69,12 +69,12 @@ namespace BlackGui
QByteArray CDockWidgetSettings::getGeometry() const QByteArray CDockWidgetSettings::getGeometry() const
{ {
return byteArrayFromHexString(m_geometry); return QByteArray::fromHex(m_geometry.toLatin1());
} }
void CDockWidgetSettings::setGeometry(const QByteArray &ba) void CDockWidgetSettings::setGeometry(const QByteArray &ba)
{ {
m_geometry = bytesToHexString(ba); m_geometry = ba.toHex();
} }
QString CDockWidgetSettings::convertToQString(bool i18n) const QString CDockWidgetSettings::convertToQString(bool i18n) const

View File

@@ -36,12 +36,12 @@ namespace BlackGui
QByteArray CNavigatorSettings::getGeometry() const QByteArray CNavigatorSettings::getGeometry() const
{ {
return byteArrayFromHexString(this->m_geometry); return QByteArray::fromHex(this->m_geometry.toLatin1());
} }
void CNavigatorSettings::setGeometry(const QByteArray &ba) void CNavigatorSettings::setGeometry(const QByteArray &ba)
{ {
this->m_geometry = bytesToHexString(ba); this->m_geometry = ba.toHex();
} }
QString CNavigatorSettings::convertToQString(bool i18n) const QString CNavigatorSettings::convertToQString(bool i18n) const

View File

@@ -7,7 +7,6 @@
*/ */
#include "blackmisc/imageutils.h" #include "blackmisc/imageutils.h"
#include "blackmisc/stringutils.h"
#include <QBuffer> #include <QBuffer>
#include <QIODevice> #include <QIODevice>
@@ -41,20 +40,20 @@ QString BlackMisc::pixmapToPngHexString(const QPixmap &pixmap)
QByteArray ba; QByteArray ba;
bool s = pixmapToPngByteArray(pixmap, ba); bool s = pixmapToPngByteArray(pixmap, ba);
if (!s) { return QString(); } if (!s) { return QString(); }
return bytesToHexString(ba); return ba.toHex();
} }
QPixmap BlackMisc::pngHexStringToPixmap(const QString &hexString) QPixmap BlackMisc::pngHexStringToPixmap(const QString &hexString)
{ {
if (hexString.isEmpty()) { return QPixmap(); } if (hexString.isEmpty()) { return QPixmap(); }
QByteArray ba(byteArrayFromHexString(hexString)); QByteArray ba(QByteArray::fromHex(hexString.toLatin1()));
return pngByteArrayToPixmap(ba); return pngByteArrayToPixmap(ba);
} }
bool BlackMisc::pngHexStringToPixmapRef(const QString &hexString, QPixmap &pixmap) bool BlackMisc::pngHexStringToPixmapRef(const QString &hexString, QPixmap &pixmap)
{ {
if (hexString.isEmpty()) { return false; } if (hexString.isEmpty()) { return false; }
QByteArray ba(byteArrayFromHexString(hexString)); QByteArray ba(QByteArray::fromHex(hexString.toLatin1()));
return pngByteArrayToPixmapRef(ba, pixmap); return pngByteArrayToPixmapRef(ba, pixmap);
} }

View File

@@ -8,7 +8,6 @@
#include "blackmisc/json.h" #include "blackmisc/json.h"
#include "blackmisc/imageutils.h" #include "blackmisc/imageutils.h"
#include "blackmisc/stringutils.h"
#include <QDateTime> #include <QDateTime>
#include <QJsonDocument> #include <QJsonDocument>
@@ -95,7 +94,7 @@ const QJsonValue &operator >>(const QJsonValue &json, QPixmap &value)
const QJsonValue &operator >>(const QJsonValue &json, QByteArray &value) const QJsonValue &operator >>(const QJsonValue &json, QByteArray &value)
{ {
const QString hex(json.toString()); const QString hex(json.toString());
value = BlackMisc::byteArrayFromHexString(hex); value = QByteArray::fromHex(hex.toLatin1());
return json; return json;
} }
@@ -175,7 +174,7 @@ QJsonValueRef operator >>(QJsonValueRef json, QPixmap &value)
QJsonValueRef operator >>(QJsonValueRef json, QByteArray &value) QJsonValueRef operator >>(QJsonValueRef json, QByteArray &value)
{ {
const QString hex(json.toString()); const QString hex(json.toString());
value = BlackMisc::byteArrayFromHexString(hex); value = QByteArray::fromHex(hex.toLatin1());
return json; return json;
} }
@@ -248,7 +247,7 @@ QJsonArray &operator<<(QJsonArray &json, const QPixmap &value)
QJsonArray &operator<<(QJsonArray &json, const QByteArray &value) QJsonArray &operator<<(QJsonArray &json, const QByteArray &value)
{ {
QString pm(BlackMisc::byteArrayFromHexString(value)); QString pm(QByteArray::fromHex(value));
json.append(QJsonValue(pm)); json.append(QJsonValue(pm));
return json; return json;
} }
@@ -328,7 +327,7 @@ QJsonObject &operator<<(QJsonObject &json, const std::pair<QString, const QPixma
QJsonObject &operator<<(QJsonObject &json, const std::pair<QString, const QByteArray &> &value) QJsonObject &operator<<(QJsonObject &json, const std::pair<QString, const QByteArray &> &value)
{ {
QString pm(BlackMisc::bytesToHexString(value.second)); QString pm(value.second.toHex());
json.insert(value.first, pm); json.insert(value.first, pm);
return json; return json;
} }
@@ -408,8 +407,7 @@ QJsonObject &operator<<(QJsonObject &json, const std::pair<CExplicitLatin1String
QJsonObject &operator<<(QJsonObject &json, const std::pair<CExplicitLatin1String, const QByteArray &> &value) QJsonObject &operator<<(QJsonObject &json, const std::pair<CExplicitLatin1String, const QByteArray &> &value)
{ {
QString pm(BlackMisc::bytesToHexString(value.second)); json[value.first] = QString(value.second.toHex());
json[value.first] = pm;
return json; return json;
} }

View File

@@ -147,34 +147,6 @@ namespace BlackMisc
return QString(d, '0') + hex; 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<int>(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<char>(hex));
pos += 2;
}
return ba;
}
QString stripDesignatorFromCompleterString(const QString &candidate) QString stripDesignatorFromCompleterString(const QString &candidate)
{ {
const QString s(candidate.trimmed().toUpper()); const QString s(candidate.trimmed().toUpper());

View File

@@ -247,12 +247,6 @@ namespace BlackMisc
//! Replace dot '.' by locale decimal point //! Replace dot '.' by locale decimal point
BLACKMISC_EXPORT QString dotToLocaleDecimalPoint(const QString &input); 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 //! Strip a designator from a combined string
BLACKMISC_EXPORT QString stripDesignatorFromCompleterString(const QString &candidate); BLACKMISC_EXPORT QString stripDesignatorFromCompleterString(const QString &candidate);

View File

@@ -53,12 +53,7 @@ namespace BlackMisc
if (!object) { return false; } if (!object) { return false; }
if (CThreadUtils::isCurrentThreadObjectThread(object)) { return false; } if (CThreadUtils::isCurrentThreadObjectThread(object)) { return false; }
QPointer<QObject> myself(object); QMetaObject::invokeMethod(object, callFunct);
QTimer::singleShot(0, object, [ = ]
{
if (!myself) { return; }
callFunct();
});
return true; return true;
} }
} // ns } // ns