From 5dae9514a7d1d2066fb45452e125125ff3b1d2b4 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Tue, 26 Dec 2023 15:01:51 +0100 Subject: [PATCH] JS shell cleanup --- src/bricklink/global.h | 14 ++------------ src/bricklink/qmlapi.h | 2 ++ src/common/scriptmanager.cpp | 12 ++++++++++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/bricklink/global.h b/src/bricklink/global.h index e5d77fc7..014b07eb 100755 --- a/src/bricklink/global.h +++ b/src/bricklink/global.h @@ -71,9 +71,10 @@ Q_DECLARE_FLAGS(ColorType, ColorTypeFlag) Q_DECLARE_OPERATORS_FOR_FLAGS(ColorType) Q_FLAG_NS(ColorType) +Q_ENUM_NS(ColorTypeFlag) // Qt bug: needed for QVariant::toString() Q_FLAG_NS(PartOutTraits) +Q_ENUM_NS(PartOutTrait) // Qt bug: needed for QVariant::toString() Q_ENUM_NS(ApiQuirk) - Q_ENUM_NS(Time) Q_ENUM_NS(Price) Q_ENUM_NS(Condition) @@ -140,14 +141,3 @@ class InternalInventoryModel; class ItemDelegate; } // namespace BrickLink - -Q_DECLARE_METATYPE(BrickLink::Time) -Q_DECLARE_METATYPE(BrickLink::Price) -Q_DECLARE_METATYPE(BrickLink::Condition) -Q_DECLARE_METATYPE(BrickLink::SubCondition) -Q_DECLARE_METATYPE(BrickLink::Stockroom) -Q_DECLARE_METATYPE(BrickLink::Status) -Q_DECLARE_METATYPE(BrickLink::OrderType) -Q_DECLARE_METATYPE(BrickLink::OrderStatus) -Q_DECLARE_METATYPE(BrickLink::ApiQuirk) -Q_DECLARE_METATYPE(BrickLink::VatType) diff --git a/src/bricklink/qmlapi.h b/src/bricklink/qmlapi.h index 2041a336..4005b5ae 100644 --- a/src/bricklink/qmlapi.h +++ b/src/bricklink/qmlapi.h @@ -48,6 +48,7 @@ class QmlBrickLink : public QObject QML_SINGLETON QML_EXTENDED_NAMESPACE(BrickLink) Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") + Q_CLASSINFO("bsNoStringify", "noItem,noColor,noLot") Q_PRIVATE_PROPERTY(core(), QString cachePath READ dataPath CONSTANT FINAL) Q_PRIVATE_PROPERTY(core(), QSize standardPictureSize READ standardPictureSize CONSTANT FINAL) @@ -261,6 +262,7 @@ class QmlItemType : public QmlWrapperBase Q_GADGET QML_NAMED_ELEMENT(ItemType) QML_UNCREATABLE("") + Q_CLASSINFO("bsNoStringify", "categories") Q_PROPERTY(bool isNull READ isNull) Q_PROPERTY(QString id READ id CONSTANT) diff --git a/src/common/scriptmanager.cpp b/src/common/scriptmanager.cpp index 400fc965..13c493eb 100755 --- a/src/common/scriptmanager.cpp +++ b/src/common/scriptmanager.cpp @@ -82,11 +82,19 @@ static QString stringifyQObject(const QObject *o, const QMetaObject *mo, int lev + stringifyQObject(o, mo->superClass(), level + 1, false) + u'\n'; } + QByteArrayList noStringify; + if (int nostr = mo->indexOfClassInfo("bsNoStringify"); nostr >= 0) + noStringify = QByteArray(mo->classInfo(nostr).value()).split(','); + for (int i = mo->propertyOffset(); i < mo->propertyCount(); ++i) { QMetaProperty p = mo->property(i); - QVariant value = isGadget ? p.readOnGadget(o) : p.read(o); + QString valueStr; + if (noStringify.contains(p.name())) + valueStr = u"..."_qs; + else + valueStr = stringify(isGadget ? p.readOnGadget(o) : p.read(o), level + 1, false); str = str + nextIndent + stringifyType(p.metaType()) + u' ' - + QLatin1String(p.name()) + u": " + stringify(value, level + 1, false) + u'\n'; + + QString::fromLatin1(p.name()) + u": " + valueStr + u'\n'; } /* for (int i = mo->methodOffset(); i < mo->methodCount(); ++i) {