Code refactoring: add saveToXmlData() to Theme

This commit is contained in:
Debao Zhang
2014-01-04 14:36:27 +08:00
parent 11d78e8221
commit 6d6dfd4edc
3 changed files with 10 additions and 5 deletions
+1 -5
View File
@@ -337,11 +337,7 @@ void Package::writeStylesFiles(ZipWriter &zipWriter)
void Package::writeThemeFile(ZipWriter &zipWriter) void Package::writeThemeFile(ZipWriter &zipWriter)
{ {
QByteArray data; zipWriter.addFile(QStringLiteral("xl/theme/theme1.xml"), m_workbook->theme()->saveToXmlData());
QBuffer buffer(&data);
buffer.open(QIODevice::WriteOnly);
m_workbook->theme()->saveToXmlFile(&buffer);
zipWriter.addFile(QStringLiteral("xl/theme/theme1.xml"), data);
} }
void Package::writeRootRelsFile(ZipWriter &zipWriter) void Package::writeRootRelsFile(ZipWriter &zipWriter)
+8
View File
@@ -213,6 +213,14 @@ void Theme::saveToXmlFile(QIODevice *device)
device->write(xmlData); device->write(xmlData);
} }
QByteArray Theme::saveToXmlData() const
{
if (xmlData.isEmpty())
return defaultXmlData;
else
return xmlData;
}
void Theme::loadFromXmlData(const QByteArray &data) void Theme::loadFromXmlData(const QByteArray &data)
{ {
xmlData = data; xmlData = data;
+1
View File
@@ -47,6 +47,7 @@ public:
Theme(); Theme();
void saveToXmlFile(QIODevice *device); void saveToXmlFile(QIODevice *device);
QByteArray saveToXmlData() const;
void loadFromXmlData(const QByteArray &data); void loadFromXmlData(const QByteArray &data);
QByteArray xmlData; QByteArray xmlData;