-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 14 | ||||
-rw-r--r-- | noncore/apps/odict/dingwidget.h | 1 |
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 | ||
33 | DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top, QTextBrowser *browser_bottom) : QWidget(parent) | 33 | DingWidget::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 | ||
58 | void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom ) | 59 | void 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 | }; |