From d0cb3e6301b07522d56cf01b1c23066383705c77 Mon Sep 17 00:00:00 2001 From: Debao Zhang Date: Sun, 17 Nov 2013 01:08:28 +0800 Subject: [PATCH] Change static member of SharedStrings to normal member --- src/xlsx/xlsxsharedstrings.cpp | 17 ++++++++--------- src/xlsx/xlsxsharedstrings_p.h | 4 ++-- .../sharedstrings/tst_sharedstringstest.cpp | 3 ++- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/xlsx/xlsxsharedstrings.cpp b/src/xlsx/xlsxsharedstrings.cpp index b7e15a8..d23f2a8 100755 --- a/src/xlsx/xlsxsharedstrings.cpp +++ b/src/xlsx/xlsxsharedstrings.cpp @@ -146,10 +146,8 @@ QByteArray SharedStrings::saveToXmlData() const return data; } -QSharedPointer SharedStrings::loadFromXmlFile(QIODevice *device) +bool SharedStrings::loadFromXmlFile(QIODevice *device) { - QSharedPointer sst(new SharedStrings); - XmlStreamReader reader(device); int count = 0; while(!reader.atEnd()) { @@ -163,23 +161,24 @@ QSharedPointer SharedStrings::loadFromXmlFile(QIODevice *device) if (reader.name() == QLatin1String("t")) { // QXmlStreamAttributes attributes = reader.attributes(); QString string = reader.readElementText(); - int idx = sst->m_stringList.size(); - sst->m_stringTable[string] = XlsxSharedStringInfo(idx, 0); - sst->m_stringList.append(string); + int idx = m_stringList.size(); + m_stringTable[string] = XlsxSharedStringInfo(idx, 0); + m_stringList.append(string); } } } } } - if (sst->m_stringTable.size() != count) { + if (m_stringTable.size() != count) { qDebug("Error: Shared string count"); + return false; } - return sst; + return true; } -QSharedPointer SharedStrings::loadFromXmlData(const QByteArray &data) +bool SharedStrings::loadFromXmlData(const QByteArray &data) { QBuffer buffer; buffer.setData(data); diff --git a/src/xlsx/xlsxsharedstrings_p.h b/src/xlsx/xlsxsharedstrings_p.h index 19bd255..47db547 100755 --- a/src/xlsx/xlsxsharedstrings_p.h +++ b/src/xlsx/xlsxsharedstrings_p.h @@ -62,8 +62,8 @@ public: void saveToXmlFile(QIODevice *device) const; QByteArray saveToXmlData() const; - static QSharedPointer loadFromXmlFile(QIODevice *device); - static QSharedPointer loadFromXmlData(const QByteArray &data); + bool loadFromXmlFile(QIODevice *device); + bool loadFromXmlData(const QByteArray &data); private: QHash m_stringTable; //for fast lookup diff --git a/tests/auto/sharedstrings/tst_sharedstringstest.cpp b/tests/auto/sharedstrings/tst_sharedstringstest.cpp index 272d4d1..b8d6341 100644 --- a/tests/auto/sharedstrings/tst_sharedstringstest.cpp +++ b/tests/auto/sharedstrings/tst_sharedstringstest.cpp @@ -92,7 +92,8 @@ void SharedStringsTest::testLoadXmlData() sst.addSharedString("Hello Qt!"); QByteArray xmlData = sst.saveToXmlData(); - QSharedPointer sst2 = QXlsx::SharedStrings::loadFromXmlData(xmlData); + QSharedPointer sst2(new QXlsx::SharedStrings); + sst2->loadFromXmlData(xmlData); QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!")); QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World"));