Merge branch 'master' into cache
[mdictionary] / trunk / src / base / gui / TranslationWidget.cpp
index 04c7565..f89c5b2 100644 (file)
@@ -34,7 +34,7 @@ TranslationWidget::TranslationWidget(QWidget *parent):
     setWindowFlags(windowFlags() | Qt::Window);
 
     initializeUI();
-
+    //Q_INIT_RESOURCE(xslt);
     setWindowTitle(tr("Translation"));
 }
 
@@ -55,7 +55,12 @@ void TranslationWidget::show(QStringList translations) {
         trans += t + "\n";
     }
 
-    textEdit->setPlainText(trans);
+//    qDebug()<<trans;
+    trans=tr("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>") + tr("\n <ar>") + trans + tr("\n </ar>");
+
+    trans=XslConversion(trans);
+    textEdit->insertHtml(trans);
+  // textEdit->setPlainText(trans);
 
     textEdit->repaint(this->rect());
 
@@ -64,6 +69,24 @@ void TranslationWidget::show(QStringList translations) {
     emit updateSize();
 }
 
+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";
+        return translation;
+    }
+    QString xslt;
+    xslt=file.readAll();
+    myQuery.setQuery(xslt);
+    QString result("");
+    myQuery.evaluateTo(&result);
+    return result;
+}
+
 void TranslationWidget::initializeUI() {
 
     zoomInToolButton = new QToolButton;