author | cniehaus <cniehaus> | 2003-01-03 21:25:57 (UTC) |
---|---|---|
committer | cniehaus <cniehaus> | 2003-01-03 21:25:57 (UTC) |
commit | 28e6b0b935b82d029288b8a7eb749e5cf5a3652e (patch) (unidiff) | |
tree | 8372b6b39fe14e6bae34e498e34cbaf324ed548c | |
parent | 5d06922249e5d124815c9f73280523a419b39a50 (diff) | |
download | opie-28e6b0b935b82d029288b8a7eb749e5cf5a3652e.zip opie-28e6b0b935b82d029288b8a7eb749e5cf5a3652e.tar.gz opie-28e6b0b935b82d029288b8a7eb749e5cf5a3652e.tar.bz2 |
works nowworks now
-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 | |||
@@ -11,63 +11,69 @@ | |||
11 | * This program is free software; you can redistribute it and/or modify * | 11 | * This program is free software; you can redistribute it and/or modify * |
12 | * it under the terms of the GNU General Public License as published by * | 12 | * it under the terms of the GNU General Public License as published by * |
13 | * the Free Software Foundation; either version 2 of the License, or * | 13 | * the Free Software Foundation; either version 2 of the License, or * |
14 | * ( at your option ) any later version. * | 14 | * ( at your option ) any later version. * |
15 | * * | 15 | * * |
16 | **************************************************************************/ | 16 | **************************************************************************/ |
17 | #include "dingwidget.h" | 17 | #include "dingwidget.h" |
18 | 18 | ||
19 | #include <qfile.h> | 19 | #include <qfile.h> |
20 | #include <qpe/config.h> | 20 | #include <qpe/config.h> |
21 | #include <qhbox.h> | 21 | #include <qhbox.h> |
22 | #include <qlabel.h> | 22 | #include <qlabel.h> |
23 | #include <qpushbutton.h> | 23 | #include <qpushbutton.h> |
24 | #include <qlineedit.h> | 24 | #include <qlineedit.h> |
25 | #include <qmainwindow.h> | 25 | #include <qmainwindow.h> |
26 | #include <qstring.h> | 26 | #include <qstring.h> |
27 | #include <qtextstream.h> | 27 | #include <qtextstream.h> |
28 | #include <qstringlist.h> | 28 | #include <qstringlist.h> |
29 | #include <qregexp.h> | 29 | #include <qregexp.h> |
30 | #include <qtextbrowser.h> | 30 | #include <qtextbrowser.h> |
31 | #include <stdlib.h> // for getenv | 31 | #include <stdlib.h> // for getenv |
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; |
38 | 39 | ||
39 | if( file.open( IO_ReadOnly ) ) | 40 | if( file.open( IO_ReadOnly ) ) |
40 | { | 41 | { |
41 | QTextStream stream( &file ); | 42 | QTextStream stream( &file ); |
42 | while ( !stream.eof() ) | 43 | while ( !stream.eof() ) |
43 | { | 44 | { |
44 | lines.append( stream.readLine() ); | 45 | lines.append( stream.readLine() ); |
45 | } | 46 | } |
46 | file.close(); | 47 | file.close(); |
47 | } | 48 | } |
48 | 49 | ||
49 | lines = lines.grep( word ); | 50 | lines = lines.grep( word ); |
50 | 51 | ||
51 | QString top, bottom; | 52 | QString top, bottom; |
52 | 53 | ||
53 | parseInfo( lines, top , bottom ); | 54 | parseInfo( lines, top , bottom ); |
54 | browser_top->setText( top ); | 55 | browser_top->setText( top ); |
55 | browser_bottom->setText( bottom ); | 56 | browser_bottom->setText( bottom ); |
56 | } | 57 | } |
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" ); |
73 | } | 79 | } |
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 | |||
@@ -2,25 +2,26 @@ | |||
2 | * * | 2 | * * |
3 | * This program is free software; you can redistribute it and/or modify * | 3 | * This program is free software; you can redistribute it and/or modify * |
4 | * it under the terms of the GNU General Public License as published by * | 4 | * it under the terms of the GNU General Public License as published by * |
5 | * the Free Software Foundation; either version 2 of the License, or * | 5 | * the Free Software Foundation; either version 2 of the License, or * |
6 | * ( at your option ) any later version. * | 6 | * ( at your option ) any later version. * |
7 | * * | 7 | * * |
8 | **************************************************************************/ | 8 | **************************************************************************/ |
9 | 9 | ||
10 | #include <qwidget.h> | 10 | #include <qwidget.h> |
11 | 11 | ||
12 | class QString; | 12 | class QString; |
13 | class QTextBrowser; | 13 | class QTextBrowser; |
14 | class QString; | 14 | class QString; |
15 | class QStringList; | 15 | class QStringList; |
16 | 16 | ||
17 | class DingWidget : public QWidget | 17 | class DingWidget : public QWidget |
18 | { | 18 | { |
19 | Q_OBJECT | 19 | Q_OBJECT |
20 | 20 | ||
21 | public: | 21 | public: |
22 | DingWidget(QWidget *parent = 0, QString word = 0, QTextBrowser* = 0, QTextBrowser* =0); | 22 | DingWidget(QWidget *parent = 0, QString word = 0, QTextBrowser* = 0, QTextBrowser* =0); |
23 | 23 | ||
24 | private: | 24 | private: |
25 | void parseInfo( QStringList& , QString&, QString& ); | 25 | void parseInfo( QStringList& , QString&, QString& ); |
26 | QString queryword; | ||
26 | }; | 27 | }; |