summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp20
-rw-r--r--noncore/apps/odict/dingwidget.h6
-rw-r--r--noncore/apps/odict/odict.cpp1
3 files changed, 20 insertions, 7 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp
index 6154d68..2913836 100644
--- a/noncore/apps/odict/dingwidget.cpp
+++ b/noncore/apps/odict/dingwidget.cpp
@@ -35,10 +35,10 @@ DingWidget::DingWidget(QString word, QTextBrowser *browser_top, QTextBrowser *br
35 methodname = activated_name; 35 methodname = activated_name;
36 queryword = word; 36 queryword = word;
37 trenner = QString::null; 37 trenner = QString::null;
38 lines = 0L;
38 loadValues(); 39 loadValues();
39 QString opie_dir = getenv("OPIEDIR"); 40 QString opie_dir = getenv("OPIEDIR");
40 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" ); 41 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" );
41 QStringList lines;
42 42
43 if( file.open( IO_ReadOnly ) ) 43 if( file.open( IO_ReadOnly ) )
44 { 44 {
@@ -52,10 +52,18 @@ DingWidget::DingWidget(QString word, QTextBrowser *browser_top, QTextBrowser *br
52 52
53 lines = lines.grep( queryword ); 53 lines = lines.grep( queryword );
54 54
55 topbrowser = browser_top;
56 bottombrowser = browser_bottom;
57}
58
59void DingWidget::setText()
60{
55 QString top, bottom; 61 QString top, bottom;
56 parseInfo( lines, top , bottom ); 62 QStringList test = lines;
57 browser_top->setText( top ); 63 parseInfo( test, top , bottom );
58 browser_bottom->setText( bottom ); 64
65 topbrowser->setText( top );
66 bottombrowser->setText( bottom );
59} 67}
60 68
61void DingWidget::loadValues() 69void DingWidget::loadValues()
@@ -76,10 +84,8 @@ void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom )
76 QString html_table_left = "<tr><td width='50'>"; 84 QString html_table_left = "<tr><td width='50'>";
77 QString html_table_sep = "</td><td>"; 85 QString html_table_sep = "</td><td>";
78 QString html_table_right = "</td></tr>"; 86 QString html_table_right = "</td></tr>";
79 QRegExp reg_div( "\\" ); 87 QRegExp reg_div( trenner );
80 //QRegExp reg_div( trenner );
81 QRegExp reg_word( queryword ); 88 QRegExp reg_word( queryword );
82 //QString substitute = "<font color=red>"+queryword+"</font>";
83 QString substitute = "<a href=''>"+queryword+"</a>"; 89 QString substitute = "<a href=''>"+queryword+"</a>";
84 QStringList toplist, bottomlist; 90 QStringList toplist, bottomlist;
85 for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it ) 91 for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it )
diff --git a/noncore/apps/odict/dingwidget.h b/noncore/apps/odict/dingwidget.h
index 1cedb4e..c96039f 100644
--- a/noncore/apps/odict/dingwidget.h
+++ b/noncore/apps/odict/dingwidget.h
@@ -11,6 +11,8 @@ class QString;
11class QTextBrowser; 11class QTextBrowser;
12class QStringList; 12class QStringList;
13 13
14#include <qstringlist.h>
15
14#include <qstring.h> 16#include <qstring.h>
15 17
16class DingWidget 18class DingWidget
@@ -18,6 +20,8 @@ class DingWidget
18 public: 20 public:
19 DingWidget(QString word = 0, QTextBrowser* = 0, QTextBrowser* =0, QString activated_name=0); 21 DingWidget(QString word = 0, QTextBrowser* = 0, QTextBrowser* =0, QString activated_name=0);
20 22
23 void setText();
24 QStringList lines;
21 private: 25 private:
22 QString search_word; 26 QString search_word;
23 void parseInfo( QStringList& , QString&, QString& ); 27 void parseInfo( QStringList& , QString&, QString& );
@@ -25,4 +29,6 @@ class DingWidget
25 void loadValues(); 29 void loadValues();
26 QString methodname; 30 QString methodname;
27 QString trenner; 31 QString trenner;
32
33 QTextBrowser *topbrowser, *bottombrowser;
28}; 34};
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp
index e0104eb..6f176f9 100644
--- a/noncore/apps/odict/odict.cpp
+++ b/noncore/apps/odict/odict.cpp
@@ -105,6 +105,7 @@ void ODict::slotStartQuery()
105 QMessageBox::warning(this,tr("No Dictionary"),tr("Please choose a dictonary") ); 105 QMessageBox::warning(this,tr("No Dictionary"),tr("Please choose a dictonary") );
106 else 106 else
107 DingWidget *ding = new DingWidget( querystring , browser_top, browser_bottom, activated_name ); 107 DingWidget *ding = new DingWidget( querystring , browser_top, browser_bottom, activated_name );
108 ding->setText();
108} 109}
109 110
110 111