/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * */ #include #include HtmlWriter::HtmlWriter(SvStream& rStream) : mrStream(rStream), mbElementOpen(false), mbContentWritten(false), mbPrettyPrint(true) {} HtmlWriter::~HtmlWriter() {} void HtmlWriter::prettyPrint(bool b) { mbPrettyPrint = b; } void HtmlWriter::start(const OString& aElement) { if (mbElementOpen) { mrStream.WriteChar('>'); if (!mbContentWritten && mbPrettyPrint) mrStream.WriteChar('\n'); mbContentWritten = false; } maElementStack.push_back(aElement); if (mbPrettyPrint) { for(size_t i = 0; i < maElementStack.size() - 1; i++) { mrStream.WriteCharPtr(" "); } } mrStream.WriteChar('<'); mrStream.WriteOString(aElement); mbElementOpen = true; } void HtmlWriter::single(const OString &aContent) { start(aContent); end(); } void HtmlWriter::endAttribute() { if (mbElementOpen) { mrStream.WriteCharPtr("/>"); if (mbPrettyPrint) mrStream.WriteCharPtr("\n"); mbElementOpen = false; } } void HtmlWriter::flushStack() { while (!maElementStack.empty()) { end(); } } void HtmlWriter::end() { if (mbElementOpen) { mrStream.WriteCharPtr("/>"); if (mbPrettyPrint) mrStream.WriteCharPtr("\n"); } else { if (!mbContentWritten && mbPrettyPrint) { for(size_t i = 0; i < maElementStack.size() - 1; i++) { mrStream.WriteCharPtr(" "); } } mrStream.WriteCharPtr(""); if (mbPrettyPrint) mrStream.WriteCharPtr("\n"); } maElementStack.pop_back(); mbElementOpen = false; mbContentWritten = false; } void HtmlWriter::attribute(const OString &aAttribute, const OString& aValue) { if (mbElementOpen && !aAttribute.isEmpty() && !aValue.isEmpty()) { mrStream.WriteChar(' '); mrStream.WriteOString(aAttribute); mrStream.WriteChar('='); mrStream.WriteChar('"'); mrStream.WriteOString(aValue); mrStream.WriteChar('"'); } } void HtmlWriter::attribute(const OString& aAttribute, const sal_Int32 aValue) { attribute(aAttribute, OString::number(aValue)); } void HtmlWriter::attribute(const OString& aAttribute, const char* pValue) { attribute(aAttribute, OString(pValue)); } void HtmlWriter::attribute(const OString& aAttribute, const OUString& aValue) { attribute(aAttribute, OUStringToOString(aValue, RTL_TEXTENCODING_UTF8)); } void HtmlWriter::attribute(const OString& aAttribute) { if (mbElementOpen && !aAttribute.isEmpty()) { mrStream.WriteChar(' '); mrStream.WriteOString(aAttribute); } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /libreoffice-6-4'>distro/nisz/libreoffice-6-4 LibreOffice 界面翻译代码仓库文档基金会
aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2024-06-27 16:40:57 +0200
committerAndras Timar <andras.timar@collabora.com>2024-07-03 15:54:50 +0200
commitad13a111d1189aae2d0acb4c9e4fd47cd8b90d94 (patch)
tree78e5d3e78da5462fd9831fe7315236dc6e08ab32 /source
parent9676c33dfa2cf42e040c0c5f172fe9a3657ac9bc (diff)
update translations for 24.2.5 rc1
and force-fix errors using pocheck Change-Id: I8421753b547b21af95fdc22c1554d90fdd115bde
Diffstat (limited to 'source')