summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2003-01-03 21:25:57 (UTC)
committer cniehaus <cniehaus>2003-01-03 21:25:57 (UTC)
commit28e6b0b935b82d029288b8a7eb749e5cf5a3652e (patch) (unidiff)
tree8372b6b39fe14e6bae34e498e34cbaf324ed548c
parent5d06922249e5d124815c9f73280523a419b39a50 (diff)
downloadopie-28e6b0b935b82d029288b8a7eb749e5cf5a3652e.zip
opie-28e6b0b935b82d029288b8a7eb749e5cf5a3652e.tar.gz
opie-28e6b0b935b82d029288b8a7eb749e5cf5a3652e.tar.bz2
works nowworks now
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
@@ -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
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;
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
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" );
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
12class QString; 12class QString;
13class QTextBrowser; 13class QTextBrowser;
14class QString; 14class QString;
15class QStringList; 15class QStringList;
16 16
17class DingWidget : public QWidget 17class 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};