fix xslt conversion (show all translation)
authorJakub Jaszczynski <j.j.jaszczynski@gmail.com>
Thu, 19 Aug 2010 12:42:29 +0000 (14:42 +0200)
committerJakub Jaszczynski <j.j.jaszczynski@gmail.com>
Thu, 19 Aug 2010 12:42:29 +0000 (14:42 +0200)
trunk/src/base/gui/TranslationWidget.cpp
trunk/src/plugins/xdxf/src/TranslationXdxf.cpp
trunk/src/plugins/xdxf/src/xdxfplugin.cpp
trunk/src/plugins/xdxf/tests/test.cpp

index 39cc238..f1a4d8b 100644 (file)
@@ -69,12 +69,14 @@ void TranslationWidget::show(QStringList translations) {
         trans += t + "\n";
     }
 
-  //  qDebug()<<trans;
-    trans=tr("<?xml version=\"1.0\" encoding=\"UTF-8\"?>") + tr("\n <ar>") + trans + tr("\n </ar>");
 
+    trans=tr("<?xml version=\"1.0\" encoding=\"UTF-8\"?>") + tr("\n <ar>") + trans + tr("\n </ar>");
+//    trans.replace("&","&amp;");
     trans=XslConversion(trans);
+    qDebug()<<trans;
+//    trans.replace("&amp;","&");
     textEdit->insertHtml(trans);
-  //  textEdit->setPlainText(trans);
+ //   textEdit->setPlainText(trans);
 
     textEdit->repaint(this->rect());
 
@@ -87,7 +89,7 @@ QString TranslationWidget::XslConversion(QString translation)
 {
     QXmlQuery myQuery(QXmlQuery::XSLT20);
     myQuery.setFocus(translation);
-//    qDebug()<<translation;
+
     QFile file(":/xsl/xsl.xsl");
     if(!file.open(QFile::ReadOnly)){
         qDebug()<<"can't open a xslt file";
index c0ae5d9..190e255 100644 (file)
@@ -41,6 +41,8 @@ QString TranslationXdxf::toHtml() const {
     QString result("");
 //    qDebug()<<xdxfPlugin->search(_key);
     result+="<dict>" + _dictionaryInfo + "<key>" + _key + "</key>"  +xdxfPlugin->search(_key) + "</dict>";
+    result.replace("&","&amp;");
+
 //    qDebug()<<result;
     return result;
 }
index b4fdb5a..b734e26 100644 (file)
@@ -210,6 +210,7 @@ QString XdxfPlugin::searchFile(QString key) {
     QXmlStreamReader reader(&dictionaryFile);
 
 
+
     QString a;
 
     bool match =false;
@@ -236,7 +237,7 @@ QString XdxfPlugin::searchFile(QString key) {
                        temp= temp + tr(" c=\"") + reader.attributes().value(tr("c")).toString() + tr("\"");
                     temp+=tr(">");
                 }
-                temp+= reader.text().toString();
+                temp+= reader.text().toString().replace("<","&lt;").replace(">","&gt;");
                 reader.readNext();
             }
             if(temp.at(0)==QChar('\n'))
@@ -480,7 +481,7 @@ bool XdxfPlugin::makeCache(QString dir) {
                        temp= temp + tr(" c=\"") + reader.attributes().value(tr("c")).toString() + tr("\"");
                     temp+=tr(">");
                 }
-                temp+= reader.text().toString();
+                temp+= reader.text().toString().replace("<","&lt;").replace(">","&gt;");;
                 reader.readNext();
             }
             if(temp.at(0)==QChar('\n'))
index 69c8f5b..4e43c2e 100644 (file)
@@ -154,7 +154,6 @@ void XdxfTest::searchWordListFile() {
 void XdxfTest::stop() {
 
     XdxfPlugin xdxfPluginB(this);
-//  xdxfPlugin.setPatch("dict.xdxf");
 
     Settings *settings=new Settings;
     settings->setValue("path","../tests/dict.xdxf");