summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp
index f012333..4be6e71 100644
--- a/noncore/apps/odict/dingwidget.cpp
+++ b/noncore/apps/odict/dingwidget.cpp
@@ -1,149 +1,148 @@
1/*************************************************************************** 1/***************************************************************************
2 application: : ODict 2 application: : ODict
3 3
4 begin : December 2002 4 begin : December 2002
5 copyright : ( C ) 2002, 2003 by Carsten Niehaus 5 copyright : ( C ) 2002, 2003 by Carsten Niehaus
6 email : cniehaus@handhelds.org 6 email : cniehaus@handhelds.org
7 **************************************************************************/ 7 **************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
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( ) 33DingWidget::DingWidget( )
34{ 34{
35 methodname = QString::null; 35 methodname = QString::null;
36 trenner = QString::null; 36 trenner = QString::null;
37 lines = 0L; 37 lines = 0L;
38} 38}
39 39
40void DingWidget::loadDict( QString name ) 40void DingWidget::loadDict( QString name )
41{ 41{
42 qDebug( "MUSS ich wirklich aufgerufen werder? schreit loadDict" ); 42 qDebug( "MUSS ich wirklich aufgerufen werder? schreit loadDict" );
43 qDebug( "Starte mit dem loadedDict(...)" ); 43 qDebug( "Starte mit dem loadedDict(...)" );
44 dictName = name; 44 dictName = name;
45 qDebug( "bin in loadedDict() und lade das Dict:" ); 45 qDebug( "bin in loadedDict() und lade das Dict:" );
46 qDebug( dictName ); 46 qDebug( dictName );
47 QString opie_dir = getenv("OPIEDIR"); 47 QString opie_dir = getenv("OPIEDIR");
48 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" ); 48 QFile file( opie_dir+"/noncore/apps/odict/eng_ita.dic" );
49 //FIXME:this should of course be not hardcoded ;) 49 //FIXME:this should of course be not hardcoded ;)
50 50
51 if( file.open( IO_ReadOnly ) ) 51 if( file.open( IO_ReadOnly ) )
52 { 52 {
53 QTextStream stream( &file ); 53 QTextStream stream( &file );
54 while ( !stream.eof() ) 54 while ( !stream.eof() )
55 { 55 {
56 lines.append( stream.readLine() ); 56 lines.append( stream.readLine() );
57 } 57 }
58 file.close(); 58 file.close();
59 } 59 }
60 qDebug( "loadedDict(...) ist beended" ); 60 qDebug( "loadedDict(...) ist beended" );
61 loadValues(); 61 loadValues();
62} 62}
63 63
64QString DingWidget::loadedDict() 64QString DingWidget::loadedDict()
65{ 65{
66 qDebug( dictName ); 66 qDebug( dictName );
67 qDebug( "^ ^ ^ ^ ^ ^ ^ war der dictName" ); 67 qDebug( "^ ^ ^ ^ ^ ^ ^ war der dictName" );
68 return dictName; 68 return dictName;
69} 69}
70 70
71void DingWidget::setCaseSensitive( bool caseS ) 71void DingWidget::setCaseSensitive( bool caseS )
72{ 72{
73 isCaseSensitive = caseS; 73 isCaseSensitive = caseS;
74} 74}
75 75
76void DingWidget::setDict( QString dict ) 76void DingWidget::setDict( QString dict )
77{ 77{
78 methodname = dict; 78 methodname = dict;
79} 79}
80 80
81void DingWidget::setCompleteWord( bool cword ) 81void DingWidget::setCompleteWord( bool cword )
82{ 82{
83 isCompleteWord = cword; 83 isCompleteWord = cword;
84} 84}
85 85
86void DingWidget::setQueryWord( QString qword ) 86void DingWidget::setQueryWord( QString qword )
87{ 87{
88 queryword = qword; 88 queryword = qword;
89} 89}
90 90
91 91
92void DingWidget::loadValues() 92void DingWidget::loadValues()
93{ 93{
94 Config cfg( "odict" ); 94 Config cfg( "odict" );
95 cfg.setGroup( "Method_" + methodname ); 95 cfg.setGroup( "Method_" + methodname );
96 trenner = cfg.readEntry( "Seperator" ); 96 trenner = cfg.readEntry( "Seperator" );
97} 97}
98 98
99BroswerContent DingWidget::setText( QString word ) 99BroswerContent DingWidget::setText( QString word )
100{ 100{
101 queryword = word; 101 queryword = word;
102 qDebug( queryword ); 102 qDebug( queryword );
103 qDebug( "^ ^ ^ ^ ^ ^ ^ war das gesuchte Word"); 103 qDebug( "^ ^ ^ ^ ^ ^ ^ war das gesuchte Word");
104 return parseInfo(); 104 return parseInfo();
105} 105}
106 106
107 107
108BroswerContent DingWidget::parseInfo() 108BroswerContent DingWidget::parseInfo()
109{ 109{
110 if ( isCompleteWord ) 110 if ( isCompleteWord )
111 queryword = " " + queryword + " "; 111 queryword = " " + queryword + " ";
112 QStringList search = lines.grep( queryword , isCaseSensitive ); 112 QStringList search = lines.grep( queryword , isCaseSensitive );
113 113
114 QString current; 114 QString current;
115 QString left; 115 QString left;
116 QString right; 116 QString right;
117 QRegExp reg_div( trenner ); 117 QRegExp reg_div( trenner );
118 QRegExp reg_word( queryword ); 118 QRegExp reg_word( queryword );
119 reg_word.setCaseSensitive( isCaseSensitive ); 119 reg_word.setCaseSensitive( isCaseSensitive );
120 QStringList toplist, bottomlist; 120 QStringList toplist, bottomlist;
121 //QString substitute = "<strong>"+queryword+"</strong>"; 121 QString substitute = "<strong>"+queryword+"</strong>";
122 QString substitute = queryword;
123 122
124 for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) 123 for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it )
125 { 124 {
126 current = *it; 125 current = *it;
127 left = current.left( current.find( trenner ) ); 126 left = current.left( current.find( trenner ) );
128 127
129 right = current.right( current.length() - current.find(trenner) - trenner.length() ); 128 right = current.right( current.length() - current.find(trenner) - trenner.length() );
130 129
131 if ( left.contains( queryword , isCaseSensitive ) ) 130 if ( left.contains( queryword , isCaseSensitive ) )
132 { 131 {
133 left.replace( queryword, substitute ); 132 left.replace( queryword, substitute );
134 left = left + " --> " + right; 133 left = left + " --> " + right;
135 toplist.append( left ); 134 toplist.append( left );
136 } 135 }
137 else 136 else
138 { 137 {
139 right.replace( queryword, substitute ); 138 right.replace( queryword, substitute );
140 right = right + " --> " + left; 139 right = right + " --> " + left;
141 bottomlist.append( right ); 140 bottomlist.append( right );
142 } 141 }
143 } 142 }
144 143
145 s_strings.top = toplist.join( "\n" ); 144 s_strings.top = toplist.join( "<br>" );
146 s_strings.bottom = bottomlist.join( "\n" ); 145 s_strings.bottom = bottomlist.join( "<br>" );
147 146
148 return s_strings; 147 return s_strings;
149} 148}