Change static member of SharedStrings to normal member
This commit is contained in:
@@ -146,10 +146,8 @@ QByteArray SharedStrings::saveToXmlData() const
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSharedPointer<SharedStrings> SharedStrings::loadFromXmlFile(QIODevice *device)
|
bool SharedStrings::loadFromXmlFile(QIODevice *device)
|
||||||
{
|
{
|
||||||
QSharedPointer<SharedStrings> sst(new SharedStrings);
|
|
||||||
|
|
||||||
XmlStreamReader reader(device);
|
XmlStreamReader reader(device);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
while(!reader.atEnd()) {
|
while(!reader.atEnd()) {
|
||||||
@@ -163,23 +161,24 @@ QSharedPointer<SharedStrings> SharedStrings::loadFromXmlFile(QIODevice *device)
|
|||||||
if (reader.name() == QLatin1String("t")) {
|
if (reader.name() == QLatin1String("t")) {
|
||||||
// QXmlStreamAttributes attributes = reader.attributes();
|
// QXmlStreamAttributes attributes = reader.attributes();
|
||||||
QString string = reader.readElementText();
|
QString string = reader.readElementText();
|
||||||
int idx = sst->m_stringList.size();
|
int idx = m_stringList.size();
|
||||||
sst->m_stringTable[string] = XlsxSharedStringInfo(idx, 0);
|
m_stringTable[string] = XlsxSharedStringInfo(idx, 0);
|
||||||
sst->m_stringList.append(string);
|
m_stringList.append(string);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sst->m_stringTable.size() != count) {
|
if (m_stringTable.size() != count) {
|
||||||
qDebug("Error: Shared string count");
|
qDebug("Error: Shared string count");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sst;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSharedPointer<SharedStrings> SharedStrings::loadFromXmlData(const QByteArray &data)
|
bool SharedStrings::loadFromXmlData(const QByteArray &data)
|
||||||
{
|
{
|
||||||
QBuffer buffer;
|
QBuffer buffer;
|
||||||
buffer.setData(data);
|
buffer.setData(data);
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ public:
|
|||||||
|
|
||||||
void saveToXmlFile(QIODevice *device) const;
|
void saveToXmlFile(QIODevice *device) const;
|
||||||
QByteArray saveToXmlData() const;
|
QByteArray saveToXmlData() const;
|
||||||
static QSharedPointer<SharedStrings> loadFromXmlFile(QIODevice *device);
|
bool loadFromXmlFile(QIODevice *device);
|
||||||
static QSharedPointer<SharedStrings> loadFromXmlData(const QByteArray &data);
|
bool loadFromXmlData(const QByteArray &data);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QHash<QString, XlsxSharedStringInfo> m_stringTable; //for fast lookup
|
QHash<QString, XlsxSharedStringInfo> m_stringTable; //for fast lookup
|
||||||
|
|||||||
@@ -92,7 +92,8 @@ void SharedStringsTest::testLoadXmlData()
|
|||||||
sst.addSharedString("Hello Qt!");
|
sst.addSharedString("Hello Qt!");
|
||||||
QByteArray xmlData = sst.saveToXmlData();
|
QByteArray xmlData = sst.saveToXmlData();
|
||||||
|
|
||||||
QSharedPointer<QXlsx::SharedStrings> sst2 = QXlsx::SharedStrings::loadFromXmlData(xmlData);
|
QSharedPointer<QXlsx::SharedStrings> sst2(new QXlsx::SharedStrings);
|
||||||
|
sst2->loadFromXmlData(xmlData);
|
||||||
|
|
||||||
QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!"));
|
QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!"));
|
||||||
QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World"));
|
QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World"));
|
||||||
|
|||||||
Reference in New Issue
Block a user