From 163b5c02785c0462a31b9a3f5f05cda54e03de78 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 31 Oct 2018 16:47:20 -0700 Subject: RCC: Modernize the compression algorithm selection Instead of using compression level -2 to indicate no compression, introduce CompressionAlgorithm::None and an equivalent XML attribute. This commit includes some extra error checking for RCC. Change-Id: I343f2beed55440a7ac0bfffd1562d64b024463ba Reviewed-by: Lars Knoll Reviewed-by: hjk Reviewed-by: Oswald Buddenhagen --- src/tools/rcc/rcc.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/tools/rcc/rcc.h') diff --git a/src/tools/rcc/rcc.h b/src/tools/rcc/rcc.h index 36984cf38a..5c6823e56f 100644 --- a/src/tools/rcc/rcc.h +++ b/src/tools/rcc/rcc.h @@ -1,6 +1,7 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2018 Intel Corporation. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the tools applications of the Qt Toolkit. @@ -77,6 +78,17 @@ public: void setOutputName(const QString &name) { m_outputName = name; } QString outputName() const { return m_outputName; } + enum class CompressionAlgorithm { + Zlib, + + None = -1 + }; + + static CompressionAlgorithm parseCompressionAlgorithm(QStringView algo, QString *errorMsg); + void setCompressionAlgorithm(CompressionAlgorithm algo) { m_compressionAlgo = algo; } + CompressionAlgorithm compressionAlgorithm() const { return m_compressionAlgo; } + + static int parseCompressionLevel(CompressionAlgorithm algo, const QString &level, QString *errorMsg); void setCompressLevel(int c) { m_compressLevel = c; } int compressLevel() const { return m_compressLevel; } @@ -104,6 +116,7 @@ private: const QString ATTRIBUTE_ALIAS; const QString ATTRIBUTE_THRESHOLD; const QString ATTRIBUTE_COMPRESS; + const QString ATTRIBUTE_COMPRESSALGO; }; friend class RCCFileInfo; void reset(); @@ -133,6 +146,7 @@ private: QString m_outputName; Format m_format; bool m_verbose; + CompressionAlgorithm m_compressionAlgo; int m_compressLevel; int m_compressThreshold; int m_treeOffset; -- cgit v1.2.3