/*! \file ctextdocument.cpp */ #include "ctextdocument.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(QT_PRINTSUPPORT_LIB) #include #if QT_CONFIG(printer) #if QT_CONFIG(printdialog) #include #endif #include #if QT_CONFIG(printpreviewdialog) #include #endif #endif #endif cTextDocument::cTextDocument(QObject *parent) : QTextDocument(parent) { init(); } cTextDocument::cTextDocument(const QString &text, QObject *parent) : QTextDocument(text, parent), m_szFileName(QString()) { init(); } void cTextDocument::init() { setPageSize((QSizeF(210, 297))); } bool cTextDocument::save() { if(!m_szFileName.isEmpty()) return(saveDocument()); return(false); } bool cTextDocument::saveAs(const QString& szFileName) { m_szFileName = szFileName; return(saveDocument()); } #include bool cTextDocument::saveDocument() { QFile file(m_szFileName); QByteArray data = this->toHtml().toUtf8(); if(!file.open(QFile::WriteOnly | QFile::Truncate)) return(false); QByteArray zipped = qCompress(data); file.write(zipped); file.close(); return(true); } void cTextDocument::printPreview(QPrinter* lpPrinter) { #ifdef QT_NO_PRINTER Q_UNUSED(lpPrinter); #else lpPrinter->setPageSize(QPageSize(QSizeF(210, 297), QPageSize::Millimeter)); print(lpPrinter); #endif }