summaryrefslogtreecommitdiff
path: root/noncore/apps/odict
authorcniehaus <cniehaus>2003-05-10 20:18:16 (UTC)
committer cniehaus <cniehaus>2003-05-10 20:18:16 (UTC)
commit1bff948326aa752c3f4aceac4083717f8c2066e8 (patch) (unidiff)
treea4b4eb9dd70f363f960a5be7ae94c6e52951dcfc /noncore/apps/odict
parentb7d34545193f39c146ab56b1127863279a3121ce (diff)
downloadopie-1bff948326aa752c3f4aceac4083717f8c2066e8.zip
opie-1bff948326aa752c3f4aceac4083717f8c2066e8.tar.gz
opie-1bff948326aa752c3f4aceac4083717f8c2066e8.tar.bz2
bugfixes, bugfixes...
Diffstat (limited to 'noncore/apps/odict') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/odict/dingwidget.cpp30
-rw-r--r--noncore/apps/odict/odict.cpp37
2 files changed, 15 insertions, 52 deletions
diff --git a/noncore/apps/odict/dingwidget.cpp b/noncore/apps/odict/dingwidget.cpp
index ed67abf..55a716d 100644
--- a/noncore/apps/odict/dingwidget.cpp
+++ b/noncore/apps/odict/dingwidget.cpp
@@ -29,34 +29,30 @@ DingWidget::DingWidget( )
29 trenner = QString::null; 29 trenner = QString::null;
30 lines = 0L; 30 lines = 0L;
31} 31}
32 32
33void DingWidget::loadDict( QString name ) 33void DingWidget::loadDict( QString name )
34{ 34{
35 qDebug( "bin in DingWidget::loadDict(). name ist:" ); 35 lines.clear(); //as we will load a new list we have to
36 qDebug( name ); 36 //remove the old one
37 qDebug( "DingWidget::loadDict( ... )" );
37 38
38 dictName = name;
39 Config cfg( "odict" ); 39 Config cfg( "odict" );
40 if ( !methodname ) { return; } 40 cfg.setGroup( "Method_" + name );
41 cfg.setGroup( "Method_" + methodname );
42 QFile file( cfg.readEntry( "file" ) ); 41 QFile file( cfg.readEntry( "file" ) );
43 42
44 qDebug( cfg.readEntry( "file" ) );
45
46 if( file.open( IO_ReadOnly ) ) 43 if( file.open( IO_ReadOnly ) )
47 { 44 {
48 QTextStream stream( &file ); 45 QTextStream stream( &file );
49 while ( !stream.eof() ) 46 while ( !stream.eof() )
50 { 47 {
51 lines.append( stream.readLine() ); 48 lines.append( stream.readLine() );
52 } 49 }
53 file.close(); 50 file.close();
54 } 51 }
55 loadValues(); 52 loadValues();
56
57} 53}
58 54
59QString DingWidget::loadedDict() const 55QString DingWidget::loadedDict() const
60{ 56{
61 return dictName; 57 return dictName;
62} 58}
@@ -68,17 +64,12 @@ void DingWidget::setCaseSensitive( bool caseS )
68 64
69void DingWidget::setDict( QString dict ) 65void DingWidget::setDict( QString dict )
70{ 66{
71 methodname = dict; 67 methodname = dict;
72} 68}
73 69
74void DingWidget::setCompleteWord( bool cword )
75{
76 isCompleteWord = cword;
77}
78
79void DingWidget::setQueryWord( QString qword ) 70void DingWidget::setQueryWord( QString qword )
80{ 71{
81 queryword = qword; 72 queryword = qword;
82} 73}
83 74
84 75
@@ -98,21 +89,17 @@ BroswerContent DingWidget::setText( QString word )
98 return parseInfo(); 89 return parseInfo();
99} 90}
100 91
101 92
102BroswerContent DingWidget::parseInfo() 93BroswerContent DingWidget::parseInfo()
103{ 94{
104 qDebug( "bin in DingWidget::parseInfo()" );
105
106 if ( isCompleteWord )
107 queryword = " " + queryword + " ";
108 QStringList search = lines.grep( queryword , isCaseSensitive ); 95 QStringList search = lines.grep( queryword , isCaseSensitive );
109 96
110 QString current; 97 QString current;
111 QString left; 98 QString left;
112 QString right; 99 QString right;
113 QRegExp reg_div( trenner ); 100 QRegExp reg_div( trenner );
114 QRegExp reg_word( queryword ); 101 QRegExp reg_word( queryword );
115 reg_word.setCaseSensitive( isCaseSensitive ); 102 reg_word.setCaseSensitive( isCaseSensitive );
116 QStringList toplist, bottomlist; 103 QStringList toplist, bottomlist;
117 QString substitute = "<strong>"+queryword+"</strong>"; 104 QString substitute = "<strong>"+queryword+"</strong>";
118 105
@@ -136,9 +123,10 @@ BroswerContent DingWidget::parseInfo()
136 bottomlist.append( right ); 123 bottomlist.append( right );
137 } 124 }
138 } 125 }
139 126
140 s_strings.top = toplist.join( "<br>" ); 127 s_strings.top = toplist.join( "<br>" );
141 s_strings.bottom = bottomlist.join( "<br>" ); 128 s_strings.bottom = bottomlist.join( "<br>" );
142 129
143 return s_strings; 130 return s_strings;
144} 131}
132
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp
index 0745f53..c1de6ac 100644
--- a/noncore/apps/odict/odict.cpp
+++ b/noncore/apps/odict/odict.cpp
@@ -19,26 +19,25 @@
19#include "dingwidget.h" 19#include "dingwidget.h"
20 20
21#include <qlayout.h> 21#include <qlayout.h>
22#include <qpopupmenu.h> 22#include <qpopupmenu.h>
23#include <qmenubar.h> 23#include <qmenubar.h>
24#include <qmessagebox.h> 24#include <qmessagebox.h>
25#include <qpe/config.h>
26#include <qhbox.h> 25#include <qhbox.h>
27#include <qvbox.h> 26#include <qvbox.h>
28#include <qlabel.h> 27#include <qlabel.h>
29#include <qpushbutton.h> 28#include <qpushbutton.h>
30#include <qlineedit.h> 29#include <qlineedit.h>
31#include <qmainwindow.h> 30#include <qmainwindow.h>
32#include <qstring.h> 31#include <qstring.h>
33#include <qaction.h> 32#include <qaction.h>
34#include <qtextbrowser.h> 33#include <qtextbrowser.h>
35#include <qcombobox.h> 34#include <qcombobox.h>
36 35
37#include <qpe/resource.h> 36#include <qpe/resource.h>
38 37#include <qpe/config.h>
39 38
40ODict::ODict() : QMainWindow() 39ODict::ODict() : QMainWindow()
41{ 40{
42 activated_name = QString::null; 41 activated_name = QString::null;
43 42
44 vbox = new QVBox( this ); 43 vbox = new QVBox( this );
@@ -60,13 +59,13 @@ ODict::ODict() : QMainWindow()
60 bottom_name = new QLabel( vbox ); 59 bottom_name = new QLabel( vbox );
61 bottom_name->setAlignment( AlignHCenter ); 60 bottom_name->setAlignment( AlignHCenter );
62 browser_bottom = new QTextBrowser( vbox ); 61 browser_bottom = new QTextBrowser( vbox );
63 62
64 ding = new DingWidget(); 63 ding = new DingWidget();
65 ding->loadValues(); 64 ding->loadValues();
66 65
67 loadConfig(); 66 loadConfig();
68 setCentralWidget( vbox ); 67 setCentralWidget( vbox );
69} 68}
70 69
71void ODict::loadConfig() 70void ODict::loadConfig()
72{ 71{
@@ -76,13 +75,12 @@ void ODict::loadConfig()
76 QString lastname; 75 QString lastname;
77 76
78 Config cfg ( "odict" ); 77 Config cfg ( "odict" );
79 cfg.setGroup( "generalsettings" ); 78 cfg.setGroup( "generalsettings" );
80 casesens = cfg.readEntry( "casesens" ).toInt(); 79 casesens = cfg.readEntry( "casesens" ).toInt();
81 regexp = cfg.readEntry( "regexp" ).toInt(); 80 regexp = cfg.readEntry( "regexp" ).toInt();
82 completewords = cfg.readEntry( "completewords" ).toInt();
83 81
84 QString lastDict = cfg.readEntry( "lastdict" ); 82 QString lastDict = cfg.readEntry( "lastdict" );
85 int i = 0, e = 0; 83 int i = 0, e = 0;
86 84
87 QStringList groupListCfg = cfg.groupList().grep( "Method_" ); 85 QStringList groupListCfg = cfg.groupList().grep( "Method_" );
88 query_co->clear(); 86 query_co->clear();
@@ -106,12 +104,13 @@ void ODict::loadConfig()
106 } 104 }
107 /* 105 /*
108 * now set the two names of the dictionary and the correct QComboBox-Entry 106 * now set the two names of the dictionary and the correct QComboBox-Entry
109 */ 107 */
110 108
111 lookupLanguageNames( lastname ); 109 lookupLanguageNames( lastname );
110 ding->loadDict( lastname );
112 111
113 query_co->setCurrentItem( e ); 112 query_co->setCurrentItem( e );
114 top_name->setText( top_name_content ); 113 top_name->setText( top_name_content );
115 bottom_name->setText( bottom_name_content ); 114 bottom_name->setText( bottom_name_content );
116} 115}
117 116
@@ -126,33 +125,30 @@ void ODict::lookupLanguageNames( QString dictname )
126void ODict::saveConfig() 125void ODict::saveConfig()
127{ 126{
128 Config cfg ( "odict" ); 127 Config cfg ( "odict" );
129 cfg.setGroup( "generalsettings" ); 128 cfg.setGroup( "generalsettings" );
130 cfg.writeEntry( "casesens" , casesens ); 129 cfg.writeEntry( "casesens" , casesens );
131 cfg.writeEntry( "regexp" , regexp ); 130 cfg.writeEntry( "regexp" , regexp );
132 cfg.writeEntry( "completewords" , completewords );
133 cfg.writeEntry( "lastdict" , query_co->currentText() ); 131 cfg.writeEntry( "lastdict" , query_co->currentText() );
134} 132}
135 133
136void ODict::slotStartQuery() 134void ODict::slotStartQuery()
137{ 135{
138 qDebug( "bin in slotStartQuery()" );
139
140 QString querystring = query_le->text(); 136 QString querystring = query_le->text();
141 if ( !querystring.isEmpty() ) 137 if ( !querystring.isEmpty() )
142 { 138 {
143 /* 139 /*
144 * if the user has not yet defined a dictionary 140 * if the user has not yet defined a dictionary
145 */ 141 */
146 if ( !query_co->currentText() ) 142 if ( !query_co->currentText() )
147 { 143 {
148 switch ( QMessageBox::information( this, tr( "OPIE-Dictionary" ), 144 switch ( QMessageBox::information( this, tr( "OPIE-Dictionary" ),
149 tr( "No dictionary defined" ), 145 tr( "No dictionary defined" ),
150 tr( "&Define one" ), 146 tr( "&Define one" ),
151 tr( "&Cancel" ), 147 tr( "&Cancel" ),
152 0, // Define a dict choosen 148 0, // Define a dict
153 1 ) ) // Cancel choosen 149 1 ) ) // Cancel choosen
154 { 150 {
155 case 0: 151 case 0:
156 slotSettings(); 152 slotSettings();
157 break; 153 break;
158 case 1: // stop here 154 case 1: // stop here
@@ -161,29 +157,15 @@ void ODict::slotStartQuery()
161 } 157 }
162 158
163 /* 159 /*
164 * ok, the user has defined a dict 160 * ok, the user has defined a dict
165 */ 161 */
166 ding->setCaseSensitive( casesens ); 162 ding->setCaseSensitive( casesens );
167 ding->setCompleteWord( completewords );
168
169 qDebug( "activated_name ist:" );
170 qDebug( activated_name );
171
172 ding->setDict( activated_name );
173
174 //X if ( activated_name != ding->loadedDict() )
175 ding->loadDict(activated_name);
176 163
177 BroswerContent test = ding->setText( querystring ); 164 BroswerContent test = ding->setText( querystring );
178 165
179 qDebug( querystring );
180 if ( ding->isCaseSensitive )
181 qDebug( "ist CS");
182 else qDebug( "kein CS" );
183
184 browser_top->setText( test.top ); 166 browser_top->setText( test.top );
185 browser_bottom->setText( test.bottom ); 167 browser_bottom->setText( test.bottom );
186 } 168 }
187} 169}
188 170
189void ODict::slotSettings() 171void ODict::slotSettings()
@@ -202,19 +184,12 @@ void ODict::slotSetParameter( int count )
202 else 184 else
203 casesens = true; 185 casesens = true;
204 } 186 }
205 187
206 if ( count == 1 ) 188 if ( count == 1 )
207 { 189 {
208 if ( completewords )
209 completewords = false;
210 else
211 completewords = true;
212 }
213 if ( count == 2 )
214 {
215 if ( regexp ) 190 if ( regexp )
216 regexp = false; 191 regexp = false;
217 else 192 else
218 regexp = true; 193 regexp = true;
219 } 194 }
220 saveConfig(); 195 saveConfig();
@@ -223,14 +198,15 @@ void ODict::slotSetParameter( int count )
223void ODict::slotMethodChanged( const QString& methodnumber ) 198void ODict::slotMethodChanged( const QString& methodnumber )
224{ 199{
225 activated_name = methodnumber; 200 activated_name = methodnumber;
226 201
227 qDebug( "activated_name in slotMethodChanged() ist:" ); 202 qDebug( "activated_name in slotMethodChanged() ist:" );
228 qDebug( activated_name ); 203 qDebug( activated_name );
204 qDebug( ding->loadedDict() );
229 205
230 //X if ( activated_name != ding->loadedDict() ) 206 if ( activated_name != ding->loadedDict() )
231 { 207 {
232 ding->loadDict(activated_name); 208 ding->loadDict(activated_name);
233 209
234 lookupLanguageNames( activated_name ); 210 lookupLanguageNames( activated_name );
235 top_name->setText( top_name_content ); 211 top_name->setText( top_name_content );
236 bottom_name->setText( bottom_name_content ); 212 bottom_name->setText( bottom_name_content );
@@ -247,13 +223,12 @@ void ODict::setupMenus()
247 setting_a->addTo( settings ); 223 setting_a->addTo( settings );
248 setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "edit" ), QString::null, 0, this, 0 ); 224 setting_b = new QAction(tr( "Searchmethods" ), Resource::loadPixmap( "edit" ), QString::null, 0, this, 0 );
249 225
250 parameter = new QPopupMenu( menu ); 226 parameter = new QPopupMenu( menu );
251 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); 227 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) );
252 parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 ); 228 parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 );
253 parameter->insertItem( tr( "Only &complete Words" ), 1 , 1) ;
254 parameter->insertItem( tr( "Allow &reg. expressions" ), 2 ); 229 parameter->insertItem( tr( "Allow &reg. expressions" ), 2 );
255 parameter->insertSeparator(); 230 parameter->insertSeparator();
256 231
257 menu->insertItem( tr( "Settings" ) , settings ); 232 menu->insertItem( tr( "Settings" ) , settings );
258 menu->insertItem( tr( "Parameter" ) , parameter ); 233 menu->insertItem( tr( "Parameter" ) , parameter );
259} 234}