summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp14
-rw-r--r--noncore/apps/odict/dingwidget.h1
2 files changed, 11 insertions, 4 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp
index d923b80..26c0066 100644
--- a/noncore/apps/odict/dingwidget.cpp
+++ b/noncore/apps/odict/dingwidget.cpp
@@ -32,6 +32,7 @@
32 32
33DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top, QTextBrowser *browser_bottom) : QWidget(parent) 33DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top, QTextBrowser *browser_bottom) : QWidget(parent)
34{ 34{
35 queryword = word;
35 QString opie_dir = getenv("OPIEDIR"); 36 QString opie_dir = getenv("OPIEDIR");
36 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" ); 37 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" );
37 QStringList lines; 38 QStringList lines;
@@ -57,16 +58,21 @@ DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top,
57 58
58void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom ) 59void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom )
59{ 60{
60 QRegExp reg( "\\" ); 61 QRegExp reg_div( "\\" );
62 QRegExp reg_word( queryword );
63 QString substitute = "<b>"+queryword+"</b>";
61 QStringList toplist, bottomlist; 64 QStringList toplist, bottomlist;
62 for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it ) 65 for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it )
63 { 66 {
64 QString current = *it; 67 QString current = *it;
65 toplist.append( current.left( current.find(reg) ) ); 68 QString temp = current.left( current.find(reg_div) );
66 bottomlist.append( current.right( current.length() - current.find(reg) - 1 ) ); 69 temp.replace( reg_word, substitute );
70 toplist.append( temp );
71 temp = current.right( current.length() - current.find(reg_div) - 1 );
72 temp.replace( reg_word, substitute );
73 bottomlist.append( temp );
67 } 74 }
68 75
69
70 //thats it, the lists are rendered. Lets put them in one string 76 //thats it, the lists are rendered. Lets put them in one string
71 bottom = bottomlist.join( "\n" ); 77 bottom = bottomlist.join( "\n" );
72 top = toplist.join( "\n" ); 78 top = toplist.join( "\n" );
diff --git a/noncore/apps/odict/dingwidget.h b/noncore/apps/odict/dingwidget.h
index c82e0f0..644162f 100644
--- a/noncore/apps/odict/dingwidget.h
+++ b/noncore/apps/odict/dingwidget.h
@@ -23,4 +23,5 @@ class DingWidget : public QWidget
23 23
24 private: 24 private:
25 void parseInfo( QStringList& , QString&, QString& ); 25 void parseInfo( QStringList& , QString&, QString& );
26 QString queryword;
26}; 27};