-rw-r--r-- | noncore/apps/odict/dingwidget.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp index 16164ed..f012333 100644 --- a/noncore/apps/odict/dingwidget.cpp +++ b/noncore/apps/odict/dingwidget.cpp | |||
@@ -25,124 +25,125 @@ | |||
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( ) | 33 | DingWidget::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 | ||
40 | void DingWidget::loadDict( QString name ) | 40 | void 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 | ||
64 | QString DingWidget::loadedDict() | 64 | QString 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 | ||
71 | void DingWidget::setCaseSensitive( bool caseS ) | 71 | void DingWidget::setCaseSensitive( bool caseS ) |
72 | { | 72 | { |
73 | isCaseSensitive = caseS; | 73 | isCaseSensitive = caseS; |
74 | } | 74 | } |
75 | 75 | ||
76 | void DingWidget::setDict( QString dict ) | 76 | void DingWidget::setDict( QString dict ) |
77 | { | 77 | { |
78 | methodname = dict; | 78 | methodname = dict; |
79 | } | 79 | } |
80 | 80 | ||
81 | void DingWidget::setCompleteWord( bool cword ) | 81 | void DingWidget::setCompleteWord( bool cword ) |
82 | { | 82 | { |
83 | isCompleteWord = cword; | 83 | isCompleteWord = cword; |
84 | } | 84 | } |
85 | 85 | ||
86 | void DingWidget::setQueryWord( QString qword ) | 86 | void DingWidget::setQueryWord( QString qword ) |
87 | { | 87 | { |
88 | queryword = qword; | 88 | queryword = qword; |
89 | } | 89 | } |
90 | 90 | ||
91 | 91 | ||
92 | void DingWidget::loadValues() | 92 | void 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 | ||
99 | BroswerContent DingWidget::setText( QString word ) | 99 | BroswerContent 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 | ||
108 | BroswerContent DingWidget::parseInfo() | 108 | BroswerContent 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; | ||
122 | 123 | ||
123 | for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) | 124 | for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) |
124 | { | 125 | { |
125 | current = *it; | 126 | current = *it; |
126 | left = current.left( current.find( trenner ) ); | 127 | left = current.left( current.find( trenner ) ); |
127 | 128 | ||
128 | right = current.right( current.length() - current.find(trenner) - trenner.length() ); | 129 | right = current.right( current.length() - current.find(trenner) - trenner.length() ); |
129 | 130 | ||
130 | if ( left.contains( queryword , isCaseSensitive ) ) | 131 | if ( left.contains( queryword , isCaseSensitive ) ) |
131 | { | 132 | { |
132 | left.replace( queryword, substitute ); | 133 | left.replace( queryword, substitute ); |
133 | left = left + " -- " + right; | 134 | left = left + " --> " + right; |
134 | toplist.append( left ); | 135 | toplist.append( left ); |
135 | } | 136 | } |
136 | else | 137 | else |
137 | { | 138 | { |
138 | right.replace( queryword, substitute ); | 139 | right.replace( queryword, substitute ); |
139 | left = right + " -- " + left; | 140 | right = right + " --> " + left; |
140 | bottomlist.append( right ); | 141 | bottomlist.append( right ); |
141 | } | 142 | } |
142 | } | 143 | } |
143 | 144 | ||
144 | s_strings.top = toplist.join( "\n" ); | 145 | s_strings.top = toplist.join( "\n" ); |
145 | s_strings.bottom = bottomlist.join( "\n" ); | 146 | s_strings.bottom = bottomlist.join( "\n" ); |
146 | 147 | ||
147 | return s_strings; | 148 | return s_strings; |
148 | } | 149 | } |