-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index 8ad0b16..8f5a7ae 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp | |||
@@ -59,12 +59,17 @@ DingWidget::DingWidget(QWidget *parent, QString word, QTextBrowser *browser_top, | |||
59 | void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom ) | 59 | void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom ) |
60 | { | 60 | { |
61 | 61 | ||
62 | QString current; | 62 | QString current; |
63 | QString left; | 63 | QString left; |
64 | QString right; | 64 | QString right; |
65 | QString html_header = "<html><table>"; | ||
66 | QString html_footer = "</table></html>"; | ||
67 | QString html_table_left = "<tr><td width='50'>"; | ||
68 | QString html_table_sep = "</td><td>"; | ||
69 | QString html_table_right = "</td></tr>"; | ||
65 | QRegExp reg_div( "\\" ); | 70 | QRegExp reg_div( "\\" ); |
66 | QRegExp reg_word( queryword ); | 71 | QRegExp reg_word( queryword ); |
67 | //QString substitute = "<font color=red>"+queryword+"</font>"; | 72 | //QString substitute = "<font color=red>"+queryword+"</font>"; |
68 | QString substitute = "<a href=''>"+queryword+"</a>"; | 73 | QString substitute = "<a href=''>"+queryword+"</a>"; |
69 | QStringList toplist, bottomlist; | 74 | QStringList toplist, bottomlist; |
70 | for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it ) | 75 | for( QStringList::Iterator it = lines.begin() ; it != lines.end() ; ++it ) |
@@ -72,20 +77,19 @@ void DingWidget::parseInfo( QStringList &lines, QString &top, QString &bottom ) | |||
72 | current = *it; | 77 | current = *it; |
73 | left = current.left( current.find(reg_div) ); | 78 | left = current.left( current.find(reg_div) ); |
74 | right = current.right( current.length() - current.find(reg_div) - 1 ); | 79 | right = current.right( current.length() - current.find(reg_div) - 1 ); |
75 | if ( left.contains( reg_word ) ) | 80 | if ( left.contains( reg_word ) ) |
76 | { | 81 | { |
77 | left.replace( queryword, substitute ); | 82 | left.replace( queryword, substitute ); |
78 | toplist.append( "<tr><td>" + left + "</td><td>" + right + "</td></tr>" ); | 83 | toplist.append( html_table_left + left + html_table_sep + right + html_table_right ); |
79 | } | 84 | } |
80 | else | 85 | else |
81 | { | 86 | { |
82 | right.replace( reg_word, substitute ); | 87 | right.replace( reg_word, substitute ); |
83 | bottomlist.append( "<tr><td>" + right + "</td><td>" + left + "</td></tr>" ); | 88 | bottomlist.append( html_table_left + right + html_table_sep + left + html_table_right ); |
84 | } | 89 | } |
85 | } | 90 | } |
86 | 91 | ||
87 | //thats it, the lists are rendered. Lets put them in one string | 92 | //thats it, the lists are rendered. Lets put them in one string |
88 | 93 | bottom = html_header + bottomlist.join( "<br>" ) + html_footer; | |
89 | bottom = "<html><table><tbody>"+bottomlist.join( "<br>" )+"</tbody></table></html>"; | 94 | top = html_header + toplist.join( "<br>" ) + html_footer; |
90 | top = "<html><table><tbody>"+toplist.join( "<br>" )+"</tbody></table></html>"; | ||
91 | } | 95 | } |