Browse Source

Code refactoring: add saveToXmlData() to Theme

master
Debao Zhang 11 years ago
parent
commit
6d6dfd4edc
  1. 6
      src/xlsx/xlsxpackage.cpp
  2. 8
      src/xlsx/xlsxtheme.cpp
  3. 1
      src/xlsx/xlsxtheme_p.h

6
src/xlsx/xlsxpackage.cpp

@ -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
src/xlsx/xlsxtheme.cpp

@ -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
src/xlsx/xlsxtheme_p.h

@ -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;

Loading…
Cancel
Save