mirror of
https://invent.kde.org/graphics/okular
synced 2024-10-06 16:09:12 +00:00
Add support for export to OpenDocument text and HTML
for TextDocumentGenerator-based generators: - EPub format - Fictionbook format - OOO. This depends on Qt 4.5. Thanks to Qt Software (or wherever Thomas Z. works) for QTextDocumentWriter! It wouldn't be too hard to make this work for plucker (.pdb) format, but that format doesn't work for me. It would be very hard to make it work for other formats. svn path=/trunk/KDE/kdegraphics/okular/; revision=855771
This commit is contained in:
parent
269ef9b51a
commit
cfb62ab4d5
|
@ -554,6 +554,9 @@ ExportFormat ExportFormat::standardFormat( StandardExportFormat type )
|
|||
KIcon( "application-vnd.oasis.opendocument.text" ),
|
||||
i18nc( "This is the document format", "OpenDocument Text" ),
|
||||
KMimeType::mimeType( "application/vnd.oasis.opendocument.text" ) );
|
||||
break;
|
||||
case HTML:
|
||||
return ExportFormat( KIcon( "text-html" ), i18nc( "This is the document format", "HTML" ), KMimeType::mimeType( "text/html" ) );
|
||||
break;
|
||||
}
|
||||
return ExportFormat();
|
||||
|
|
|
@ -144,7 +144,8 @@ class OKULAR_EXPORT ExportFormat
|
|||
{
|
||||
PlainText, ///< Plain text
|
||||
PDF, ///< PDF, aka Portable Document Format
|
||||
OpenDocumentText ///< OpenDocument Text format @since 0.8 (KDE 4.2)
|
||||
OpenDocumentText, ///< OpenDocument Text format @since 0.8 (KDE 4.2)
|
||||
HTML ///< OpenDocument Text format @since 0.8 (KDE 4.2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,6 +19,9 @@
|
|||
#include <QtGui/QImage>
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QPrinter>
|
||||
#if QT_VERSION >= 0x040500
|
||||
#include <QtGui/QTextDocumentWriter>
|
||||
#endif
|
||||
|
||||
#include <okular/core/action.h>
|
||||
#include <okular/core/annotations.h>
|
||||
|
@ -425,6 +428,14 @@ Okular::ExportFormat::List TextDocumentGenerator::exportFormats( ) const
|
|||
if ( formats.isEmpty() ) {
|
||||
formats.append( Okular::ExportFormat::standardFormat( Okular::ExportFormat::PlainText ) );
|
||||
formats.append( Okular::ExportFormat::standardFormat( Okular::ExportFormat::PDF ) );
|
||||
#if QT_VERSION >= 0x040500
|
||||
if ( QTextDocumentWriter::supportedDocumentFormats().contains( "ODF" ) ) {
|
||||
formats.append( Okular::ExportFormat::standardFormat( Okular::ExportFormat::OpenDocumentText ) );
|
||||
}
|
||||
if ( QTextDocumentWriter::supportedDocumentFormats().contains( "HTML" ) ) {
|
||||
formats.append( Okular::ExportFormat::standardFormat( Okular::ExportFormat::HTML ) );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return formats;
|
||||
|
@ -456,8 +467,17 @@ bool TextDocumentGenerator::exportTo( const QString &fileName, const Okular::Exp
|
|||
out << d->mDocument->toPlainText();
|
||||
|
||||
return true;
|
||||
}
|
||||
#if QT_VERSION >= 0x040500
|
||||
} else if ( format.mimeType()->name() == QLatin1String( "application/vnd.oasis.opendocument.text" ) ) {
|
||||
QTextDocumentWriter odfWriter( fileName, "odf" );
|
||||
|
||||
return odfWriter.write( d->mDocument );
|
||||
} else if ( format.mimeType()->name() == QLatin1String( "text/html" ) ) {
|
||||
QTextDocumentWriter odfWriter( fileName, "html" );
|
||||
|
||||
return odfWriter.write( d->mDocument );
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue