#include "TranslationTextEdit.h"
TranslationTextEdit::TranslationTextEdit(QWidget *parent) :
- QTextEdit(parent)
+ QWebView(parent)
{
searchSelectedAction = new QAction(tr("Search"), this);
}
void TranslationTextEdit::contextMenuEvent(QContextMenuEvent *e) {
- QMenu *menu = createStandardContextMenu(e->pos());
- if(textCursor().selectedText().isEmpty())
- searchSelectedAction->setEnabled(false);
- else
- searchSelectedAction->setEnabled(true);
+ //QMenu *menu = createStandardContextMenu(e->pos());
+ //if(page()->selectedText().isEmpty())
+ // searchSelectedAction->setEnabled(false);
+ //else
+ // searchSelectedAction->setEnabled(true);
- menu->addSeparator();
- menu->addAction(searchSelectedAction);
+ //menu->addSeparator();
+ //menu->addAction(searchSelectedAction);
- menu->exec(e->globalPos());
- delete menu;
+ //menu->exec(e->globalPos());
+ //delete menu;
- e->ignore();
+ //e->ignore();
}
setWindowTitle("mDictionary");
- connect(textEdit, SIGNAL(search()),
+ connect(webkit, SIGNAL(search()),
this, SLOT(searchSelected()));
QFile file(":/xsl/xsl.xsl");
void TranslationWidget::show(QStringList translations) {
- textEdit->clear();
-
showMaximized();
#ifdef Q_WS_MAEMO_5
if(!buttonsInitialized)
initButtons();
#endif
- textEdit->repaint(this->rect());
+ webkit->repaint(this->rect());
update(this->rect());
QString trans;
QString t;
+
foreach(t, translations) {
trans += t + "\n";
}
+
QImage image(":icons/16x16/staron.png");
- QTextDocument *document = textEdit->document();
- document->addResource(QTextDocument::ImageResource,
- QUrl("mydata://image.png"), QVariant(image));
+// QTextDocument *document = textEdit->document();
+// document->addResource(QTextDocument::ImageResource,
+// QUrl("mydata://image.png"), QVariant(image));
- QFile cssFile(QDir::homePath() + "/.mdictionary/style.css");
- cssFile.open(QFile::ReadOnly);
- document->addResource(QTextDocument::StyleSheetResource,
- QUrl("mydata://style.css"),
- QVariant(cssFile.readAll()));
+ // QFile cssFile(QDir::homePath() + "/.mdictionary/style.css");
+ // cssFile.open(QFile::ReadOnly);
+ // document->addResource(QTextDocument::StyleSheetResource,
+// QUrl("mydata://style.css"),
+// QVariant(cssFile.readAll()));
- 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=XslConversion(trans);
- textEdit->insertHtml(trans);
+ QString head = "<html><head><link rel=\"stylesheet\" type=\"text/css\" " ;
+ head += "href=\"" + QDir::homePath() + "/.mdictionary/style.css";
+ head += "\" /></head>";
+ trans = head + trans;
+
+ trans+= "</html>";
+ trans.replace("$STAR$", "/usr/lib/mdictionary/staron.png");
+
+
+ qDebug () << trans;
+ webkit->setHtml(trans, QUrl().fromLocalFile("/"));
+
- textEdit->repaint(this->rect());
+ webkit->repaint(this->rect());
update(this->rect());
Q_EMIT updateSize();
void TranslationWidget::initializeUI() {
- textEdit = new TranslationTextEdit(this);
- textEdit->setReadOnly(true);
+ webkit = new TranslationTextEdit(this);
+// textEdit->setReadOnly(true);
- resizer = new TranslationWidgetAutoResizer(textEdit);
- connect(this, SIGNAL(updateSize()),
- resizer, SLOT(textEditChanged()));
+ //resizer = new TranslationWidgetAutoResizer(textEdit);
+ //connect(this, SIGNAL(updateSize()),
+ //resizer, SLOT(textEditChanged()));
QWidget*w = new QWidget(this);
verticalLayout = new QVBoxLayout(w);
- verticalLayout->addWidget(textEdit);
+ verticalLayout->addWidget(webkit);
- textEdit->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- textEdit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+// textEdit->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ // textEdit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
this->setWidget(w);
this->setWidgetResizable(true);
#ifdef Q_WS_MAEMO_5
hide();
#endif
- Q_EMIT search(textEdit->textCursor().selectedText());
+ Q_EMIT search(webkit->page()->selectedText());
}
#ifdef Q_WS_MAEMO_5
textEdit(qobject_cast<QTextEdit* >((parent))),
edit(qobject_cast<QFrame* >((parent))) {
- connect(parent, SIGNAL(textChanged()), this,
- SLOT(textEditChanged()));
- connect(parent, SIGNAL(cursorPositionChanged()),
- this, SLOT(textEditChanged()));
+ // connect(parent, SIGNAL(textChanged()), this,
+ // SLOT(textEditChanged()));
+ // connect(parent, SIGNAL(cursorPositionChanged()),
+ // this, SLOT(textEditChanged()));
}
public Q_SLOTS: