summaryrefslogtreecommitdiff
Unidiff
Diffstat (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
@@ -27,38 +27,34 @@ DingWidget::DingWidget( )
27{ 27{
28 methodname = QString::null; 28 methodname = QString::null;
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}
63 59
64void DingWidget::setCaseSensitive( bool caseS ) 60void DingWidget::setCaseSensitive( bool caseS )
@@ -66,21 +62,16 @@ void DingWidget::setCaseSensitive( bool caseS )
66 isCaseSensitive = caseS; 62 isCaseSensitive = caseS;
67} 63}
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
85void DingWidget::loadValues() 76void DingWidget::loadValues()
86{ 77{
@@ -96,25 +87,21 @@ BroswerContent DingWidget::setText( QString word )
96{ 87{
97 queryword = word; 88 queryword = 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
119 for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it ) 106 for( QStringList::Iterator it = search.begin() ; it != search.end() ; ++it )
120 { 107 {
@@ -134,11 +121,12 @@ BroswerContent DingWidget::parseInfo()
134 right.replace( queryword, substitute ); 121 right.replace( queryword, substitute );
135 right = right + " --> " + left; 122 right = right + " --> " + left;
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
@@ -17,30 +17,29 @@
17#include "odict.h" 17#include "odict.h"
18#include "configdlg.h" 18#include "configdlg.h"
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 );
45 setCaption( tr( "OPIE-Dictionary" ) ); 44 setCaption( tr( "OPIE-Dictionary" ) );
46 setupMenus(); 45 setupMenus();
@@ -58,33 +57,32 @@ ODict::ODict() : QMainWindow()
58 top_name->setAlignment( AlignHCenter ); 57 top_name->setAlignment( AlignHCenter );
59 browser_top = new QTextBrowser( vbox ); 58 browser_top = new QTextBrowser( vbox );
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{
73 /* 72 /*
74 * the name of the last used dictionary 73 * the name of the last used dictionary
75 */ 74 */
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();
89 for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) 87 for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it )
90 { 88 {
@@ -104,16 +102,17 @@ void ODict::loadConfig()
104 } 102 }
105 i++; 103 i++;
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
118void ODict::lookupLanguageNames( QString dictname ) 117void ODict::lookupLanguageNames( QString dictname )
119{ 118{
@@ -124,68 +123,51 @@ void ODict::lookupLanguageNames( QString dictname )
124} 123}
125 124
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
159 return; 155 return;
160 } 156 }
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()
190{ 172{
191 ConfigDlg dlg( this, "Config" , true); 173 ConfigDlg dlg( this, "Config" , true);
@@ -200,39 +182,33 @@ void ODict::slotSetParameter( int count )
200 if ( casesens ) 182 if ( casesens )
201 casesens = false; 183 casesens = false;
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();
221} 196}
222 197
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 );
237 } 213 }
238} 214}
@@ -245,15 +221,14 @@ void ODict::setupMenus()
245 setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); 221 setting_a = new QAction(tr( "Configuration" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 );
246 connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); 222 connect( setting_a, SIGNAL( activated() ), this, SLOT( slotSettings() ) );
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}