summaryrefslogtreecommitdiff
path: root/src/frontend/cinfodisplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/cinfodisplay.cpp')
-rw-r--r--src/frontend/cinfodisplay.cpp42
1 files changed, 32 insertions, 10 deletions
diff --git a/src/frontend/cinfodisplay.cpp b/src/frontend/cinfodisplay.cpp
index 0c167c4..a8ad60d 100644
--- a/src/frontend/cinfodisplay.cpp
+++ b/src/frontend/cinfodisplay.cpp
@@ -77,18 +77,26 @@ void CInfoDisplay::lookupInfo(const QString &mod_name, const QString &key_text)
Q_ASSERT(m);
if (!m)
return;
-
boost::scoped_ptr<CSwordKey> key( CSwordKey::createInstance(m) );
key->key( key_text );
CDisplayTemplateMgr* mgr = CPointers::displayTemplateManager();
CDisplayTemplateMgr::Settings settings;
settings.pageCSS_ID = "infodisplay";
- // settings.langAbbrev = "";
+
+ // lookup text and wrap in a "div" with language set to module language
+ QString lang = m->language()->abbrev();
+ QString renderedText = key->renderedText();
+ QString divText = "<div class=\"infodisplay\" lang=\"";
+ divText.append(lang);
+ divText.append("\">");
+ divText.append(renderedText);
+ divText.append("</div>");
+
QString content = mgr->fillTemplate(CBTConfig::get
- (CBTConfig::displayStyle), key->renderedText(), settings);
+ (CBTConfig::displayStyle), divText, settings);
+
m_htmlPart->setText(content);
- // qWarning("setting text:\n%s", content.latin1());
}
void CInfoDisplay::setInfo(const InfoType type, const QString& data) {
@@ -267,9 +275,13 @@ const QString CInfoDisplay::decodeCrossReference( const QString& data ) {
// qWarning("rendered the tree: %s", renderer.renderKeyTree(tree).latin1());
//spanns containing rtl text need dir=rtl on their parent tag to be aligned properly
- return QString("<div class=\"crossrefinfo\"><h3>%1</h3><div class=\"para\" dir=\"%2\">%3</div></div>")
+ QString lang = "en"; // default english
+ if (module)
+ lang = module->language()->abbrev();
+ return QString("<div class=\"crossrefinfo\" lang=\"%1\"><h3>%2</h3><div class=\"para\" dir=\"%3\">%4</div></div>")
+ .arg(lang)
.arg(tr("Cross references"))
- .arg(module ? ((module->textDirection() == CSwordModuleInfo::LeftToRight) ? "ltr" : "rtl") : "")
+ .arg(module ? ((module->textDirection() == CSwordModuleInfo::LeftToRight) ? "ltr" : "rtl") : "")
.arg(renderer.renderKeyTree(tree));
}
@@ -310,7 +322,8 @@ const QString CInfoDisplay::decodeFootnote( const QString& data ) {
: (const char*)text.toLatin1()
));
- return QString("<div class=\"footnoteinfo\"><h3>%1</h3><p>%2</p></div>")
+ return QString("<div class=\"footnoteinfo\" lang=\"%1\"><h3>%2</h3><p>%3</p></div>")
+ .arg(module->language()->abbrev())
.arg(tr("Footnote"))
.arg(text);
}
@@ -336,8 +349,12 @@ const QString CInfoDisplay::decodeStrongs( const QString& data ) {
}
//if the module could not be found just display an empty lemma info
+ QString lang = "en"; // default english
+ if(module)
+ lang = module->language()->abbrev();
ret.append(
- QString("<div class=\"strongsinfo\"><h3>%1: %2</h3><p>%3</p></div>")
+ QString("<div class=\"strongsinfo\" lang=\"%1\"><h3>%2: %3</h3><p>%4</p></div>")
+ .arg(lang)
.arg(tr("Strongs"))
.arg(*it)
.arg(text)
@@ -415,7 +432,11 @@ const QString CInfoDisplay::decodeMorph( const QString& data ) {
}
//if the module wasn't found just display an empty morph info
- ret.append( QString("<div class=\"morphinfo\"><h3>%1: %2</h3><p>%3</p></div>")
+ QString lang = "en"; // default to english
+ if (module)
+ lang = module->language()->abbrev();
+ ret.append( QString("<div class=\"morphinfo\" lang=\"%1\"><h3>%2: %3</h3><p>%4</p></div>")
+ .arg(lang)
.arg(tr("Morphology"))
.arg(value)
.arg(text)
@@ -438,7 +459,8 @@ const QString CInfoDisplay::getWordTranslation( const QString& data ) {
return QString::null;
}
- QString ret = QString("<div class=\"translationinfo\"><h3>%1: %2</h3><p>%3</p></div>")
+ QString ret = QString("<div class=\"translationinfo\" lang=\"%1\"><h3>%2: %3</h3><p>%4</p></div>")
+ .arg(module->language()->abbrev())
.arg(tr("Word lookup"))
.arg(data)
.arg(key->renderedText());