Commit 81507a3b authored by Didier Clerc's avatar Didier Clerc

resolved html pasting issues from 3rd party rich text editor

parent 712bd523
...@@ -62,6 +62,7 @@ ...@@ -62,6 +62,7 @@
#include "core/UBSetting.h" #include "core/UBSetting.h"
#include "core/UBPersistenceManager.h" #include "core/UBPersistenceManager.h"
#include "core/UBApplication.h" #include "core/UBApplication.h"
#include "core/UBTextTools.h"
#include "document/UBDocumentContainer.h" #include "document/UBDocumentContainer.h"
...@@ -301,7 +302,7 @@ QUuid UBSvgSubsetAdaptor::sceneUuid(UBDocumentProxy* proxy, const int pageIndex) ...@@ -301,7 +302,7 @@ QUuid UBSvgSubsetAdaptor::sceneUuid(UBDocumentProxy* proxy, const int pageIndex)
UBGraphicsScene* UBSvgSubsetAdaptor::loadScene(UBDocumentProxy* proxy, const QByteArray& pArray) UBGraphicsScene* UBSvgSubsetAdaptor::loadScene(UBDocumentProxy* proxy, const QByteArray& pArray)
{ {
UBSvgSubsetReader reader(proxy, pArray); UBSvgSubsetReader reader(proxy, UBTextTools::cleanHtmlCData(QString(pArray)).toAscii());
return reader.loadScene(); return reader.loadScene();
} }
...@@ -2457,7 +2458,8 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::textItemToSvg(UBGraphicsTextItem* it ...@@ -2457,7 +2458,8 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::textItemToSvg(UBGraphicsTextItem* it
// Note: don't use mXmlWriter.writeCDATA(htmlString); because it doesn't escape characters sequences correctly. // Note: don't use mXmlWriter.writeCDATA(htmlString); because it doesn't escape characters sequences correctly.
// Texts copied from other programs like Open-Office can truncate the svg file. // Texts copied from other programs like Open-Office can truncate the svg file.
mXmlWriter.writeCharacters(item->toHtml()); //mXmlWriter.writeCharacters(item->toHtml());
mXmlWriter.writeCharacters(UBTextTools::cleanHtmlCData(item->toHtml()));
mXmlWriter.writeEndElement(); //itemTextContent mXmlWriter.writeEndElement(); //itemTextContent
mXmlWriter.writeEndElement(); //foreignObject mXmlWriter.writeEndElement(); //foreignObject
......
...@@ -13,7 +13,8 @@ HEADERS += src/core/UB.h \ ...@@ -13,7 +13,8 @@ HEADERS += src/core/UB.h \
src/core/UBApplicationController.h \ src/core/UBApplicationController.h \
src/core/UBDownloadManager.h \ src/core/UBDownloadManager.h \
src/core/UBDownloadThread.h \ src/core/UBDownloadThread.h \
src/core/UBOpenSankoreImporter.h src/core/UBOpenSankoreImporter.h \
src/core/UBTextTools.h
SOURCES += src/core/main.cpp \ SOURCES += src/core/main.cpp \
src/core/UBApplication.cpp \ src/core/UBApplication.cpp \
...@@ -29,6 +30,7 @@ SOURCES += src/core/main.cpp \ ...@@ -29,6 +30,7 @@ SOURCES += src/core/main.cpp \
src/core/UBApplicationController.cpp \ src/core/UBApplicationController.cpp \
src/core/UBDownloadManager.cpp \ src/core/UBDownloadManager.cpp \
src/core/UBDownloadThread.cpp \ src/core/UBDownloadThread.cpp \
src/core/UBOpenSankoreImporter.cpp src/core/UBOpenSankoreImporter.cpp \
src/core/UBTextTools.cpp
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "core/UBApplicationController.h" #include "core/UBApplicationController.h"
#include "core/UBDisplayManager.h" #include "core/UBDisplayManager.h"
#include "core/UBPersistenceManager.h" #include "core/UBPersistenceManager.h"
#include "core/UBTextTools.h"
#include "gui/UBMagnifer.h" #include "gui/UBMagnifer.h"
#include "gui/UBMainWindow.h" #include "gui/UBMainWindow.h"
...@@ -1629,7 +1630,7 @@ UBGraphicsTextItem *UBGraphicsScene::addTextHtml(const QString &pString, const Q ...@@ -1629,7 +1630,7 @@ UBGraphicsTextItem *UBGraphicsScene::addTextHtml(const QString &pString, const Q
{ {
UBGraphicsTextItem *textItem = new UBGraphicsTextItem(); UBGraphicsTextItem *textItem = new UBGraphicsTextItem();
textItem->setPlainText(""); textItem->setPlainText("");
textItem->setHtml(pString); textItem->setHtml(UBTextTools::cleanHtml(pString));
addItem(textItem); addItem(textItem);
textItem->show(); textItem->show();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment